Tải bản đầy đủ (.pdf) (6 trang)

Cracker Handbook 1.0 part 384 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (148.1 KB, 6 trang )

0068962D 68 DCF84400 PUSH cwtoneup.0044F8DC ; UNICODE
"Status: Registered"
00689632 8B85 ACFEFFFF MOV EAX, DWORD PTR SS:[EBP-154]
00689638 8B00 MOV EAX, DWORD PTR DS:[EAX]
0068963A FFB5 ACFEFFFF PUSH DWORD PTR SS:[EBP-154]
00689640 FF50 54 CALL NEAR DWORD PTR DS:[EAX+54]
Lại tiếp tục nhìn lên tí nữa ta thấy một lệnh nhảy:
Code:
006895BA 68 20ED4400 PUSH cwtoneup.0044ED20 ; UNICODE
"OK"
006895BF E8 968AD8FF CALL <JMP.&msvbvm60.__vbaStrCmp>
006895C4 85C0 TEST EAX, EAX
006895C6 0F85 9A010000 JNZ
cwtoneup.00689766=================> Patch Here
006895CC C745 FC 4800000>MOV DWORD PTR SS:[EBP-4], 48
006895D3 833D 88918500 0>CMP DWORD PTR DS:[859188], 0
006895DA 75 1B JNZ SHORT cwtoneup.006895F7
006895DC 68 88918500 PUSH cwtoneup.00859188
006895E1 68 E8A64300 PUSH cwtoneup.0043A6E8
006895E6 E8 998AD8FF CALL <JMP.&msvbvm60.__vbaNew2>
006895EB C785 D0FCFFFF 8>MOV DWORD PTR SS:[EBP-330],
cwtoneup>
006895F5 EB 0A JMP SHORT cwtoneup.00689601
Xong rồi đấy patch tại 006895C6 Jnz ==> Je
Run thử phát, oái tại sao nó vẫn thế, vẫn báo là ta phải đưa money cho nó! Như vậy
vẫn còn một vấn đề nữa là vẫn thấy xuất hiện dòng This software running in
freeTrial Mode và dòng Enter Registration Key. Nhiệm vụ cuối cùng là cho nó
câm luôn. Lục tìm trong đống unicode ta thấy có một string: "Registred software",
nhìn lên một tí nữa ta thấy:
Code:
0068859D 68 20ED4400 PUSH cwtoneup.0044ED20 ; UNICODE


"OK"
006885A2 E8 B39AD8FF CALL <JMP.&msvbvm60.__vbaStrCmp>
006885A7 85C0 TEST EAX, EAX
006885A9 0F85 41030000 JNZ cwtoneup.006888F0 ==========> Patch
here
006885AF C745 FC 3000000>MOV DWORD PTR SS:[EBP-4], 30
006885B6 66:830D 0891850>OR WORD PTR DS:[859108], 0FFFF
006885BE C745 FC 3100000>MOV DWORD PTR SS:[EBP-4], 31
006885C5 8B45 08 MOV EAX, DWORD PTR SS:[EBP+8]
006885C8 8B00 MOV EAX, DWORD PTR DS:[EAX]
006885CA FF75 08 PUSH DWORD PTR SS:[EBP+8]
006885CD FF90 BC040000 CALL NEAR DWORD PTR DS:[EAX+4BC]
006885D3 50 PUSH EAX
006885D4 8D85 5CFFFFFF LEA EAX, DWORD PTR SS:[EBP-A4]
006885DA 50 PUSH EAX
006885DB E8 809AD8FF CALL <JMP.&msvbvm60.__vbaObjSet>
006885E0 8985 ACFEFFFF MOV DWORD PTR SS:[EBP-154], EAX
006885E6 6A 00 PUSH 0
006885E8 8B85 ACFEFFFF MOV EAX, DWORD PTR SS:[EBP-154]
006885EE 8B00 MOV EAX, DWORD PTR DS:[EAX]
006885F0 FFB5 ACFEFFFF PUSH DWORD PTR SS:[EBP-154]
006885F6 FF50 5C CALL NEAR DWORD PTR DS:[EAX+5C]
Vậy ta có hai chỗ patch:
Code:
006885A9 JNZ 006888F0==> je 00688F0
006895C6 JNZ 00689766==> je00689766
Nói tóm lại là việc crack chỉ là nhìn lên, nhìn lên tí nữa và rồi thấy cái gì
đó……(khó tưởng tượng) không biết mấy lão cracker nhà ta mà đi xem thời trang
thì sao nhỉ!!!!!!!!!!!!!!



Special Thanx: Deux,Zombie, Computer_Angel, tlandn, Moonbaby, kienmanowar,
benina the_lighthouse, Nini,hoadongnoi,Hacnho all ReaMember and you !!!!!

Trailangchai84(REA)
.::[Unpacking and Patching]::.MP3 Splitter v2.1.2

-== Kienmanowar Tutorial ==-
Method: [Unpacking and Patching]


Target :
MP3 Splitter v2.1.2


Tools :
OllyDbg 1.10 (HideBug Plugin and OllyDump Plugin), ImportREC 1.6,
Diablos2oo2 Universal Patcher, PEiD v0.93

Protections :
ASPack 2.12 -> Alexey Solodovnikov, Serial Protection.

Other Information :
Bài viết này tôi dựa trên tut Beginner Olly3 của Gabri3l . nhằm mục đích giới thiệu
tới các bạn về cơ chế packing và một kĩ thuật patching nâng cao hơn một chút.
Trong bài viết , các bạn sẽ lần lượt đi qua từng bước của quá trình Unpacking một
soft , chỉnh sửa lại bảng Import Address Table bằng ImportREC, tìm kiếm và thực
hiện Patching quá trình kiểm tra Serial trong soft. Và cuối cùng là các bạn sẽ biết
được cách để tạo một Patch file cho file gốc ban đầu đã bị Packed.
oOo-oOo-oOo

-== Introduction ==-


Một điều quan trọng đầu tiên khi các bạn muốn bắt tay vào công việc Cracking đối
với một soft là hãy tạo một bản sao của chương trình đó, vì các bạn sẽ chẳng biết
được điều gì sẽ xảy ra khi bạn thực hiện trên file đó . Do đó việc back up lại luôn
là một công việc quan trọng.

Tôi giả sử rằng các bạn đã có trong tay mục tiêu mà chúng ta cần phải làm việc.
Mở PEiD lên, open file splitter.exe vào PEiD, mục đích của công việc này để làm
gì ? Đó là chúng ta nhờ cậy ở PEiD , để PEiD detect cho chúng ta biết được là soft
này có bị Packed hay Protected gì không? Và kết quả mà chúng ta quan sát thấy
trong PEiD là :



Như các bạn đã thấy trong hình trên , File mà chúng ta đang tìm hiểu đã bị Packed
bằng ASPack 2.12. Vậy việc một file thực thi bị Packed lại có ý nghĩa gì? Những
điều này đã được tác giả Gabri3l nói tương đối dễ hiểu rồi. Tôi chỉ xin nhắc lại như
sau : Ngày nay hầu như các phần mềm shareware đều được “Packed” lại với mục
đích là làm giảm kích thước của file đồng thời cung cấp thêm một lớp bảo vệ cho
file.
Ở bên trong một file thực thi đã bị Packed thì các bảng import tables thường
thường là đã bị thay đổi, làm mất hiệu lực và phần dữ liệu thì luôn bị mã hóa. Các
chương trình packer sẽ chèn thêm mã lệnh (code) để unpack file trong bộ nhớ vào
lúc thực thi và sau đó nhảy tới OEP (original entry point) (Đây là nơi mà chương
trình gốc thực sự bắt đầu thực thi, thi hành.). Nếu chúng ta tìm được cách để
(dump) kết xuất vùng nhớ này sau khi mà chương trình packer hoàn tất được quá
trình unpacking file thực thi, thêm vào đó chúng ta cũng cần phải chỉnh sửa lại
Section và bảng import tables trước khi mà ứng dụng của chúng ta sẽ run. Làm thế

nào để chúng ta có thể thực hiện được điều này nếu như chúng ta không có hiểu
biết tí tẹo nào về định dạng PE file ? (Do đó tôi khuyên bạn hãy dành chút thời
gian để tìm hiểu về PE file Format của Arteam, một tut rất hay về PE).
oOo-oOo-oOo
-== Manual Unpacking ==-


Trước khi chúng ta tiến hành công việc Unpack file, chúng ta hãy khảo sát qua cơ
chế bảo vệ của chương trình xem sao. Chạy file Spiltter.exe. Sau khi click đúp
chuột vào file này, ngay lập tức chương trình sẽ hiện ra môt bảng thông báo cho
chúng ta biết rằng : “20 times shareware version, Please Register! Only
$24.95”. Trên bảng thông báo này có 3 nút bấm là Buy Now! , Register và
Continue. Oki chúng ta bấm vào nút Register , sau đó nhập thông tin cần thiết vào
để đăng kí , nhấn OK chúng ta sẽ nhận được thông báo như sau : “Error
Registration Information, Please try again!!”. Xuất hiện thông báo này là đương
nhiên.Các bạn hãy để ý rằng thông báo mà chúng ta nhận được là thông qua một
MessageBox. Oki hãy ghi nhớ tất cả những gì bạn vừa thu thập được, chúng ta sẽ
dùng nó trong phần cracking.

I. Unpacking :
Unpacking đang ngày càng trở thành một phần quan trọng của reverse engineering.
Như đã nói ở trên, hầu hết các công ty đều chọn giải pháp là pack hay protect
chương trình của họ nhằm một mục đích là làm nản lòng những người muốn thực
hiện công việc reversing chương trình. Do chương trình mà tôi sử dụng làm mục
tiêu trong bài viết này được Packed bằng một Packer khá nổi tiếng và thông dụng
đó là ASPack 2.12, cho nên phương thức dùng để Unpack không phải là duy nhất
cho bài viết này. Các bạn có thể tham khảo rất nhiều các bài viết khác nhau trên
mạng. Nhưng theo tôi đánh giá đây là cách unpack ASPack nhanh và chuẩn .

Oki, bây giờ chúng ta sẽ tiến hành Unpack chương trình. Mở Olly lên , sau đó bạn

load file splitter.exe vào trong Olly. Bạn sẽ nhận được thông báo như sau :



Nhấn OK để tiếp tục , ngay lập tức một thông báo khác xuất hiện hỏi bạn có muốn
analysis code không :



Nhấn No để tiếp tục . Bạn sẽ ở tại đây trong Olly :


×