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

Cracking part 5 potx

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 (161.98 KB, 6 trang )

nhấn Ok , xuất hiện thông báo : "Series number error, please check it and try again ".
Giữ nguyên chương trình , quay trở lại Ollydbg , nhấn F12 , Olly sẽ dừng chương trình
lại . Nhấn tiếp Alt + K để hiện cửa sổ : “Call stack of main thread “ . Ta thấy ngay thông
báo :
*** Ở đây chúng ta chú ý đến dòng màu đỏ :
Code:
Address Stack Procedure / arguments Called from Frame

0012F548 10001A39 ? USER32.MessageBoxA verypdf.10001A33
0012F54C 000E01F6 hOwner = 000E01F6 ('Please registe
0012F550 100172F4 Text = "Series number error, pleas
0012F554 00000000 Title = NULL
0012F558 00000010 Style = MB_OK|MB_ICONHAND|MB_APPLM

***Double-click vào cột Called from của dòng màu đỏ này , chúng ta đến địa chỉ sau :
Code:
10001A2D 68 F4720110 PUSH verypdf.100172F4 ; ASCII "Series
number error, please check it and try again."
10001A32 56 PUSH ESI
10001A33 FF15 3C330110 CALL NEAR DWORD PTR DS:[<&USER32.Mess>;
USER32.MessageBoxA ===> We’re here .
10001A39 68 FB030000 PUSH 3FB ===> Set BreakPoint Here .
10001A3E 56 PUSH ESI

*** Sau khi đặt BP tạ
i đây , Ollydbg sẽ dừng chương trình lại , nhấn F8 để xuất hiện lại
thông báo : "Series number error, please check it and try again " Nhấn OK để chấp
nhận thông báo này , chương trình sẽ dừng lại tại điểm BP mà chúng ta vừa đặt . Xoá
điểm BP này đi . RETN , nhìn lên trên 1 chút chúng ta sẽ thấy đoạn code sau . Đây là tử
huyệt :
Code:


100019D9 FF15 34330110 CALL NEAR DWORD PTR
DS:[<&USER32.GetD>; USER32.GetDlgItemTextA ===> Set BreakPoint Here .
100019DF 68 30A80110 PUSH verypdf.1001A830 ; ASCII "0361985"

II/ Cracking :
***OK, sau khi đặt BP tại đó , chúng ta nhấn F9 để Run chương trình , ta sẽ th
ấy hộp
thoại đăng kí xuất hiện lại , sau khi đã nhập FS đầy đủ như ở trên ta đã làm , nhấn OK .
Chúng ta sẽ quay trở lai Olly và chương trình sẽ Ice tại điểm mà chúng ta set BP. :w00t:
Nhìn xuống phía dưới 1 chút , chúng ta sẽ thấy hàm Call . Đây chính là lệnh gọi hàm
kiểm tra Series :
Code:
100019E4 E8 87F7FFFF CALL verypdf.10001170

Ở đây chúng ta cũng thấy lệnh text thanh ghi EAX . Vì vậy chúng ta sẽ Trace Into vào
trong hàm Call trên xem nó làm gì với FS của chúng ta :
Code:
100019D9 FF15 34330110 CALL NEAR DWORD PTR
DS:[<&USER32.GetD>; USER32.GetDlgItemTextA ===> We're here .
100019DF 68 30A80110 PUSH verypdf.1001A830 ; ASCII "0361985"
100019E4 E8 87F7FFFF CALL verypdf.10001170 ===> gọi hàm check Serial
.
Trace Into
10001170 83EC 18 SUB ESP, 18
10001173 53 PUSH EBX
10001174 56 PUSH ESI
10001175 8B7424 24 MOV ESI, DWORD PTR SS:[ESP+24] >>> Đưa Input
vào ESI
10001179 8D5424 08 LEA EDX, DWORD PTR SS:[ESP+8]
1000117D 57 PUSH EDI

1000117E 32DB XOR BL, BL
10001180 8A46 0E MOV AL, BYTE PTR DS:[ESI+E] ===> Đưa ký tự thứ 15
trong chuỗi FS vào AL
10001183 8A4E 0F MOV CL, BYTE PTR DS:[ESI+F] ===> Đưa ký tự thứ
16 trong chuỗi FS vào CL
10001186 52 PUSH EDX
10001187 884424 1C MOV BYTE PTR SS:[ESP+1C], AL ===> đoạn
SS:[ESP+1C] chứa ký tự thứ 15
1000118B 885C24 1D MOV BYTE PTR SS:[ESP+1D], BL
1000118F 884C24 10 MOV BYTE PTR SS:[ESP+10], CL ===> đoạn
SS:[ESP+10] chứa ký tự thứ
16
10001193 885C24 11 MOV BYTE PTR SS:[ESP+11], BL
10001197 E8 55160000 CALL verypdf.100027F1
1000119C 8BF8 MOV EDI, EAX ===> Đưa ký tự thứ 16 trong chuỗi FS vào
EDI
1000119E 8D4424 1C LEA EAX, DWORD PTR SS:[ESP+1C] ===> EAX
chứa ký tự thứ 15
100011A2 50 PUSH EAX
100011A3 E8 49160000 CALL verypdf.100027F1
100011A8 03F8 ADD EDI, EAX ===> lấy tổng của ký tự 15 + ký tự 16
100011AA 83C4 08 ADD ESP, 8
100011AD 83FF 0B CMP EDI, 0B ===> so sánh với 0B
100011B0 74 09 JE SHORT verypdf.100011BB ==> Nếu bằng thì tiếp tục
quá trình tính toán Serial .
100011B2 5F POP EDI
100011B3 5E POP ESI
100011B4 33C0 XOR EAX, EAX
100011B6 5B POP EBX
100011B7 83C4 18 ADD ESP, 18

100011BA C3 RETN
100011BB 8A0E MOV CL, BYTE PTR DS:[ESI] ===> Đưa ký tự thứ nhất
trong chuỗi FS vào CL
100011BD 8A56 01 MOV DL, BYTE PTR DS:[ESI+1] ===> Đưa ký tự thứ 2
trong chuỗi FS vào DL
100011C0 8D4424 0C LEA EAX, DWORD PTR SS:[ESP+C]
100011C4 884C24 18 MOV BYTE PTR SS:[ESP+18], CL
100011C8 50 PUSH EAX
100011C9 885C24 1D MOV BYTE PTR SS:[ESP+1D], BL
100011CD 885424 10 MOV BYTE PTR SS:[ESP+10], DL
100011D1 885C24 11 MOV BYTE PTR SS:[ESP+11], BL
100011D5 E8 17160000 CALL verypdf.100027F1
100011DA 8D4C24 1C LEA ECX, DWORD PTR SS:[ESP+1C]
100011DE 8BF8 MOV EDI, EAX
100011E0 51 PUSH ECX
100011E1 E8 0B160000 CALL verypdf.100027F1
100011E6 03F8 ADD EDI, EAX ===> lấy tổng của ký tự thứ nhất + ký tự
thứ 2
100011E8 83C4 08 ADD ESP, 8
100011EB 83FF 08 CMP EDI, 8 ===> so sánh với 8
100011EE 74 09 JE SHORT verypdf.100011F9 ===> Nếu bằng thì tiếp tục
quá trình tính toán Serial .
100011F0 5F POP EDI
100011F1 5E POP ESI
100011F2 33C0 XOR EAX, EAX
100011F4 5B POP EBX
100011F5 83C4 18 ADD ESP, 18
100011F8 C3 RETN
100011F9 8A4E 05 MOV CL, BYTE PTR DS:[ESI+5] ===> Đưa ký tự thứ 6
trong chuỗi FS vào CL

100011FC B0 24 MOV AL, 24 ===> Đưa ký tự ' $ ' vào AL
100011FE 3AC8 CMP CL, AL ===> so sánh ký tự thứ 6 với ký tự ' $ '
10001200 74 09 JE SHORT verypdf.1000120B ===> Nếu bằng thì tiếp tục
quá trình tính toán Serial .
10001202 5F POP EDI
10001203 5E POP ESI
10001204 33C0 XOR EAX, EAX
10001206 5B POP EBX
10001207 83C4 18 ADD ESP, 18
1000120A C3 RETN
1000120B 3846 06 CMP BYTE PTR DS:[ESI+6], AL ===> so sánh ký tự thứ
7 với ký tự ' $ '
1000120E 74 09 JE SHORT verypdf.10001219 ===> Nếu bằng thì tiếp tục
quá trình tính toán Serial .
10001210 5F POP EDI
10001211 5E POP ESI
10001212 33C0 XOR EAX, EAX
10001214 5B POP EBX
10001215 83C4 18 ADD ESP, 18
10001218 C3 RETN
10001219 8A4E 07 MOV CL, BYTE PTR DS:[ESI+7] ===> Đưa ký tự thứ 8
trong chuỗi FS vào CL
1000121C 33C0 XOR EAX, EAX
1000121E 80F9 40 CMP CL, 40 ===> so sánh ký tự thứ 8 này với ký tự ' @ '
10001221 5F POP EDI
10001222 5E POP ESI
10001223 5B POP EBX
10001224 0F94C0 SETE AL ===> gán EAX== 0x1
10001227 83C4 18 ADD ESP, 18
1000122A C3 RETN



100019E9 83C4 04 ADD ESP, 4
100019EC 85C0 TEST EAX, EAX ===> kiểm tra EAX= 0 ?
100019EE 74 39 JE SHORT verypdf.10001A29 ===> nếu EAX=0 thì nhảy
đến bắn Bad boy .
100019F0 6A 40 PUSH 40
100019F2 68 50730110 PUSH verypdf.10017350 ; ASCII "Thank you
purchased the"
100019F7 68 28730110 PUSH verypdf.10017328 ; ASCII "Thank you
purchased the PDF2TXT v3.0."

Như vậy theo phân tích ở trên ta thấy Real Serial của chương trình sẽ phả
i thoả mãn các
yêu cầu sau :
1. Chiều dài tối thiểu phải là 16 ký tự

2. ở các vị trí thứ 6, 7, 8 trong chuỗi Ser phải là các ký tự mặc định :
vị trí thứ 6 là $
vị trí thứ 7 là $
vị trí thứ 8 là @

3. Các ký tự ở vị trí S[0] , S[1] , S[14] , S[15] phải là các ký tự thoả mãn điều kiện sau :
S[0] + S[1] = 0x8
S[14] + S[15] = 0xB

4. Các ký tự còn lại là mặc định .

*** Từ đó ta có thể dễ dàng suy ra Real Serial của chương trình là :
35567$$@90123483 :w00t:


*** Chúng ta lại làm tiếp những động tác quen thuộc cuối cùng :) , tắt Ollydbg , chạy thử
chương trình , nhập vào :
Series : 35567$$@90123483
Hoặc :
Series : 44789$$@01234556
Còn nhiều lắm , chúng ta cứ dựa vào các điều kiện trên rồi tổ hợp là ra .

OK ! Done ! Chương trình cảm ơn chúng rối rít ta kìa “thanks ……”, ngại quá :wub:
(chúng ta đâu có đưa money cho họ ) . Thế
mà vừa lúc trước mắng ta te tua : serial tầm
bậy . Đã bảo là chờ tý sẽ có Serial ngay mà lại ko nghe , cứ pop-up ra nhắc nhở ta đăng
ký hoài . Hihiiiiiiiii…… ! :laugh:
Enjoy !
Chúc thành công ! :happy:

SoftWare : PDF Extract TIFF v1.5
Copyright by : Copyright @ 2001-2003 verypdf.com Inc
Packed : N/A .
Language : Microsoft Visual C++ 6.0
Crack Tools : OllyDbg 1.09d, PEiD 0.92
Unpack tools : N/A .
Request : Real Serial .
Introduction : PDF Extract TIFF v1.5
PDF Extract TIFF software is a simple and affordable extraction tool that facilitates the
reuse of PDF files by enabling you to extract images from PDF files and save them as
TIFF images. You can then use or edit the images in other Windows applications such as
MS Word, Adobe Photoshop, or any other image enhancement/manipulation program.
PDF Extract TIFF software can be used to extract pictures from your PDF file on the fly,
but it can't convert text, graphics and other information into the TIFF or JPG files.


I/ Information :
- OK! Bây giờ chúng ta lại bắt đầu làm những động tác “nhà nghề” quen thuộc . Now,
Let’s go ! :ninja: . Dùng PEid v0.92 để Detect , chúng ta biết chương trình không bị Pack
, và được viết bằng Microsoft Visual C++ 6.0 . Phù , thế là không phải Unpack .
Hihiiii……! :laugh:
- Chạy thử chương trình , chúng ta thấy hiện lên một 1 Dialog Box : “Please register PDF

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×