Dịch ngược AutoIt
Một người bạn ở REAOnline vừa chỉ cho tôi cách dịch ngược tất cả các loại virus viết bằng AutoIt. Tôi đã thử và thành công với tất cả mẫu virus viết bằng AutoIt mà tôi có. Qui trình như sau:
1. Sử dụng file, objdump và strings trên Linux (hoặc PeID nếu bạn sử dụng Windows) để xác định xem virus được pack bằng packer nào. Tất cả AutoIt virus mà tôi gặp phải đều sử dụng UPX.
2. Unpack con virus, nhớ sao lưu lại nguyên bản.
3. Load con virus đã unpack vào OllyDBG.
4. Right click --> Search for --> All referenced text strings.
5. Right click --> Search for text --> gõ vào >autoit script<, bỏ chọn Case sensitive, chọn Entire scope rồi Enter và double click vào dòng có hàng chữ ASCII ">AUTOIT SCRIPT<".
6. Nhìn vào cửa sổ CPU của OllyDBG, bạn sẽ thấy những dòng sau đây:
PUSH game-enc.0045222C ; |Arg1 = 0045222C ASCII ">AUTOIT SCRIPT<" LEA EAX,DWORD PTR SS:[EBP-18] ; | CALL game-enc.0043F025 ; \game-enc.0043F025 TEST EAX,EAX
7. Chọn dòng CALL game-enc.0043F025 trước dòng TEST EAX, EAX rồi nhấn F2 hoặc double click để đặt breakpoint ở đó.
8. Nhấn F9 để chạy con virus trong OllyDBG. Lúc này OllyDBG sẽ chạy từ đầu cho đến khi dừng lại ở vị trí đặt breakpoint ở trên.
9. Nhấn F8 để nhảy sang lệnh kế tiếp là TEST EAX, EAX.
10. Nhìn sang cửa sổ Registers (FDU), tìm register ECX. Vùng ô nhớ mà register này đang trỏ đến chính là mã nguồn viết bằng AutoIt của con virus.
Chúc thành công.