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
- 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