Resource Hacker ™ là trình chỉnh sửa tài nguyên dành cho các ứng dụng Windows® 32 bit và 64 bit. Nó vừa là trình biên dịch tài nguyên (cho các tệp *. Rc), vừa là trình dịch ngược – cho phép xem và chỉnh sửa tài nguyên trong các tệp thực thi (*. Exe; *. Dll; *. Scr; v. V) và các thư viện tài nguyên đã biên dịch (*. Res, *. Mui). Mặc dù Resource Hacker chủ yếu là một ứng dụng giao diện đồ họa người dùng (GUI), nó cũng cung cấp nhiều tùy chọn để biên dịch và dịch ngược tài nguyên từ dòng lệnh.
Quá trình biên dịch có thể được bắt đầu bằng cách mở một tệp kịch bản tài nguyên hiện có hoặc bằng cách tạo một tệp mới từ đầu bằng trình soạn thảo của Resource Hacker.
Danh sách đầy đủ các Câu lệnh Định nghĩa Tài nguyên có thể được tìm thấy
tại đây
Các tính năng bổ sung của trình biên dịch Resource Hacker bao gồm: Chỉ thị #INCLUDE (để truy cập các câu lệnh định nghĩa trong các tệp tiêu đề, v. V) có thể được lồng vào nhiều cấp độ, cũng như các chỉ thị #IF và #IFDEF. Các chỉ thị #DEFINE, #UNDEF, #IF, #ELIF, #ELSE, #IFDEF, #IFNDEF, #INCLUDE và #PRAGMA đều được hỗ trợ. Chuỗi ký tự, nằm giữa các ký tự dấu ngoặc kép (" "), có thể chứa các ký tự 'thoát' kiểu 'C' thông thường - \t, \n, \\, \", \x, \u và \377 (bát phân). Dấu ngoặc kép bên trong một chuỗi phải được 'thoát' bằng cách sử dụng dấu gạch chéo ngược đứng trước hoặc bằng một dấu ngoặc kép khác. Các chú thích trong tập lệnh được bắt đầu bằng dấu gạch chéo kép (//) hoặc dấu chấm phẩy (;). Tên tệp có đường dẫn tương đối được cho phép. Tên tệp chứa dấu cách phải được đặt trong dấu ngoặc kép.
Thông báo lỗi của trình biên dịch sẽ được báo cáo, ngay cả các lỗi lồng nhau trong câu lệnh INCLUDE..
Tài nguyên xem và chỉnh sửa
Sau khi tệp tài nguyên được mở, các tài nguyên của nó thường sẽ được hiển thị dưới dạng hình ảnh (hoặc nhóm hình ảnh) hoặc văn bản đã được dịch ngược. Tài nguyên nhị phân, thường là hình ảnh, không thể chỉnh sửa trực tiếp bằng Resource Hacker, nhưng chúng vẫn có thể được xuất và nhập rất dễ dàng sau khi đã được chỉnh sửa bằng trình chỉnh sửa hình ảnh bên ngoài. (Tôi không thấy lợi ích gì khi sao chép những gì mà các trình chỉnh sửa hình ảnh của bên thứ ba đã làm rất tốt)
Các loại tài nguyên Menu và Hộp thoại có trình thiết kế WYSIWYG riêng:
Tài nguyên nhị phân có định dạng không xác định sẽ được hiển thị dưới dạng văn bản nhị phân chỉ đọc. (Bất kỳ tài nguyên nào cũng có thể được xem theo cách này nếu muốn)
Các hành động khác
Cú pháp dòng lệnh
Hầu hết mọi chức năng của Resource Hacker đều có thể truy cập được từ dòng lệnh mà không cần phải mở giao diện người dùng đồ họa (GUI) của Resource Hacker.
Các lệnh dòng lệnh và các tập lệnh Resource Hacker có thể loại bỏ sự nhàm chán khi phải lặp đi lặp lại các tác vụ Resource Hacker.
Các lệnh dòng lệnh là sự kết hợp của các câu lệnh switch theo sau là các tham số switch như được giải thích trong bảng sau:
Câu lệnh dòng lệnh:
| Công tắc | Tham số |
|---|
| -mở | filename - tên của tập tin cần được chỉnh sửa. Đó phải là tập tin Windows PE (*. Exe, *. Dll, v. V) hoặc tập tin tài nguyên đã biên dịch hoặc chưa biên dịch (*. Res hoặc *. Rc) |
| -cứu | Thông thường, đó là tên tệp cho tệp mới hoặc tệp đã được sửa đổi, nhưng cũng có thể là thư mục khi giải nén nhiều tài nguyên. |
| - tài nguyên | filename - chứa thông tin về tài nguyên được thêm vào tệp đang mở. |
| -hoạt động | hành động cần thực hiện trên tệp đã mở
add - thêm một tài nguyên, nhưng sẽ thất bại nếu tài nguyên đó đã tồn tại.
addoverwrite - thêm một tài nguyên và ghi đè lên nếu nó đã tồn tại.
addskip - thêm tài nguyên, nhưng bỏ qua nếu nó đã tồn tại
compile - biên dịch tệp kịch bản tài nguyên (*. Rc) thành tệp tài nguyên nhị phân (*. Res)
xóa - xóa một tài nguyên
trích xuất - trích xuất một nguồn tài nguyên
sửa đổi - sửa đổi một tài nguyên
changelanguage (langID) - thay đổi ngôn ngữ của TẤT CẢ các tài nguyên |
| -mặt nạ | Mặt nạ tài nguyên - Type, Name, Language
(dấu phẩy là bắt buộc nhưng Type, Name và Language đều là tùy chọn) |
| -log | Tên tệp hoặc CONSOLE hoặc NUL.
CONSOLE có thể được viết tắt thành CON
Nhật ký ghi lại chi tiết của thao tác đã thực hiện.
Nếu bỏ qua tùy chọn này, nhật ký sẽ được ghi vào resourcehacker. Log. |
| -kịch bản | Tên tệp - chứa một tập lệnh đa lệnh, KHÔNG phải là tập lệnh tài nguyên. Để biết thêm thông tin: -tập lệnh trợ giúp |
| -giúp đỡ | Tùy chọn - dòng lệnh hoặc tập lệnh (luôn được ghi vào CONSOLE), các tùy chọn khác sẽ bị bỏ qua. |
Ghi chú:
Các định danh của công tắc (ngoại trừ -script) có thể được viết tắt thành một ký tự duy nhất (ví dụ: -res hoặc -r).
Các lệnh chuyển đổi không cần phải theo một thứ tự cụ thể nào.
Tên tệp có chứa dấu cách phải được đặt trong dấu ngoặc kép.
Ví dụ về tập lệnh batch
(sử dụng rh. Exe thay vì ResourceHacker. Exe ở một số chỗ để ngắn gọn hơn)
Mã:
: reshack_help.bat:
ResourceHacker.exe -help
@pause :: để xem đầu ra của bảng điều khiển trước khi cửa sổ CMD đóng lại.
reshack_compile_res_script.bat:
rh.exe -open .\in\resources.rc -save .\out\resources.res -action compile -log NUL
reshack_add_icon_to_old.bat:
rh.exe -open old.exe -save new.exe -action addskip -res my.ico -mask ICONGROUP,MAINICON,
reshack_extract_all_source_icons_to_icons_folder.bat:
rh.exe -open source.exe -save .\icons -action extract -mask ICONGROUP,, -log CON
@tạm dừng
reshack_extract_all_dialogs.bat:
rh.exe -open source.exe -save .\dialogs.rc -action extract -mask DIALOG,, -log rh.log
reshack_execute_my_script.bat:
ResourceHacker.exe -script myscript.txt
Các tập lệnh Resource Hacker:
Các tập lệnh Resource Hacker được thực thi từ dòng lệnh bằng cú pháp sau:
Mã:
ResourceHacker.exe -script ScriptFile
Các tập lệnh Resource Hacker là các tập tin văn bản có định dạng sau:
// Các bình luận được bắt đầu bằng dấu gạch chéo kép
[TÊN TỆP TIN]
Mở=
Lưu=
Nhật ký=
[LỆNH]
//một hoặc nhiều lệnh sau...
Mã:
- Thêm SourceFile, ResourceMask
-addskip SourceFile, ResourceMask
-addoverwrite SourceFile, ResourceMask
-addoverwrite SourceFile, ResourceMask
-Sửa đổi SourceFile, ResourceMask
-Trích xuất TargetFile hoặc TargetFolder, ResourceMask
-xóa ResourceMask
-changelanguage(langID)
Lưu ý: Tên tệp có chứa dấu cách phải được đặt trong dấu ngoặc kép.
Ví dụ về tập lệnh Resource Hacker:
rh_script_myprog_rus.txt -
Mã:
//Tập lệnh này xóa tất cả Ngôn ngữ Trung lập (0)
//Các mục tài nguyên bảng chuỗi, menu và hộp thoại
//trong MyProg.exe trước khi thay thế chúng
//với các mục tiếng Nga (1049)...
[TÊN TỆP TIN]
Exe= MyProg.exe
Lưu dưới dạng = MyProg_Rus.exe
Nhật ký = MyProg_Rus.log
[LỆNH]
-xóa MENU,,0
-xóa hộp thoại,,0
-xóa STRINGTABLE,,0
-add MyProg_Rus.res, MENU,,1049
-add MyProg_Rus.res, DIALOG,,1049
-add MyProg_Rus.res, STRINGTABLE,,1049
rh_script_myprog_upd_images.txt -
Mã:
// Đoạn mã này cập nhật 2 bitmap và một
//biểu tượng trong MyProg.exe ...
[TÊN TỆP TIN]
Exe= MyProg.exe
Lưu dưới dạng = MyProg_Updated.exe
[LỆNH]
-addoverwrite Bitmap128.bmp, BITMAP,128,
-addoverwrite Bitmap129.bmp, BITMAP,129,0
-addoverwrite MainIcon.ico, ICONGROUP,MAINICON,0
rh_script_myprog_upd_all.txt -
Mã:
// Tập lệnh này thay thế tất cả các tài nguyên
//trong MyProg.exe với tất cả các tài nguyên
//trong MyProgNew.res
[TÊN TỆP TIN]
Exe= MyProg.exe
Lưu dưới dạng = MyProg_Updated.exe
[LỆNH]
-xóa ,,, //xóa tất cả tài nguyên trước khi...
-add MyProgNew.res ,,, //thêm tất cả các tài nguyên mới