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

Cracker Handbook 1.0 part 177 docx

6 55 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 127,71 KB

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

Nội dung

Let us press the Parchar button, will say to us that the process has finished, was created a backup with the name of uedit32_dmp.exe.bak and it will give a little us extra information Ch

Trang 1

E5B332, in the Dump we positioned in the beginning of the section data1, give a Ctrl+B, we put value HEX: invested, we give OK and stops in

Vì vậy giá trị dữ liệu 7 là 0062205C, chúng ta làm tương tự, Chúng ta put trong thanh bar của command như sau: ` GetProcAddress', nĩ sẽ cho ra giá trị HEX: 77E5B332, trong Dump chúng ta goto đến đầu addr của section data1, nhấn Ctrl+B, chúng ta put giá trị HEX đã thu được, nhấn OK và stop tại đây:

00622054 32 B3 E5 77 02 15 F4 77 2³åw1[1]ơw

0062205C 61 D9 E5 77 0C 15 F4 77 aÙåw.ơw

00622064 AF DD E5 77 5D 26 E5 77 ¯Ýåw]&åw

0062206C 9B 58 E5 77 BC 1B E4 77 ›Xåw¼äw

00622074 58 E3 E5 77 7E 17 E4 77 Xãåw~äw

0062207C 6B 90 E4 77 4C A4 E5 77 k äwL¤åw

The value of data 8 is 00622054, we put these data in the Tools Armadillo and was tus

Gía trị của dữ liệu 8 là 00622054, chúng ta lắp các dữ liệu này vào tools Armadillo và sẽ được như sau:

Trang 2

Let us press the Parchar button, will say to us that the process has finished, was created a backup with the name of uedit32_dmp.exe.bak and it will give a little us extra information

Chúng ta nhấn button Parchar, sẽ báo cho chúng ta biết tiến trình thực hiện đã hòan thành, được cài đặt bảng sao lưu với tên file là uedit32_dmp.exe.bak và nó

sẽ cho ta biết thêm một ít thông tin nữa

Trang 3

lists that the code uses that was copied to the direction 005E2000 [ in case to somebody it interests ] to him, now we must publish the file uedit32_dmp.exe with the LordPE and change the EntryPoint so that it aims thus at 005E2000

Thông tin này sẽ nói cho chúng ta biết IAT có 830 thành phần , trong đó 687 thành phần đúng, 687 thành phần APIs này thuộc 18 modules khác nhau là các chỉ thị directions của danh sách list mà code sử dụng chúng , đã được copy đến 005E2000 [ trong case vài người là có khả năng liên quan đến addr giống như vầy], bây giờ chúng ta phải thay đổi file uedit32_dmp.exe một chút bằng cách dùng LordPE và thay đổi EntryPoint thành 005E2000

We pressed Save, OK and ready our feasible one already has the repaired IAT, loads, in the Olly, the file uedit32_dmp.exe and sees

Chúng ta nhấn Save, OK và vùng có khả năng thực thi đã đươc sữa chửa IAT xong, loads vào trong Olly file uedit32_dmp.exe và sẽ thấy như sau:

Trang 4

This it is the code that loaded each I modulate, will solve each API and it copied it

to its corresponding place, in the line that this selected is where EAX will have the

direction of the present API, if EAX is equal to zero means that the API was not

found, we put a Breakpoint conditional

Đây là code đươc loaded vào của module trên máy tôi, nó sẽ xử lý tính tóan trên

mỗi hàm API và nó copy hàm API đó đến vùng tương ứng, trong dòng lệnh

đươc chọn như hình trên là nơi EAX sẽ có direction của hàm API hiện tính, nếu

EAX = 0 thì hàm API sẽ ko tìm thấy, chúng ta put 1 Breakpoint conditional tại

đây

And a F2 in 005E20DC that is where returned the control to him to the OEP, we

give a F9 and the conditional Breakpoint does not stop what means that each API

was found and copied to its corresponding place, once in 005E20DC we give a F2

Trang 5

Và set F2 tại 005E20DC là nơi trả lại điều khiển đến OEP, chúng ta nhấn F9 và conditional Breakpoint sẽ ko dừng lại có nghĩa là mỗi hàm API đều đươc tìm thấy và đươc copy đến vùng tương ứng của nó, nó dừng lại tại 005E20DC mà chúng ta đã set F2 tại đó, xóa bp đó đi, và cũng xóa luôn bp conditional Breakpoint và chúng ta nhấn F8, chúng ta sẽ thấy OEP như sau:

00514CB5 55 PUSH EBP

00514CB6 8BEC MOV EBP,ESP

00514CB8 6A FF PUSH -1

00514CBA 68 80885700 PUSH uedit32_.00578880

00514CBF 68 A0855100 PUSH uedit32_.005185A0

00514CC4 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]

00514CCA 50 PUSH EAX

00514CCB 64:8925 00000000 MOV DWORD PTR FS:[0],ESP

00514CD2 83EC 58 SUB ESP,58

00514CD5 53 PUSH EBX

00514CD6 56 PUSH ESI

00514CD7 57 PUSH EDI

00514CD8 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP

00514CDB FF15 18256100 CALL DWORD PTR DS:[612518] ; kernel32.GetVersion

00514CE1 33D2 XOR EDX,EDX

As the API can be observed kernel32.GetVersion were solved and copied to their corresponding place, the IAT was repaired automatically whenever the file is executed

Như vậy hàm API mà ta quan sát đươc là kernel32.GetVersion nó đã đươc xử lý xong và đã đươc copy đến vùng tương ứng của nó, IAT đã đươc sữa chửa xong một cách tự động , file có thể thực thi bất cứ khi nào

With the repaired IAT we see the CodeSplicing

IAT đã đươc sữa chửa, chúng ta sẽ đến phần CodeSplicing

Let us load uedit32 exe in the Olly, hide dbg, we put a Breakpoint Hardware on execution in direction 00514CB5 [ OEP ], give a F9 and for here

Trang 6

Chúng ta load uedit32.exe trong Olly, hide dbg, chúng ta put một bp Breakpoint Hardware on execution tại direction 00514CB5 [ OEP ], nhấn F9 và chúng ta đến đây

00514CB5 55 PUSH EBP

00514CB6 8BEC MOV EBP,ESP

00514CB8 6A FF PUSH -1

00514CBA 68 80885700 PUSH uedit32.00578880

00514CBF 68 A0855100 PUSH uedit32.005185A0

00514CC4 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]

00514CCA 50 PUSH EAX

00514CCB 64:8925 00000000 MOV DWORD PTR FS:[0],ESP

00514CD2 83EC 58 SUB ESP,58

00514CD5 53 PUSH EBX

Already in the OEP, we go to the Memory Map and we look for a zone with the following characteristics

Chúng ta đang đứng tại OEP, chúng ta goto đến Memory Map và chúng ta tìm thấy một vùng với các thông số như sau:

Memory map Address Size Owner Section Contains Type Access Initial

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN