Cracker Handbook 1.0 part 201 potx

6 91 1
Cracker Handbook 1.0 part 201 potx

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

Thông tin tài liệu

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. . section trong bộ nhớ và VirtualAlloc bắt đầu ở 00 400 00 và chiếm khỏang 10 00 bytes, tức section này bắt đầu ở 00 400 00 -> 00 400 000 -1. Và vị trí 00 4 01 0 00 là điểm bắt đầu của section mã. Giờ thì. vầy: Giờ thì hãy nhìn 00 400 03C: Trong hình sẽ giải thích là Offset to PE Signature OK, hãy đến 00 00 0 10 0 trong U và 00 40 0 10 0 trong O, chúng ta sẽ thấy giá trị 50 45 Đây chính là nơi. 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 10 0+ 80 =18 0h và tới 00 40 018 0h (O) hay 00 00 018 0h (U). D6ay là nơi chứa giá trị là OFFSET tới IMPORT TABLE. Ừm, lưu ý

Ngày đăng: 03/07/2014, 17:21

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan