Patch file thực thi bằng bbe và sed

bbe là trình soạn thảo nhỏ gọn tương tự sed nhưng dành cho file nhị phân trong khi sed dùng cho file text. sed có sẳn trong OS Linux còn bbe phải cài đặt:

apt install bbe

Tham khảo cú pháp bbe qua dòng lệnh

man bbe

Thí dụ script dùng bbe sửa code để ứng dụng Sublime text v4 bỏ qua việc kiểm tra bản quyền, mã hóa qua QR code, dùng zbarimg để đọc (bài trước) hoặc dùng QR Scanner (Ipad OS)

Đoạn kiểm tra license

0:  41 57                   push   r15
2:  41 56                   push   r14
4:  56                      push   rsi
5:  57                      push   rdi
6:  55                      push   rbp
7:  53                      push   rbx
8:  b8 28 21 00 00          mov    eax,0x2128

được cho kết thúc sớm với mã thành công

0:  33 c0                   xor    eax,eax
2:  fe c0                   inc    al
4:  c3                      ret
5:  57                      push   rdi
6:  55                      push   rbp
7:  53                      push   rbx
8:  b8 28 21 00 00          mov    eax,0x2128
  1. Dùng bbe để sửa file exe
f1=$(echo 4157415656575553B828210000 | sed -E 's/.{2}/\\x&/g')
r1=$(echo 33C0FEC0C3575553B828210000 | sed -E 's/.{2}/\\x&/g')

bbe -e "s/$f1/$r1/" -o "$outfile" "$infile"

Ngoài ra, đổi license.sublimehq.com thành localhost để khỏi sửa file hosts

f2=license.sublimehq.com
r2=freelicense.localhost
bbe -e "s/$f2/$r2/" -o "$outfile" "$infile"

Viết gọn trên một dòng

bbe -e "s/$f1/$r1/" -e "s/$f2/$r2/" -o "$outfile" "$infile"

2. Dùng sed để sửa file exe

sed -e "s/$f1/$r1/" "$infile" > "$outfile"

Mẫu tìm kiếm cho sed là một chuỗi hex nên hy vọng sed sẽ làm việc đúng nếu trong chuỗi không có ký tự hex 0A (xuống dòng) vì sed làm việc theo dòng, nếu có thì phải dùng cú pháp phức tạp hơn.

Câu lệnh đầy đủ là

sed -e "s/$f1/$r1/" -e "s/$f2/$r2/" "$infile" > "$outfile"

Chú thích

Có thể dùng Sublime text để sửa sublime_text.exe nhờ plugin hexview, nhưng trong trường hợp này sublime text chậm hơn nhiều so với soạn thảo bằng https://www.hexed.it

Comments Off on Patch file thực thi bằng bbe và sed

Filed under Software

Comments are closed.