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

Cracker Handbook 1.0 part 377 ppt

8 82 1
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 8
Dung lượng 446,36 KB

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

Nội dung

Điền các thông số giống hình sau, nhấn “IAT AutoSearch” rồi nhấn “Get Imports” Nhấn nút “Show Invalid”.. Nhấn nút phải lên các dòng được đánh dấu chọn rồi chọn “Trace Level 1”... Nhấn nú

Trang 1

Về lại “CPU Window” Nhấn F9 Chương trình sẽ break tại 401000 :

Đây chính là OEP của ta

II Dump chương trình :

Dùng OllyDump để dump Chọn giống trong hình :

Trang 2

Đặt tên file là “a.exe” 

III Rebuild IAT :

Dùng Imprec nạp chương trình Điền các thông số giống hình sau, nhấn “IAT AutoSearch” rồi nhấn “Get Imports”

Nhấn nút “Show Invalid” Nhấn nút phải lên các dòng được đánh dấu chọn rồi chọn “Trace Level 1”

Trang 4

Nhấn nút “Show Invalid” lần nữa Chúng ta thấy chỉ còn 2 API là chưa tìm thấy (2 cái tô xanh ở dưới) :

Chúng là 402020 (400000 + 2020)

402034 (400000 + 2034)

Quay trở lại OllyDbg Chúng ta đang ở 401000 Nhấn Ctrl-B Nhập vào FF

25 giống hình dưới :

Nhấn OK Chúng ta dừng

ở đây :

Dạng của API là JMP DWORD PTR DS:[XXXXXX]

Nhấn Ctrl-F Nhập vào JMP DWORD PTR DS:[402020] Nhấn Find

Trang 5

Chúng ta dừng ở đây :

Nhấn Ctrl-R để xem dòng code nào gọi hàm này Chúng ta được :

Kích đôi chuột vào dòng đầu tiên (401002)

Chúng ta đang ở 401000 Nhấn F8 Chúng ta ở dòng 401002 Chú ý giá trị của thanh ghi EAX = 401000 Nhấn F8 một lần để thực hiện hàm Chúng ta nhìn

lại giá trị của EAX = 400000 -> Đây là hàm GetModuleHandleA

Đối với giá trị API thứ nhì (402034) cần tìm chúng ta làm tương tự Nhấn Ctrl-F Nhập vào JMP DWORD PTR DS:[ 402034] Nhấn Find

Chúng ta ở đây :

Cũng nhấn Ctrl-R

Kích đôi chuột vào dòng đầu tiên (401058)

Nhấn F2 để đặt breakpoint

Trang 6

Nhấn Alt-M vào lại “Memory Map” bỏ chọn “Breakpoint memory on acess”

Quay về “CPU Window” Nhấn F9 để chạy chương trình Khi ta kích nút

“Exit” để đóng chương trình thì OllyDbg break tại 401058 (chỗ ta đặt breakpoint)

Trong Imprec ta đã biết 402034 thuộc kernel32.dll

Vào “Memory Window” đặt “Breakpoint memory on acess” trên section text của kernel32.dll như trong hình :

Quay về “CPU Window” Nhấn F9 3 (hay 4) lần Chúng ta sẽ ở trong kernel32.dll

Chú ý địa chỉ ta đang đứng là 77E77963 Nhấn Ctrl-N Nhấn vào cột Address để sắp xếp lại thứ tự API cho dễ kiếm Tìm dòng 77E77963

Trang 7

Đó là hàm CloseHandle

Vậy ta có kết quả : 402020 là GetModuleHandleA

402034 là CloseHandle

Trong Imprec sửa lại 2 hàm cho đúng :

402020 :

402034 :

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

TỪ KHÓA LIÊN QUAN