Posted by: hacnho Nov 25 2003, 07:48 AM How to crack ReadmeSoft Avi2Divx phiên bản 2003 Phần mềm: ReadmeSoft Avi2Divx Bảo vệ: Trial Version/ Name Serial. Công cụ : -OllyDBG 1.09d, PEiD 0.91 Phương pháp crack: Find real serial Mức độ: ()Dễ (x)Vừa ()Hơi khó ()Rất khó File cần crack: avi2divx.exe Cracker: hacnho (hacnho_hva@yahoo.com) Website: http://www.hvaonline.net I. Giới thiệu ReadmeSoft avi2divx is a video converting tools. You can use it to convert avi to divX ,convert mpeg to divX ,MOV to divX. Các bạn có thể tải ReadmeSoft Avi2Divx từ trang http://www.readmesoft.com II. Bắt tay vào crack Đầu tiên, chạy ReadmeSoft Avi2Divx , các bạn nhấn vào nút Register/Buy now để đăng ký. Ở đây hacnho nhập vào User name: hacnho và Registration Code là 15101983. Ặc ặc, không có nag nào hiện ta. Không sao, ta tiếp tục thám hiểm soft bằng cách dùng PEiD 0.91 để detect: Microsoft Visual C++ 6.0. Vậy là soft này không có pack và viết bằng C++. Load ReadmeSoft Avi2Divx lên bằng OllyDBG. Cố gắng tìm ra những dòng string có liên quan bởi vì chúng ta không hề có một nag nào để gợi nhớ cả. Hé hé, không biết các bạn thì sao chứ hacnho nhìn thấy dòng string 004148DC |. 68 D82D4200 PUSH avi2divx.00422DD8 ; ASCII "Name" là hacnho biết phải làm gì rồi . Chúng ta double click vào để tới đoạn code mà đoạn string này "toạ lạc". Nếu thực hành đúng những như hacnho hướng dẫn thì các bạn sẽ thấy một đoạn code như sau: 00414890 /$ 6A FF PUSH -1 00414892 |. 68 50924100 PUSH avi2divx.00419250 ; SE handler installation 00414897 |. 64:A1 00000000 MOV EAX,DWORD PTR FS:[0] 0041489D |. 50 PUSH EAX 0041489E |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP 004148A5 |. 83EC 10 SUB ESP,10 004148A8 |. 53 PUSH EBX 004148A9 |. 56 PUSH ESI 004148AA |. 8BF1 MOV ESI,ECX 004148AC |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10] 004148B0 |. E8 EB230000 CALL <JMP.&MFC42.#540> 004148B5 |. 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C] 004148B9 |. C74424 20 0000>MOV DWORD PTR SS:[ESP+20],0 004148C1 |. E8 DA230000 CALL <JMP.&MFC42.#540> 004148C6 |. BB 01000000 MOV EBX,1 004148CB |. 885C24 20 MOV BYTE PTR SS:[ESP+20],BL 004148CF |. E8 B6270000 CALL <JMP.&MFC42.#1168> < Đặt breakpoint tại đây! 004148D4 |. 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4] 004148D7 |. 68 04214200 PUSH avi2divx.00422104 ; ASCII "name" 004148DC |. 68 D82D4200 PUSH avi2divx.00422DD8 ; ASCII "Name" 004148E1 |. 8D4C24 1C LEA ECX,DWORD PTR SS:[ESP+1C] 004148E5 |. 68 10224200 PUSH avi2divx.00422210 ; ASCII "RegAT" 004148EA |. 51 PUSH ECX 004148EB |. 8BC8 MOV ECX,EAX 004148ED |. E8 8A290000 CALL <JMP.&MFC42.#3522> 004148F2 |. 50 PUSH EAX < đẩy Name (hacnho) vào EAX 004148F3 |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10] < Chuyển vào ECX 004148F7 |. C64424 24 02 MOV BYTE PTR SS:[ESP+24],2 004148FC |. E8 4D240000 CALL <JMP.&MFC42.#858> 00414901 |. 8D4C24 14 LEA ECX,DWORD PTR SS:[ESP+14] 00414905 |. 885C24 20 MOV BYTE PTR SS:[ESP+20],BL 00414909 |. E8 80230000 CALL <JMP.&MFC42.#800> 0041490E |. E8 77270000 CALL <JMP.&MFC42.#1168> 00414913 |. 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4] 00414916 |. 68 D02D4200 PUSH avi2divx.00422DD0 ; ASCII "code" 0041491B |. 68 C82D4200 PUSH avi2divx.00422DC8 ; ASCII "Code" 00414920 |. 8D5424 1C LEA EDX,DWORD PTR SS:[ESP+1C] 00414924 |. 68 10224200 PUSH avi2divx.00422210 ; ASCII "RegAT" 00414929 |. 52 PUSH EDX 0041492A |. 8BC8 MOV ECX,EAX 0041492C |. E8 4B290000 CALL <JMP.&MFC42.#3522> 00414931 |. 50 PUSH EAX < đẩy Code (15101983) vào EAX 00414932 |. 8D4C24 14 LEA ECX,DWORD PTR SS:[ESP+14] < Chuyển vào ECX 00414936 |. C64424 24 03 MOV BYTE PTR SS:[ESP+24],3 0041493B |. E8 0E240000 CALL <JMP.&MFC42.#858> 00414940 |. 8D4C24 14 LEA ECX,DWORD PTR SS:[ESP+14] 00414944 |. 885C24 20 MOV BYTE PTR SS:[ESP+20],BL 00414948 |. E8 41230000 CALL <JMP.&MFC42.#800> 0041494D |. 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8] 00414951 |. E8 4A230000 CALL <JMP.&MFC42.#540> 00414956 |. 51 PUSH ECX 00414957 |. 8D4424 10 LEA EAX,DWORD PTR SS:[ESP+10] 0041495B |. 8BCC MOV ECX,ESP 0041495D |. 896424 18 MOV DWORD PTR SS:[ESP+18],ESP 00414961 |. 50 PUSH EAX 00414962 |. C64424 28 04 MOV BYTE PTR SS:[ESP+28],4 00414967 |. E8 28230000 CALL <JMP.&MFC42.#535> 0041496C |. 8D4C24 18 LEA ECX,DWORD PTR SS:[ESP+18] ; | 00414970 |. 51 PUSH ECX ; |Arg1 00414971 |. 8BCE MOV ECX,ESI ; | 00414973 |. E8 28010000 CALL avi2divx.00414AA0 ; \avi2divx.00414AA0 00414978 |. 50 PUSH EAX 00414979 |. 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C] 0041497D |. C64424 24 05 MOV BYTE PTR SS:[ESP+24],5 00414982 |. E8 C7230000 CALL <JMP.&MFC42.#858> 00414987 |. 8D4C24 14 LEA ECX,DWORD PTR SS:[ESP+14] 0041498B |. C64424 20 04 MOV BYTE PTR SS:[ESP+20],4 00414990 |. E8 F9220000 CALL <JMP.&MFC42.#800> 00414995 |. 8B5424 08 MOV EDX,DWORD PTR SS:[ESP+8] 00414999 |. 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10] 0041499D |. 52 PUSH EDX ; /s2 < Số Registration Code ở đây: 16235856541767469020 0041499E |. 50 PUSH EAX ; |s1 < Số Fake Code của bạn: 15101983 0041499F |. FF15 E0A54100 CALL DWORD PTR DS:[<&MSVCRT._mbscmp>] ; \_mbscmp < Gọi hàm so sánh 004149A5 |. 83C4 08 ADD ESP,8 004149A8 |. 885C24 20 MOV BYTE PTR SS:[ESP+20],BL 004149AC |. 85C0 TEST EAX,EAX < Kiểm tra 004149AE |. 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8] 004149B2 |. 75 37 JNZ SHORT avi2divx.004149EB < Nhảy, nhảy, nhảy 004149B4 |. E8 D5220000 CALL <JMP.&MFC42.#800> 004149B9 |. 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C] 004149BD |. C64424 20 00 MOV BYTE PTR SS:[ESP+20],0 004149C2 |. E8 C7220000 CALL <JMP.&MFC42.#800> 004149C7 |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10] 004149CB |. C74424 20 FFFF>MOV DWORD PTR SS:[ESP+20],-1 004149D3 |. E8 B6220000 CALL <JMP.&MFC42.#800> 004149D8 |. 8BC3 MOV EAX,EBX 004149DA |. 8B4C24 18 MOV ECX,DWORD PTR SS:[ESP+18] 004149DE |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 004149E5 |. 5E POP ESI 004149E6 |. 5B POP EBX 004149E7 |. 83C4 1C ADD ESP,1C 004149EA |. C3 RETN 004149EB |> E8 9E220000 CALL <JMP.&MFC42.#800> 004149F0 |. 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C] 004149F4 |. C64424 20 00 MOV BYTE PTR SS:[ESP+20],0 004149F9 |. E8 90220000 CALL <JMP.&MFC42.#800> 004149FE |. 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10] 00414A02 |. C74424 20 FFFF>MOV DWORD PTR SS:[ESP+20],-1 00414A0A |. E8 7F220000 CALL <JMP.&MFC42.#800> 00414A0F |. 8B4C24 18 MOV ECX,DWORD PTR SS:[ESP+18] 00414A13 |. 5E POP ESI 00414A14 |. 33C0 XOR EAX,EAX 00414A16 |. 64:890D 000000>MOV DWORD PTR FS:[0],ECX 00414A1D |. 5B POP EBX 00414A1E |. 83C4 1C ADD ESP,1C 00414A21 \. C3 RETN Chúng ta nhận thấy trước dòng Name có một hàm call Chắc chắn rằng nó phải gọi một cái gì đó. Okie, chúng ta đặt breakpoint tại đây để bắt đầu trace Nhấn F2 tại địa chỉ 004148CF, Nhấn F9 Ặc ặc, cầu trời cho nó Ice Ohh sit, nó không ice Làm sao đây??? Chả lẽ lại bỏ, hè hè Tiếp tục nhấn F9 lần nữa. Trời ạ, vẫn không ice. Tiếp tục nhấn lần nữa. Hừ, lần này mà không ice là dẹp luôn đó . Okie, lần này thì nó ice rồi. Hic hic, các bạn trace downward Theo bảng phân tích trên của hacnho, bạn chỉ cần trace down tới địa chỉ 0041499D bạn chỉ cần d eax sẽ ra số Registration code. Ở đây số của hacnho là 16235856541767469020 Wow, it's now cracked by hacnho User Name: hacnho Registration Code: 16235856541767469020 III. Kết luận Tut đến đây là END. Hẹn gặp trong tut sau. . sau: 00 414 8 90 /$ 6A FF PUSH -1 00 414 892 |. 68 509 2 4 10 0 PUSH avi2divx .00 419 2 50 ; SE handler installation 00 414 897 |. 64:A1 00 000 000 MOV EAX,DWORD PTR FS: [0] 00 414 89D |. 50 PUSH EAX 00 414 89E. SS:[ESP +18 ] ; | 00 414 9 70 |. 51 PUSH ECX ; |Arg1 00 414 9 71 |. 8BCE MOV ECX,ESI ; | 00 414 973 |. E8 28 01 0 00 0 CALL avi2divx .00 414 AA0 ; avi2divx .00 414 AA0 00 414 978 |. 50 PUSH EAX 00 414 979 |. 8D4C24 0C. 00 414 909 |. E8 802 300 00 CALL <JMP.&MFC42.# 800 > 00 414 90E |. E8 772 700 00 CALL <JMP.&MFC42. #11 68> 00 414 913 |. 8B 40 04 MOV EAX,DWORD PTR DS:[EAX+4] 00 414 916 |. 68 D02D4 200