Tải bản đầy đủ (.pdf) (6 trang)

Cracker Handbook 1.0 part 201 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (384.4 KB, 6 trang )


Giờ thì hãy vào trong Olly và tìm đến PE section và chuẩn bị làm điều gì đó. Nhấn
ALT+M , chọn section có tên là PE header

Chọn section ở trên và ta sẽ thấy điểm bắt đầu của section trong bộ nhớ và
VirtualAlloc bắt đầu ở 0040000 và chiếm khỏang 1000 bytes, tức section này bắt
đầu ở 0040000 -> 00400000-1. Và vị trí 00401000 là điểm bắt đầu của section mã.
Giờ thì click chuột phải trên PE header và chọn DUMP IN CPU để thấy các
section này trong DUMP

Kết quả:

Và hãy nhìn trong Ultra Edit, và thấy có cùng những giá trị ở đầu file ở cả ultra và
OLLY:

Nó bắt đầu với 4D 5A (trong Olly va Ultra)
(trong Olly)
Chúng ta chỉ thấy OFFSET ở trong Ultra và Olly là khác nhau, đây không là vấn
đề, bạn hãy tưởng tượng là 00400000 (trong Olly) chính là 00000000 (trong Ultra).
Được rồi, Chúng hãy tiến lên một chút. Vị trí đầu tiên chúng ta phải tìm là vị trí
OFFSET 3C. Đây là một con trỏ trỏ tới PE SIGNATURE
trong Olly (O)
Trong Ultra Edit (U), nó là thế này, và tại 0000003C:

Tất nhiên cả 2 bên (O&U) sẽ có cùng một giá trị là 100h, giá trị này là một
OFFSET, nơi mà chứa những thông tin bổ ích về PE file.
Chúng ta nên cho Olly hiển thị đầy đủ thông tin hơn, bằng cách: thay đổi trong
DUMP thành chế độ PE Header.

Ta được như vầy:


Giờ thì hãy nhìn 0040003C:

Trong hình sẽ giải thích là Offset to PE Signature
OK, hãy đến 00000100 trong U và 00400100 trong O, chúng ta sẽ thấy giá trị 50
45


Đây chính là nơi thông tin chi tiết được sắp xếp theo các cấu trúc hết sức phức tạp.
Chúng ta sẽ nghiên cứu Import Tables, vì thế hãy lấy 100+80=180h và tới
00400180h (O) hay 00000180h (U).

D6ay là nơi chứa giá trị là OFFSET tới IMPORT TABLE. Ừm, lưu ý là chúng ta
đang phân tích trên một file chưa được packed. Chúng ta hãy hiểu những cái bình
thường trước heng và sau sẽ hiểu và chỉnh sửa những cái sai:

Thông tin trên nói cho ta biết, IMPORT TABLE bắt đầu ở OFFSET 00003000h và
có độ dài 670h.
Nếu chúng ta dùng trong LORDPE sẽ cho ta thông tin sau:

Bản này cho ta biết tại OFFSET 00003000 là nơi của section .idata “lộng hành” bắt
đầu.
Dùng O, chọn ALT+M xem .idata

Chúng ta xác định được vị trí của IMPORT Table rồi. hãy DUMP IN CPU
Và chọn View HEXA:

Chúng ta lập tức tới 00403000

Còn trong U, chúng ta sẽ tìm vị trí 00000E00 (RAW OFFSET) đây là vị trí của
IMPORT TABLE của file trên đĩa cứng.


×