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

Cracker Handbook 1.0 part 170 doc

6 124 2

Đ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 174,52 KB

Nội dung

00402D7B: 68FCE14000 push 00040E1FC ;" @ß³" >NOP 5 byte: Thay 68FCE14000 thành 9090909090 _.00402D80: 8D8DE8FEFFFF lea ecx,[ebp][0FFFFFEE8] _.00402D86: 51 push ecx >NOP 1 byte: Thay 51 thành 90 _.00402D87: 53 push ebx >NOP 1 byte: Thay 53 thành 90 _.00402D88: E8F9AB0000 call MessageBoxA ;USER32.dll >NOP 5 byte: Thay E8F9AB0000 th ành 9090909090 Chú ý : ta ko NOP địa chỉ này : Code: _.00402D80: 8D8DE8FEFFFF lea ecx,[ebp][0FFFFFEE8] - Xong rồI chứ . Bây giờ bấm F9 và rồI F10 thóat HVIEW. Cho chạy ch ương trình đi bạn -O là la , nó mất tiêu rồi. Chúc bạn vui vẽ vớI Tut này. Các bạn nhớ NOP các NAG còn lạI nhé. Hẹn gặp lại. Cách này có vài hạn chế , ko phải dùng được trong các case. Tài liệu tham khảo: Tut Nagscreens của tác giả :chainie_biw@hotmail.com Benina 24/8/2004 Cracking - STACK Method PHƯƠNG PHÁP DÙNG STACK I – Giới thiệu : I.1 – Giới thiệu : - Phương pháp này được dùng trong trường hợp không tìm thấy Death-List ( trực tiếp – tìm thấy trong Olly; hay gián tiếp - Win32dasm … ). - Phương pháp này dựa trên cơ sở chuỗi Death-List thay vì hiện trực tiếp thì sẽ được “ ẩn đi ” và chỉ xuất hiện khi được gọi đến. Và để xuất hiện được thông báo chương trình cần phải lưu các thông số cần thiết vào STACK. - Phương pháp này chính là tìm các dữ liện được nạp vào từ trong STACK, từ đó ta truy ra được mục tiêu cần tiếp cận. I.2 – Phương pháp tổng quát : *** Load chương trình bằng Olly *** Chạy chương trình với Fake Serial, chương trình sẽ hiện thông báo sai . *** Nhấn F12, Olly sẽ dùng lại chương trình tại điểm xuất hiện NAG. *** Nhấn Alt-K để mở cửa sổ : Call Stack of Main Thread *** Double-Click vào hàm hiện thông báo ta trở về chương trình chính. *** Từ đây ta xác định được mục tiêu cần tiếp cận I.3 – Dạng chương trình áp dụng : >>>>>>> Tất cả các dạng chương trình đều có thể sử dụng phương pháp nạy Tuy nhiên, đối với các chương trình có sử dụng hàm MessageBoxA để hiện thông báo thì cách thức sẽ có phần đơn giản hơn . - Dạng chuỗi được mã hoá, và chỉ xuất hiện khi quá trình xử lý. - Dạng không có chuỗi trong Olly, trong kWdsm 10 hay chuỗi mã hoá. - Dạng không có thông báo trong hàm MessageBoxA. - Dạng không sử dụng hàm MessageBoxA. ( thường là các chương trình được viết bằng ngôn ngữ Borland Delphi ). II – Thực hành : II.1 – Dạng chuỗi đã được mã hoá, và chỉ hiện diện sau khi đã được RE : Homepage : http://www.audio-recorder.net Soft : Audio Recorder Deluxe v2.2.36 Cracked File : ard.exe (Microsoft Visual C++ 6.0) - Dùng PeiD kiểm tra biết chương trình được viết bằng Micorsoft Visual C++ 7.0 Method2 - Chạy thử chương trình với User (U) và Fake Serial (FR) ta nhận được thông báo "Incorrect code". 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áo "Incorrect code". 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: 0012D8D8 0017030C hOwner = 0017030C (class='#32770', 0012D8DC 004E6758 Text = "Incorrect code" 0012D8E0 004E6448 Title = "Help" 0012D8E4 00000030 Style = MB_OK|MB_ICONEXCLAMATION|M 0012D8E8 00000000 LanguageID = 0 (LANG_NEUTRAL) 0012D8EC 004993A2 ? USER32.MessageBoxA ard.0049939C 0012D8F0 0017030C hOwner = 0017030C (class='#32770', 0012D8F4 004E6758 Text = "Incorrect code" 0012D8F8 004E6448 Title = "Help" 0012D8FC 00000030 Style = MB_OK|MB_ICONEXCLAMATION|M 0012D904 0041B21B ? ard.00499374 ard.0041B216 **** Ở đây ta chú ý đến dòng : Quote: 0012D8EC 004993A2 ? USER32.MessageBoxA ard.0049939C **** Double-Click vào dòng này ta đến địa chỉ 0049939C : Quote: 0049939C |. FF15 68365300 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA 004993A2 |. 5E POP ESI ; <== Set BreakPoint here **** Sau khi đặt BP ở đây, Olly sẽ dừng chương trình lại, nhấn F8 để xuất hiện lại thông báo "Incorrect code". Nhấn OK để chấp nhận thông báo này, chương trình sẽ dừng lại ngay tại điểm BP này. Xoá điểm đặt BP này đi. Và dùng F8 trace tiếp. **** Sau khi trace qua một số lần (ở chương trình này là 1 lần ) RETN ta nhìn lên trên chút và thấy Quote: 0041B20C . 68 48644E00 PUSH ard.004E6448 ; ASCII "Help" 0041B211 . 68 58674E00 PUSH ard.004E6758 ; ASCII "Incorrect code" 0041B216 > E8 59E10700 CALL ard.00499374 **** Ghi nhớ địa chỉ đoạn CODE này (0041B20C). Load chương trình lại bằng Olly, truy đến địa chỉ này ta thấy thông báo ở đây : Quote: 0041B20C . 68 48644E00 PUSH ard.004E6448 ; ASCII "Help" 0041B211 . 68 58674E00 PUSH ard.004E6758 ; ASCII "Hmbnqqdbs bncd" 0041B216 > 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 "Incorrect code". - Đế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.com Soft : 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.0 Method2 - Chạy thử chương trình với User (U) và Fake Serial (FR) ta nhận được thông báo "Incomplete or incorrect information.". 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 xúat hiện thông báo "Incomplete 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 0012DAEC 0012DAF4 0012030E hOwner = 0012030E ('Register IPMonitor',class='#32770' 0012DAF8 00423B80 Text = "Incomplete or incorrect information." 0012DAFC 008C2678 Title = "dum_" 0012DB00 00000030 Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL 0012DB04 00000000 LanguageID = 0 (LANG_NEUTRAL) 0012DB08 7C1DCD91 ? USER32.MessageBoxA mfc71.7C1DCD8B 0012DB0C 0012030E hOwner = 0012030E ('Register IPMonitor',class='#32770' 0012DB10 00423B80 Text = "Incomplete or incorrect information." 0012DB14 008C2678 Title = "dum_" 0012DB18 00000030 Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL 0012DC44 00417BE1 ? <JMP.&mfc71.#1123> 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 PTR DS:[<&USER32.MessageBoxA>>; USER32.MessageBoxA 7C1DCD91 85FF TEST EDI,EDI ; <== Set BreakPoint here **** Sau khi đặt BP ở đây, Olly sẽ dừng chương trình lại, nhấn F8 để xuất hiện lại thông báo "Incomplete or incorrect information.". Nhấn OK để chấp nhận thông báo này, chương trình sẽ dừng lại ngay tại điểm BP này. Xoá điểm đặt BP này đi. Và dùng F8 trace tiếp. **** Sau khi trace qua một số lần (ở chương trình này là 1 lần ) RETN ta nhìn lên trên chút và thấy Quote: 00417BD5 6A 00 PUSH 0 00417BD7 68 803B4200 PUSH dum_.00423B80 ; ASCII "Incomplete or incorrect information." 00417BDC E8 77240000 CALL <JMP.&mfc71.#1123> 00417BE1 5F POP EDI - Đến đây CRACKING diễn ra bình thường. II.2.2 – Dạng không hiện chuỗi khi truy ngược đến : Homepage : http://www.genie-soft.com Soft : Genie Backup Manager v4.0 b920 Cracked File : GBManager.exe (Microsoft Visual C++ 6.0) - Dùng PeiD kiểm tra biết chương trình được viết bằng Microsoft Visual C++ 6.0 - Chạy thử chương trình với User (U) và Fake Serial (FR) ta nhận được thông báo "Incorrect Serial Number". 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 xúat hiện thông báo "Incorrect Serial Number". 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: 0012DDF4 0032020E hOwner = 0032020E ('Register Genie Backup Mana 0012DDF8 00AE2CB8 Text = "Incorrect Serial Number" 0012DDFC 00AE2558 Title = "Genie Backup Manager" 0012DE00 00000010 Style = MB_OK|MB_ICONHAND|MB_APPLMODAL 0012DE04 00000000 LanguageID = 0 (LANG_NEUTRAL) 0012DE08 73DD9CCB ? USER32.MessageBoxA MFC42.73DD9CC5 0012DE0C 0032020E hOwner = 0032020E ('Register Genie Backup Mana 0012DE10 00AE2CB8 Text = "Incorrect Serial Number" 0012DE14 00AE2558 Title = "Genie Backup Manager" 0012DE18 00000010 Style = MB_OK|MB_ICONHAND|MB_APPLMODAL . "dum_" 0 012 DB 00 000 000 30 Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL 0 012 DB04 00 000 000 LanguageID = 0 (LANG_NEUTRAL) 0 012 DB08 7C1DCD 91 ? USER32.MessageBoxA mfc 71. 7C1DCD8B 0 012 DB0C 0 012 03 0E. (LANG_NEUTRAL) 0 012 D8EC 00 4993A2 ? USER32.MessageBoxA ard .00 49939C 0 012 D8F0 0 017 03 0C hOwner = 0 017 03 0C (class='#327 70& apos;, 0 012 D8F4 00 4E6758 Text = "Incorrect code" 0 012 D8F8 00 4E6448. (class='#327 70& apos;, 0 012 D8DC 00 4E6758 Text = "Incorrect code" 0 012 D8E0 00 4E6448 Title = "Help" 0 012 D8E4 00 000 0 30 Style = MB_OK|MB_ICONEXCLAMATION|M 0 012 D8E8 00 000 000 LanguageID = 0 (LANG_NEUTRAL)

Ngày đăng: 03/07/2014, 17:21

TỪ KHÓA LIÊN QUAN