1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracker Handbook 1.0 part 319 ppsx

6 125 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 323,77 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đó là do Packer Mole tạo ra trong quá trình unpack code.. Còn ở file fix dump thì tất nhiên sẽ ko có .Thường gặp trường hợp này ,ta hay dump cả section tìm được bên Olly1 rồi add vào fil

Trang 1

F9 để chạy và Break tại đó ,bỏ BP đi Tiếp tục Ctrl-F8 để tìm và Olly tự Break do gặp Exception:

Nhấn nút “-“ để quay lại bước trước tìm hàm CALL mới nhất vừa đi vào :

Vậy chui vào đây là phát sinh lỗi ,ta enter vào đầu hàm ,set 1 BP Ctrl-F2 restart lại ,F9 để Break tại BP vừa set :

Xóa BP đi ,làm tương tự ,tìm ra hàm CALL gây lỗi ,set BP ngay nó ,Ctrl-F2 ,F9

và Break :

Trang 2

Hàm này CALL vào 1 địa chỉ là 433B6E ,địa chỉ này nằm tại section :

Đây là section của cu Mole ,vậy là sau khi Dump file, ta vẫn còn lệ thuộc vào Mole ,tức unpack vẫn chưa hoàn thành Tiếp tục làm tương tự như trên ,và tìm ra chính xác nơi gây lỗi tại đây :

Set BP ngay lệnh PUSH DWORD PTR DS:[EAX+4] Ctrl-F2 ,F9 và Break :

Dòm xuống giá trị tại [EAX+4] lúc này:

Trang 3

Rõ ràng ko tồn tại đúng ko ? Đó là lý do tại sao lại có thông báo về exception này :

Giữ nguyên hiện trường ,nhớ lại em Olly (1) còn mở ko ,quay qua nó Goto tới cùng địa chỉ lệnh PUSH trên tại 43A3EF ,set 1 BP, F9 và Break :

Y chang ,ko khác gì cả (nhớ rằng địa chỉ D41E90 này trên máy của bạn sẽ khác nhé ,nó là vùng section ko có offset cố định) Tuy nhiên ở Olly (1) ,vùng địa chỉ này lại tồn tại :

Trang 4

Đó là do Packer Mole tạo ra trong quá trình unpack code Còn ở file fix dump thì tất nhiên sẽ ko có Thường gặp trường hợp này ,ta hay dump cả section tìm được bên Olly(1) rồi add vào file fix dump Nhưng sau khi kiểm tra thì trick thấy ko cần làm thế Chỉ đơn giản sửa giá trị lại cho khớp là được Quay lại của sổ code của Olly(1) ,Follow value in Dump giá trị tại D41E90 xem giá trị tại đó là gì :

Àh há :

Nhớ lấy DWORD thứ 2 tại đây :FF FF FF FF Quay qua Olly(2) , Follow

address in Dump :

Ta thấy :

Trang 5

địa chỉ ko có thật này ,ta sửa nó lại thành địa chỉ nằm trong file ,sau đó paste DWORD thứ 2 tìm thấy ở Olly (1) vào là okie Giờ tìm 1 nơi trống đủ chứa 1 DWORD , thường section còn trống hay dùng trong các trường hợp này đã được ImportREC add vào khi fix IAT :

Size trong memory của section này là 2000, và nó chỉ mới sử dụng :

469788 – 468000 = 1788 Byte Thế là còn dư ra khá nhiều Byte cho chúng ta Nhưng phải xét xem là các Byte trống kia là thật hay chỉ là ảo :

Nhớ lại rằng Window quản lý vùng nhớ theo từng 1000h Byte Nên đôi khi Size trong memory làm tròn lên còn size thật lại bé hơn Mà nếu bạn Save file bằng Olly tại vùng nhớ ko tồn tại trong file thật thì sẽ bị báo lỗi : “Unable locate

Trang 6

memory” ngay Ở đây Size thật :Raw Offset là 2000 nên ta an tâm các Byte trống kia trong memory có thể sử dụng và lưu lại được

Quay lại cửa sổ dump từ memory map trên :

Ngày đăng: 03/07/2014, 18:20

TỪ KHÓA LIÊN QUAN