Thông tin tài liệu:
Ta trở về chương trình trong Olly. Đặt BreakPoint ở lệnh ngay bên dưới địa chỉ này. Nhấn F8 để chạy chương trình. Xuất hiện thông báo "Incorrect Serial Number". Nhấn OK, Olly lập tức dùng chương trình lại. Dùng F8 trace cho đến khi ta trở lại chương trình chính
Nội dung trích xuất từ tài liệu:
Cracking part 33Quote:0041B20C . 68 48644E00 PUSH ard.004E6448 ; ASCII Help0041B211 . 68 58674E00 PUSH ard.004E6758 ; ASCII Hmbnqqdbs bncd0041B216 > E8 59E10700 CALL ard.00499374**** Chuỗi Hmbnqqdbs bncd chính là chuỗi Incorrect code được mã hoá. Khi quátrình xử lý diễn ra đến đây, chuỗi này sẽ được mã hoá ngược để cho ra chuỗi Incorrectcode.- Đến đây CRACKING diễn ra bình thường.II.2 - Dạng không có chuỗi trong Olly, trong kWdsm 10 hay chuỗi mã hoá.II.3.1 – Dạng hiện chuỗi khi truy ngược đến :Homepage : http://www. ipmonitor.tsarfin.comSoft : IPMonitor - Version 4.8 (Build 804)Cracked File : IPMonitor.exe (Micorsoft Visual C++ 7.0 Method2 )- Dùng PeiD kiểm tra biết chương trình được viết bằng Micorsoft Visual C++ 7.0Method2- Chạy thử chương trình với User (U) và Fake Serial (FR) ta nhận được thông báoIncomplete or incorrect information.. Ta không thể tìm được chuỗi này trong Ollycũng như trong kWdsm 10, nên ta dử dụng phương pháp dùng STACK :**** Load và chạy chương trình với U và FR. Chương trình xúat hiện thông báoIncomplete or incorrect information.. Giữ nguyên chương trình. Quay trở lại Olly.**** Sau khi quay trở lại Olly, 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 :Quote:0012DAF0 77D6649A ?USER32.MessageBoxExA USER32.77D66495 0012DAEC0012DAF4 0012030E hOwner = 0012030E (Register IPMonitor,class=#327700012DAF8 00423B80 Text = Incomplete or incorrect information.0012DAFC 008C2678 Title = dum_0012DB00 00000030 Style =MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL0012DB04 00000000 LanguageID = 0 (LANG_NEUTRAL)0012DB08 7C1DCD91 ?USER32.MessageBoxA mfc71.7C1DCD8B0012DB0C 0012030E hOwner = 0012030E (Register IPMonitor,class=#327700012DB10 00423B80 Text = Incomplete or incorrect information.0012DB14 008C2678 Title = dum_0012DB18 00000030 Style =MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL0012DC44 00417BE1 ? dum_.00417BDC**** Ở đây ta chú ý đến dòng :Quote:0012DB08 7C1DCD91 ? USER32.MessageBoxA mfc71.7C1DCD8B**** Double-Click vào dòng này ta đến địa chỉ 7C1DCD8B :Quote:7C1DCD8B FF15 4016147C CALL DWORD PTRDS:[>; USER32.MessageBoxA7C1DCD91 85FF TEST EDI,EDI ; 0012DDF4 0032020E hOwner = 0032020E (Register Genie Backup Mana0012DDF8 00AE2CB8 Text = Incorrect Serial Number0012DDFC 00AE2558 Title = Genie Backup Manager0012DE00 00000010 Style = MB_OK|MB_ICONHAND|MB_APPLMODAL0012DE04 00000000 LanguageID = 0 (LANG_NEUTRAL)0012DE08 73DD9CCB ?USER32.MessageBoxA MFC42.73DD9CC50012DE0C 0032020E hOwner = 0032020E (Register Genie Backup Mana0012DE10 00AE2CB8 Text = Incorrect Serial Number0012DE14 00AE2558 Title = Genie Backup Manager0012DE18 00000010 Style = MB_OK|MB_ICONHAND|MB_APPLMODAL**** Double-Click vào dòng :Quote:0012DE08 73DD9CCB ?USER32.MessageBoxA MFC42.73DD9CC5**** Ta trở về chương trình trong Olly. Đặt BreakPoint ở lệnh ngay bên dưới địa chỉ này.Nhấn F8 để chạy chương trình. Xuất hiện thông báo Incorrect Serial Number. NhấnOK, Olly lập tức dùng chương trình lại.**** Dùng F8 trace cho đến khi ta trở lại chương trình chính :Quote:0045DC33 . E8 407E0700 CALL 0045DC38 . 51 PUSH ECX**** Nhìn lên trên chút ta thấy có lệnh nhảy qua đoạn CODE này. Như vậy đây chính làđoạn CODE ta cần trong quá trình xem xét quá trình mã hoá của chương trình.Quote:0045DC1A . E8 01400500 CALL GBManage.004B1C20 ;GBManage.004B1C200045DC1F . 85C0 TEST EAX,EAX0045DC21 . 74 45 JE SHORT GBManage.0045DC68 ; - Chạy thử chương trình với User (U) và Fake Serial (FR) ta nhận được thông báoInvalid registration info!. Ta không thể tìm được chuỗi này trong Olly cũng nhưtrong kWdsm 10, nên ta dử dụng phương pháp dùng STACK :**** Load và chạy chương trình với U và FR. Chương trình xuất hiện thông báoInvalid registration info!. Giữ nguyên chương trình. Quay trở lại Olly.**** Sau khi quay trở lại Olly, nhấn F12, Olly sẽ dừng chương trình lại. Nhấn tiếp Alt-Kđể hiện Call stack of main thread :Quote:Address Stack Procedure / arguments Called from Frame0012EB70 77D43C6B Includes 7FFE0304 USER32.77D43C69 0012EBA40012EB74 77D4B406 USER32.WaitMessage USER32.77D4B401 0012EBA40012EBA8 77D4D9AA USER32.77D4B279 USER32.77D4D9A5 0012EBA40012EBD0 77D662F4 USER32.77D4D8F6 USER32.77D662EF 0012EBCC0012EE88 77D65D77 ? USER32.SoftModalMessageBox USER32.77D65D72 0012EE100012EF5C 77F6379E ntdll.77F78C4E ntdll.77F63799 0012EF58**** Ở đây ta chú ý đến dòng :Quote:0012EE88 77D65D77 ? USER32.SoftModalMessageBox USER32.77D65D72 0012EE10**** Double-Click vào dòng này ta đến địa chỉ 77D65D72 :Quote:77D65D72 E8 19000000 CALL USER32.SoftModalMessageBox77D65D77 66:837E 2C 00 CMP WORD PTR DS:[ESI+2C],0 ; - Dùng PeiD kiểm tra biết chương trình được PACK bằng ASPack 2.11c -> Alexey ...