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

Cracker Handbook 1.0 part 202 ppsx

6 91 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 6
Dung lượng 410,63 KB

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

Nội dung

Những giá trị trong bảng này là giống với bảng trong O, có điều các bạn nhớ lấy địa chỉ trong O trừ đi 2200 để ra được OFFSET tương ứng trong U Ừm, chúng ta đang ở một nơi rất đẹp đẽ: Xe

Trang 1

Hãy tới vị trí 00000E00 trong U

Tại đây, ta đánh vào 0xE00 để tới OFFSET 0xE00

Trang 2

Những giá trị trong bảng này là giống với bảng trong O, có điều các bạn nhớ lấy địa chỉ trong O trừ đi 2200 để ra được OFFSET tương ứng trong U

Ừm, chúng ta đang ở một nơi rất đẹp đẽ:

Xem dòng đầu: Đây là IMAGE IMPORT DESCRIPTOR (IID)

Pic nói rằng: có 5 DWORD DWORD đầu tiên là OriginalFirstThunk

Cái DWORD đầu tiên không quan trọng lắm (người dịch nói thêm : trình

LOADER PE FILE sẽ dùng thông tin trong đây để tạp bảng IAT) , chúng tasẽ tìm hiểu sau DWORD thứ hai và thứ 3 là TimeDateStamp và ForwarderChain, đối với cracking, thì không quan trọng lắm (đối với virus cũng khá quan trọng)

Trang 3

Bức tranh này bảo: Đây là vị trí tên của DLL đầu tiên: 00003290 - > 00403290

Tranh này nói rằng 00403290 chứa tên “USER32.DLL” và kế là ZERO BYTES kết thúc tên file DLL

Con trỏ cuối cùng của dòng đầu tiên của IMAGE IMPORT DESCRIPTOR là FIRST THUNK và các bạn đừng nhầm lẫn với OriginalFirstThunk, con trỏ này là nơi mà các API của các DLL đầu tiên, trong trường hợp này là USER32.dll

Hình này thì thầm: DWORD thứ 5 là một con trỏ trỏ tới nơi bắt đầu tên của API tương ứng với DLL Có OFFSET 00003184 -> 00403184 trong O

Hãy hiểu đây là nơi bắt đầu của bảng và là nơi bắt đầu của những APIs tương ứng vớiUSER32.DLL

Trang 4

Giờ thì nhìn vào những con tỏ trên dòng thứ hai:

Đây là dòng thứ 2 của cấu trúc IMAGE IMPORT DESCRIPTOR mà tường ứng với DLL thứ hai Nhìn vào con trỏ thứ tư 0000329B, đây chính là OFFSET tới tên của DLL thứ 2

Còn con trỏ thứ 5 chính là nơi chứa các APIS của KERNEL32.DLL tương ứng 0040321C

Giờ ta nhìn sang U và sẽ thấy một vài khác biệt:

Vị trí đầu tiên của cấu trúc IMAGE IMPORT DESCRIPTOR là 00403000 trong O, còn trong U là 00000E00, và ta thấy những con trỏ tương ứng đối với O:

Những giá trị con trỏ này thì bằng với những giá trị trong O

Hãy nhìn xem trong 00003184 có gì hấp dẫn Quên mất, các bác nhớ từ 00003184

- 2200 = F84 để ra được OFFSET trên FILE trên đĩa heng (có ai thắc mắc thì cứ hỏi tôi người dịch)

Trang 5

Bức tranh nói: Ở đây trong O là danh sách danh mục của APIS

Hãy so sánh:

Hãy xem có gì khác biệt Trong U, những con trỏ trên chính là OFFSET tương ứng trong O mà trỏ đến vị trí chứa tên của các APIs tương tứng

Giờ thì đến 000032CC trong U và tới 004032CC trong O

Pics nói: đây là nơi ta thấy tên của API KillTimer

Nói như vầy nhé: Khi chương trình bắt đầu thì nó sẽ tìm kiếm tới những con trỏ trỏ đến tên của API, và dùng hàm GetProcAddress, nó sẽ tìm được vị trí của các APIs còn lại, và lữ trữ vào trong điểm nhập đầu tiên trong O

Nó là 77D1418A tường ứng với tên APIs KillTimer Làm thế nào mà tôi biết điều này? Hãy click phải chuột trên Value và chọn FIND REFERENCES

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

HÌNH ẢNH LIÊN QUAN

Hình này thì thầm: DWORD thứ 5 là một con trỏ trỏ tới nơi bắt đầu tên của API  tương ứng với DLL - Cracker Handbook 1.0 part 202 ppsx
Hình n ày thì thầm: DWORD thứ 5 là một con trỏ trỏ tới nơi bắt đầu tên của API tương ứng với DLL (Trang 3)

TỪ KHÓA LIÊN QUAN