Cracking part 6 docx

6 306 0
Cracking part 6 docx

Đang tải... (xem toàn văn)

Thông tin tài liệu

Extract TIFF v1.5 ”, và chương trình chỉ cho phép chúng ta dùng thử 100 lần nếu chúng ta ko đưa money cho họ và đổi lại họ sẽ đưa số Serial cho chúng ta . Đưa money để buy soft á . Nghe hơi lạ tai , chúng ta đâu có thói quen này , và lần này cũng vậy thôi hãng VeryPdf ạ ! Hihiiiii :) Muốn vậy thì chúng ta chỉ có 1 cách duy nhất là Kill & Kill nó thôi . Thông cảm nhé hãng VeryPdf , $ còn phải dùng vào nhiều việc lém . haha ! :D - OK ! bây giờ nhìn vào Dialog ta thấy mã ID của Software : Product ID : [ZLTA987654325JNX] (cái này ta ko cần quan tâm làm gì cho mệt óc ) . Nhìn xuống phía dưới là chỗ mà ta phải nhập Series , đây mới là chỗ ta cần . OK ! ta nhập đại vào 1 cái Series xem nó bảo sao . Ở đây em nhập là : Series : 0361985 . Nhấn OK . Oh ! 1 cái nag văng ra như súng AK đập ngay vào mặt chúng ta : "Series number error , please check it and try again " . Nó chửi Serial của chúng ta tầm bậy các bạn ạ :(( . Thế có ức ko cơ chứ , mà cũng đúng thôi , nếu chúng ta nhập đúng thì chúng ta đã chẳng phải ngồi đây . Hihi ! :wub: Khi chúng ta exit cái Dialog Box đó nó còn pop-up ra 1 cái nag nhắc nhở ta : "Please register " , biết rồi nói mãi , làm gì mà cứ nhắc hoài thế , chờ tý nữa tớ sẽ đưa Serial (not money ) ngay thôi mà . Hihi ! :smiling: Ok , chúng ta hãy ghi nhớ lấ y tất cả những thứ đó . - Bây giờ chúng ta hãy load chương trình vào trong OllyDbg , click chuột phải chọn Search for / All referenced text strings để tìm chuỗi thông báo trên . Ặc ặc mất mấy vài phút mà vẫn không thấy cái thông báo đó đâu cả . Chẳng nhẽ chúng ta lại chịu bó tay trước thời cuộc sao . Không đâu các bạn cứ bình tĩnh , chúng ta lại sử dụng phương pháp Stackcủa anh Moonbaby . - Nhấn Ctrl + F2 để load lại chương trình vào trong OllyDbg . Nhấn F9 để Run chương trình . Chúng ta lại nh ập FS như ở trên vào , ở đây ta nhập là Series : 0361985 . Xong 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: Call stack of main thread Address Stack Procedure / arguments Called from Frame 0012EF60 10001867 ? USER32.MessageBoxA verypdf.10001861 0012EF64 00150356 hOwner = 00150356 ('Please registe 0012EF68 100172D0 Text = "Series number error, pleas 0012EF6C 00000000 Title = NULL 0012EF70 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: 1000185B 68 D0720110 PUSH verypdf.100172D0 ; ASCII "Series number error, please check it and try again." 10001860 56 PUSH ESI 10001861 FF15 34330110 CALL NEAR DWORD PTR DS:[<&USER32.Mess>; USER32.MessageBoxA ===> We’re here . 10001867 68 FB030000 PUSH 3FB ===> Set BreakPoint here . 1000186C 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 :w00t: , ta sẽ đặt BP tại đây : Code: 10001807 FF15 2C330110 CALL NEAR DWORD PTR DS:[<&USER32.GetD>; USER32.GetDlgItemTextA ===> Set BreakPoint Here . 1000180D 68 20A80110 PUSH verypdf.1001A820 ; 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. :wink: 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: 10001812 E8 E9F7FFFF CALL verypdf.10001000 Ở đâ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: 10001807 FF15 2C330110 CALL NEAR DWORD PTR DS:[<&USER32.GetD>; USER32.GetDlgItemTextA ===> We're here . 1000180D 68 20A80110 PUSH verypdf.1001A820 10001812 E8 E9F7FFFF CALL verypdf.10001000 ===> gọi hàm check Serial . Trace Into 10001000 83EC 18 SUB ESP, 18 10001003 56 PUSH ESI 10001004 8B7424 20 MOV ESI, DWORD PTR SS:[ESP+20] >>> Đưa Input vào ESI 10001008 8D5424 04 LEA EDX, DWORD PTR SS:[ESP+4] 1000100C 57 PUSH EDI 1000100D 8A06 MOV AL, BYTE PTR DS:[ESI] ===> Đưa ký tự thứ nhất trong chuỗi FS vào AL 1000100F 8A4E 0F MOV CL, BYTE PTR DS:[ESI+F] ===> Đưa ký tự thứ 16 trong chuỗi FS vào CL 10001012 884424 14 MOV BYTE PTR SS:[ESP+14], AL ===> đoạn SS:[ESP+14] chứa ký tự thứ nhất 10001016 32C0 XOR AL, AL 10001018 52 PUSH EDX 10001019 884424 19 MOV BYTE PTR SS:[ESP+19], AL 1000101D 884C24 0C MOV BYTE PTR SS:[ESP+C], CL ===> đoạn SS:[ESP+C] chứa ký tự thứ 16 10001021 884424 0D MOV BYTE PTR SS:[ESP+D], AL ===> đoạn SS:[ESP+D] chứa ký tự thứ nhất . 10001025 E8 FB140000 CALL verypdf.10002525 1000102A 8BF8 MOV EDI, EAX ===> Đưa ký tự thứ 16 trong chuỗi FS vào EDI 1000102C 8D4424 18 LEA EAX, DWORD PTR SS:[ESP+18] ===> Đưa ký tự thứ nhất trong chuỗi FS vào EAX 10001030 50 PUSH EAX 10001031 E8 EF140000 CALL verypdf.10002525 10001036 03F8 ADD EDI, EAX ===> lấy tổng của ký tự thứ nhất + ký tự thứ 16 10001038 83C4 08 ADD ESP, 8 1000103B 83FF 0A CMP EDI, 0A ===> so sánh với 0A 1000103E 74 08 JE SHORT verypdf.10001048 ==> Nếu bằng thì tiếp tục quá trình tính toán Serial . 10001040 5F POP EDI 10001041 33C0 XOR EAX, EAX 10001043 5E POP ESI 10001044 83C4 18 ADD ESP, 18 10001047 C3 RETN 10001048 807E 01 38 CMP BYTE PTR DS:[ESI+1], 38 ===> So sánh ký tự thứ 2 với 8 1000104C 74 08 JE SHORT verypdf.10001056 ==> Nếu bằng thì tiếp tục quá trình tính toán Serial . 1000104E 5F POP EDI 1000104F 33C0 XOR EAX, EAX 10001051 5E POP ESI 10001052 83C4 18 ADD ESP, 18 10001055 C3 RETN 10001056 8A4E 05 MOV CL, BYTE PTR DS:[ESI+5] ===> Đưa ký tự thứ 6 trong chuỗi FS vào CL 10001059 33C0 XOR EAX, EAX 1000105B 80F9 2A CMP CL, 2A ===> so sánh ký tự thứ 6 với ký tự ' * ' 1000105E 5F POP EDI 1000105F 0F94C0 SETE AL 10001062 5E POP ESI 10001063 83C4 18 ADD ESP, 18 10001066 C3 RETN 10001817 83C4 04 ADD ESP, 4 1000181A 85C0 TEST EAX, EAX ===> kiểm tra EAX= 0 ? 1000181C 74 39 JE SHORT verypdf.10001857 ===> nếu EAX=0 thì nhảy đến bắn Bad boy . 1000181E 6A 40 PUSH 40 10001820 68 30730110 PUSH verypdf.10017330 ; ASCII "Thank you registered" 10001825 68 04730110 PUSH verypdf.10017304 ; ASCII "Thank you registered PDFExtractTIFF v1.5." ***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ứ 2, 6 trong chuỗi Ser phải là các ký tự mặc định : vị trí thứ 2 là 8 vị trí thứ 6 là * 3. Các ký tự ở vị trí S[0] , S[15]phải là các ký tự từ 1 -> 9 và phải thoả mãn điều kiện sau : S[0] + S[15] = 0xA 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à : 18901*7890123459 *** 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 : 18901*7890123459 Hoặc : Series : 58234*thanhvan85 (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 . ) :cool: 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 ! :smiling: SoftWare : PDF Password Remover v2.2 Copyright by : Copyright @ 2001-2003 verypdf.com Inc Packed : UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo Language : Microsoft Visual C++ 6.0 Crack Tools : OllyDbg 1.09d, PEiD v0.92 Unpack tools : UPX Unpack , hoặc dùng plugin của PeiD (có RebuildPE ) Request : Real Serial . Introduction : PDF Password Remover v2.2 The PDF Password Remover can be used to decrypt protected Adobe Acrobat PDF files, which have "owner" password set, preventing the file from editing (changing), printing, selecting text and graphics (and copying them into the Clipboard), or adding/changing annotations and form fields. Decryption is being done instantly. Decrypted file can be opened in any PDF viewer (e.g. Adobe Acrobat Reader) without any restrictions i.e. with edit/copy/print functions enabled. All versions of Adobe Acrobat (including 5.x, which features 128-bit encryption) are supported. I/ Information : - Now , bây giờ chúng ta lại tiếp tục lôi đồ nghề ra nào . Và như được lập trình sẵn ta lại làm :) : Dùng PEid v0.92 để Detect , chúng ta biết chương trình được pack bằng UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo . Ta dùng tool : UPX Unpack để unpack chương trình này , hoặc chúng ta cũng có thể dùng Plugin của PEiD (có ReBuildPE ) để unpack . Trước khi Unpack Size là : 23,5KB , sau khi Unpack Size là : 80KB . Sau khi unpack xong , l ại dùng PEiD v0.92 để Detect , chúng ta biết chương trình được viết bằng Microsoft Visual C++ 6.0 - Vẫn là động tác quen thuộc :D : Chạy thử chương trình , chúng ta thấy hiện lên một 1 Dialog Box : “Please register PDF Password Remover v2.2” , và chương trình chỉ cho phép chúng ta dùng thử 100 lần nếu chúng ta ko đưa money cho họ và đổi lại họ sẽ đưa số Serial cho chúng ta . Đưa money để buy soft á . Nghe hơi lạ tai , :D chúng ta đâu có thói quen này , và lần này cũng vậy thôi hãng VeryPdf ạ ! Hihiiiii :P Muốn vậy thì chúng ta chỉ có 1 cách duy nhất là Kill & Kill nó thôi . Thông cảm nhé hãng VeryPdf , $ còn phả i dùng vào nhiều việc lém . Hihiiii…… ! :wub: - OK ! bây giờ nhìn vào Dialog ta thấy mã ID của Software : Product ID : “[ZLTA987654325JNX] ” (cái này ta ko cần quan tâm làm gì cho mệt óc ) . Nhìn xuống phía dưới là chỗ mà ta phải nhập Series , đây mới là chỗ ta cần . OK ! ta nhập đại vào 1 cái Series xem nó bảo sao . Ở đây em nhập là : Series : 0361985 . Nhấn OK . Oh ! Tất lẽ dĩ ngẫu là 1 cái nag sẽ văng ra, đập ngay vào mặt chúng ta ( ko văng nag ra mới là chuyện lạ :-o ) :"Series number error , please check it and try again " . Nó chửi Serial  . Frame 0012EF60 10001 867 ? USER32.MessageBoxA verypdf.10001 861 0012EF64 001503 56 hOwner = 001503 56 ('Please registe 0012EF68 100172D0 Text = "Series number error, pleas 0012EF6C 00000000. chỉ sau : Code: 1000185B 68 D0720110 PUSH verypdf.100172D0 ; ASCII "Series number error, please check it and try again." 10001 860 56 PUSH ESI 10001 861 FF15 34330110 CALL NEAR DWORD. DS:[<&USER32.Mess>; USER32.MessageBoxA ===> We’re here . 10001 867 68 FB030000 PUSH 3FB ===> Set BreakPoint here . 1000186C 56 PUSH ESI *** Sau khi đặt BP tại đây , Ollydbg sẽ dừng chương

Ngày đăng: 01/07/2014, 13:20

Tài liệu cùng người dùng

Tài liệu liên quan