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

Cracker Handbook 1.0 part 371 potx

6 132 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 245,73 KB

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

Nội dung

68 70F97100 PUSH dumped_.0071F970 ; SE handler installation _nhấp chuột phải và chọn Search For\All Intermodular Calls và gõ “GetModuleHandleA” và nhấp đôi vào dòng “kernel32.GetModuleHa

Trang 1

00719593 >/$ 55 PUSH EBP

00719594 | 8BEC MOV EBP,ESP

00719596 | 6A FF PUSH -1

00719598 | 68 C8EB6300 PUSH dumped_.0063EBC8

0071959D | 68 70F97100 PUSH dumped_.0071F970 ; SE handler installation _nhấp chuột phải và chọn Search For\All Intermodular Calls và gõ

“GetModuleHandleA” và nhấp đôi vào dòng “kernel32.GetModuleHandleA” Đầu tiên và ta tới đây

Quote:

006407FA 837D D8 00 CMP DWORD PTR SS:[EBP-28],0

006407FE 74 49 JE SHORT dumped_.00640849

00640800 813D B0706300>CMP DWORD PTR DS:[6370B0],416E6454

0064080A 75 2F JNZ SHORT dumped_.0064083B

0064080C 6A 00 PUSH 0 ; /pModule = NULL

0064080E FF15 E8D17300 CALL NEAR DWORD PTR

DS:[<&kernel32.GetModuleHandleA>] ; \GetModuleHandleA

00640814 8B0D BC706300 MOV ECX,DWORD PTR DS:[6370BC]

0064081A 03C8 ADD ECX,EAX

0064081C 890D E8485D00 MOV DWORD PTR DS:[5D48E8],ECX

_Đưa trỏ chuột tới 006407FE và Patch JE thành JNZ Sau đó nhập chuột phải chọn Copy to executable\Section\Save File (nên đặt 1 tên khác cho File) Run thử File vữa Save, Oh, không còn Nag nhắc nhở đăng ký nữa coi như chúng ta đã Crack luôn gòi!! He he…

_Dùng PeiD scan thấy chương trình được Code bằng “Microsoft Visual C++ 6.0”

_Unpack Done!!! Bye

Trang 2

Why not bar(REA)

NsPack v3.7[Manual UnPack]

Target :

http://www.tuts4you.com/index/index Pack%203.7.rar

Phương pháp unpack cho NsPack giống hệt với UPX chỉ khác ở chỗ nó dùng PUSHFD chứ không dùng PUSHAD Cách thức như sau :

1.Load target vào trong Olly, chọn No analysis code :

Code:

0046D3A3 > 9C PUSHFD <== Entry point

0046D3A4 60 PUSHAD

0046D3A5 E8 00000000 CALL UnPackMe.0046D3AA

0046D3AA 5D POP EBP

0046D3AB 83ED 07 SUB EBP,7

0046D3AE 8D8D D9FCFFFF LEA ECX,DWORD PTR SS:[EBP-327]

0046D3B4 8039 01 CMP BYTE PTR DS:[ECX],1

0046D3B7 0F84 42020000 JE UnPackMe.0046D5FF

0046D3BD C601 01 MOV BYTE PTR DS:[ECX],1

0046D3C0 8BC5 MOV EAX,EBP

0046D3C2 2B85 6DFCFFFF SUB EAX,DWORD PTR SS:[EBP-393]

0046D3C8 8985 6DFCFFFF MOV DWORD PTR SS:[EBP-393],EAX

0046D3CE 0185 9DFCFFFF ADD DWORD PTR SS:[EBP-363],EAX

0046D3D4 8DB5 E1FCFFFF LEA ESI,DWORD PTR SS:[EBP-31F]

2 Nhấn F8 1 lần để thực hiện lệnh PUSHFD, sau đó nhìn sang phía cửa sổ

Regissters ta có được như sau :

Code:

EAX 00000000

ECX 0012FFB0

EDX 7FFE0304

EBX 7FFDF000

ESP 0012FFC0

EBP 0012FFF0

ESI 77F51778 ntdll.77F51778

EDI 77F517E6 ntdll.77F517E6

EIP 0046D3A4 UnPackMe.0046D3A4

Trang 3

3 Chuột phải lên thanh ghi ESP và chọn Follow in Dump Trong cửa số Dump ta highlight 4 bytes và chọn BreakPoint>Hardware, on access> Dword

4 Sau đó nhấn F9 để run, chúng ta sẽ break tại đây :

Code:

0046D615 - E9 969BFBFF JMP UnPackMe.004271B0 <== break here (jump to OEP)

0046D61A 8BB5 65FCFFFF MOV ESI,DWORD PTR SS:[EBP-39B] 0046D620 0BF6 OR ESI,ESI

0046D622 0F84 97000000 JE UnPackMe.0046D6BF

0046D628 8B95 6DFCFFFF MOV EDX,DWORD PTR SS:[EBP-393] 0046D62E 03F2 ADD ESI,EDX

0046D630 833E 00 CMP DWORD PTR DS:[ESI],0

0046D633 75 0E JNZ SHORT UnPackMe.0046D643

0046D635 837E 04 00 CMP DWORD PTR DS:[ESI+4],0

0046D639 75 08 JNZ SHORT UnPackMe.0046D643

0046D63B 837E 08 00 CMP DWORD PTR DS:[ESI+8],0

0046D63F 75 02 JNZ SHORT UnPackMe.0046D643

0046D641 EB 7A JMP SHORT UnPackMe.0046D6BD

5 Chúng ta dừng lại tại lệnh nhảy tới OEP thực nhiện lệnh Jump này bằng F8 Ta

sẽ ở tại OEP của target :

Code:

004271B0 55 PUSH EBP <== OEP

004271B1 8BEC MOV EBP,ESP

004271B3 6A FF PUSH -1

004271B5 68 600E4500 PUSH UnPackMe.00450E60

004271BA 68 C8924200 PUSH UnPackMe.004292C8

004271BF 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]

004271C5 50 PUSH EAX

004271C6 64:8925 0000000>MOV DWORD PTR FS:[0],ESP

004271CD 83C4 A8 ADD ESP,-58

004271D0 53 PUSH EBX

004271D1 56 PUSH ESI

004271D2 57 PUSH EDI

004271D3 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP

004271D6 FF15 DC0A4600 CALL DWORD PTR DS:[460ADC] ; kernel32.GetVersion

Trang 4

004271DC 33D2 XOR EDX,EDX

004271DE 8AD4 MOV DL,AH

004271E0 8915 34E64500 MOV DWORD PTR DS:[45E634],EDX

004271E6 8BC8 MOV ECX,EAX

004271E8 81E1 FF000000 AND ECX,0FF

004271EE 890D 30E64500 MOV DWORD PTR DS:[45E630],ECX

=

6 Cuối cùng tiến hành Dump bằng Olly và dùng Import Rec để fix lại IAT Sau đó nhần fix dump

7 Chạy thử file sau khi unpack okie run tốt !!!

Best Regards

kienmanowar

Manual Unpack PESpin 0.7 by Kagra

Translate and Edit : tlandn

Tut này tui dịch của Kagra Tut của Kagra ngắn và không giải thích rõ ràng nên hơi khó hiểu Tui thêm vào các hình ảnh, và ghi chú để các bạn dễ hiểu hơn

Target : Unpackme ?? của hacnho (kèm theo trong file)

Đầu tiên các bạn phải che giấu OllyDbg đi Kagra dùng HideOlly Plugin tuy nhiên các bạn có thể dùng IsDebugPresent plugin cũng được

Nạp chương trình vào Olly Nhấn Alt-O để vào “Debugging Options” và chỉnh giống như hình sau :

Trang 6

Bây giờ nạp lại chương trình bằng cách nhấn Ctrl-F2 Các thông báo lỗi hiện lên

cứ nhấn OK

Nhấn Ctrl-F9 Chương trình sẽ dừng tại 00401029 Nhấn Ctrl-A để “analyse …” Một thông báo hiện lên chọn YES Bây giờ nhìn xuống cửa sổ phía dưới sẽ thấy như sau :

Tức là chúng ta đã nhảy tới 00401029 từ 004070DC Nhấn Ctrl-G Gõ vào 004070DC Nhấn OK Bây giờ cuộn cửa sổ lên một chút chúng ta sẽ thấy như hình sau :

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN