118E0340 56 PUSH ESI 118E0341 8BF1 MOV ESI, ECX 118E0343 E8 1F3CFFFF CALL CAOT_Aut.118D3F67 <= nhảy tới hàm check serial (1) 118E0348 85C0 TEST EAX, EAX <= so sánh kết quả trả về từ hàm Call ở trên 118E034A 74 10 JE SHORT CAOT_Aut.118E035C <= đúng thì báo soft đã đăng ký, sai thì nhảy ra “Wrong code” 118E034C 6A 00 PUSH 0 118E034E 6A 40 PUSH 40 118E0350 68 988C9411 PUSH CAOT_Aut.11948C98 ; ASCII "You have registered this product. Thank you for using our products." 118E0355 E8 84A00500 CALL <JMP.&MFC70.#1014> 118E035A 5E POP ESI 118E035B C3 RETN 118E035C 8BCE MOV ECX, ESI 118E035E 5E POP ESI 118E035F ^ E9 DD2AFFFF JMP CAOT_Aut.118D2E41 Như vậy bạn đã hiểu rồi chứ ?. J Giờ tiếp tục. Đặt con trỏ tại dòng này và bấm Enter: Quote: 118E0343 E8 1F3CFFFF CALL CAOT_Aut.118D3F67 <= nhảy tới hàm check serial Olly đưa ta tới đây (ta vẫn không đụng chạm gì đến cửa sổ Register của AutoCAD): Quote: 118D3F67 /E9 44800300 JMP CAOT_Aut.1190BFB0 (2) Bấm Enter tiếp tại dòng đó, Olly đưa ta tới đây: Quote: 1190BFB0 6A FF PUSH -1 1190BFB2 68 ED1E9411 PUSH CAOT_Aut.11941EED 1190BFB7 64:A1 00000000 MOV EAX, DWORD PTR FS:[0] 1190BFBD 50 PUSH EAX 1190BFBE 64:8925 0000000>MOV DWORD PTR FS:[0], ESP 1190BFC5 81EC 94000000 SUB ESP, 94 1190BFCB A1 889D9511 MOV EAX, DWORD PTR DS:[11959D88] ………………………………………… � � ……………………………. Đó, trong đoạn code đó chính là những hàm generate, check serial, Ai muốn keygen thì mời đọc kỹ đoạn đó. J Giờ ta chỉ việc đổi lệnh PUSH thành MOV EAX,1 và RET ngay sau nó. Tiếp theo thử xem lại menu About và Register, thấy báo là đã thành Full Registered. Tiếp tục Copy All Modified to Excecutable file. Ặc ặc… tự dưng Olly báo “chỗ này là đoạn code, hệ thống sẽ tự động thay thế gì gì đó”. Kệ cứ save file lại đã. Giờ tắt Olly, load AutoCAD2k6 chạy thử…. ÓE ÓE ÓE… CRASH…. CRASH…. CHẾT CHẾT… SAI RỒI… Xóa bỏ file CAO_AUTOXLSTABLE.ARX, và lấy lại file nguyên thủy. Giờ ta làm lại từ đầu, tới vị trí (1) . Cuộn con trỏ lên 1 chút ta thấy cả chục dòng có lệnh NOP . Như vậy ta có trò chơi ở đây rồi… hê hê… Chuyển con trỏ xuống sau lệnh: Quote: 1189035F .^\E9 DD2AFFFF JMP CAOT_Aut.11882E41 Tại 11890365 ta bấm SPACE và gõ MOV EAX,1 , bấm ENTER. Tại dòng tiếp theo 1189036A , bấm SPACE và gõ RET , bấm ENTER. Sau khi làm xong thì có dạng như thế này (đoạn này học của Computer_Angel :) ) : Quote: 1189035F .^\E9 DD2AFFFF JMP CAOT_Aut.11882E41 118903xx NOP 11890365 MOV eax, 1 1189036A RETN 118903xx NOP Giờ nhớ lấy cái địa chỉ 11890365 . Tại vị trí (1) bấm Enter ta nhảy tới (2). Giờ bấm SPACE và sửa JMP 118BBFB0 thành JMP 11890365 Giờ Copy All modified to Executable file, save file, (KHÔNG THẤY OLLY HỎI HAN GÌ NHƯ LẦN TRƯỚC HẾT), close all và chạy thử… hí hí…. Chương trình đã thành Full Registered (theo thông báo của Menu Item About và Register) không có lỗi. Xong một phần. :D Chỉnh thời gian cho hết hạn free trial. Thử sử dụng chương trình, oh, tính năng chính là Insert Table và Edit Table vẫn chưa hoạt động. Hiện bảng Register. Ok. Run AutoCAD2k6. Load Olly, Attach acad.exe. Chờ cho Olly analyze xong, trong lúc chờ, thấy hiện thông báo gì thì cứ bấm OK. Xong! Bấm F9 để chạy AutoCAD. Lúc này, chọn Insert Table, Edit Table đều hiện cửa sổ Register. OK. Biết thế đã. Làm tương tự mấy bước trên ta tìm được đoạn này: Quote: 118926E0 > \64:A1 0000000>MOV EAX, DWORD PTR FS:[0] 118926E6 . 6A FF PUSH -1 118926E8 . 68 38028F11 PUSH CAOT_Aut.118F0238 118926ED . 50 PUSH EAX 118926EE . 64:8925 00000>MOV DWORD PTR FS:[0], ESP 118926F5 . 83EC 08 SUB ESP, 8 118926F8 . 56 PUSH ESI 118926F9 . 57 PUSH EDI 118926FA . 8BF9 MOV EDI, ECX 118926FC . E8 91F2FEFF CALL CAOT_Aut.11881992 (1) BẤM ENTER TẠI ĐÂY 11892701 . 85C0 TEST EAX, EAX 11892703 . 74 5F JE SHORT CAOT_Aut.11892764 11892705 . B9 C8F19011 MOV ECX, CAOT_Aut.1190F1C8 1189270A . E8 A219FFFF CALL CAOT_Aut.118840B1 1189270F . 85C0 TEST EAX, EAX 11892711 . 74 51 JE SHORT CAOT_Aut.11892764 11892713 . 83EC 18 SUB ESP, 18 11892716 . 8BC4 MOV EAX, ESP 11892718 . 896424 20 MOV DWORD PTR SS:[ESP+20], ESP 1189271C . 33F6 XOR ESI, ESI 1189271E . 51 PUSH ECX 1189271F . 8BCC MOV ECX, ESP 11892721 . 896424 24 MOV DWORD PTR SS:[ESP+24], ESP 11892725 . 68 788E8F11 PUSH CAOT_Aut.118F8E78 1189272A . 8930 MOV DWORD PTR DS:[EAX], ESI 1189272C . 8970 04 MOV DWORD PTR DS:[EAX+4], ESI 1189272F . 8970 08 MOV DWORD PTR DS:[EAX+8], ESI 11892732 . 8970 0C MOV DWORD PTR DS:[EAX+C], ESI 11892735 . 8970 10 MOV DWORD PTR DS:[EAX+10], ESI 11892738 . 8970 14 MOV DWORD PTR DS:[EAX+14], ESI 1189273B . E8 CE16FFFF CALL CAOT_Aut.11883E0E 11892740 . 51 PUSH ECX 11892741 . 8BCC MOV ECX, ESP 11892743 . 896424 2C MOV DWORD PTR SS:[ESP+2C], ESP 11892747 . 68 788E8F11 PUSH CAOT_Aut.118F8E78 1189274C . 897424 3C MOV DWORD PTR SS:[ESP+3C], ESI 11892750 . E8 B916FFFF CALL CAOT_Aut.11883E0E 11892755 . 8BCF MOV ECX, EDI 11892757 . C74424 38 FFF>MOV DWORD PTR SS:[ESP+38], -1 1189275F . E8 CF0AFFFF CALL CAOT_Aut.11883233 11892764 > 8B4C24 10 MOV ECX, DWORD PTR SS:[ESP+10] 11892768 . 5F POP EDI 11892769 . 64:890D 00000>MOV DWORD PTR FS:[0], ECX 11892770 . 5E POP ESI 11892771 . 83C4 14 ADD ESP, 14 11892774 . C3 RETN Bấm ENTER tại (1) Olly nhảy tới đây: Quote: 11881992 /E9 79AA0300 JMP CAOT_Aut.118BC410 Giờ sửa lệnh JMP CAOT_Aut.118BC410 thành JMP CAOT_Aut.11890365 và lưu file lại. Chương trình đã trở thành Full Registered thực sự. - Finished – 04-06-2005 - Thank to my family, Computer_Angel, Zombie_Deathman, Littleboy all REA‘s members, HacNho, RongChauA, Deux, Infinity, all my friend, and YOU. REVERSE ENGINEERING ASSOCIATION Zoi(REA) crack Get Flash 1.5 Quote: GetFlash v1.5 Flash is the industry standard for interactive vector graphics and animation for the Web. Flash files are more fascinating compared with GIF animations, Java Applets and DHTML applications. However, there exists a great problem. Sometimes we want to save a flash file we favor to our hard disk, the same as what we do with the GIF or JPEG files. But unfortunately when we right click on a flash file, we always can't find save to on the pop menu. So we are very crazy for that we can't save flash files we favor. Also we sometimes want to save the HTML file, hoping that the flash files can also be saved. Usually this is not OK. Now GetFlash solved this problem. It can help you search the whole flash files (*. swf) in the page you favor and download them to your hard disk. And GetFlash can help you classify downloaded Flash animations into different categories such as Game, Cartoon, Card, MTV, Fun, etc. As Flash Player GetFlash allow you play Flash animation with 2 times size and full screen mode. Soft: GetFlash v1.5 Homepage: http://www.BrotherSoft.com/ Protection: No packed Language: Microsoft Visual C++ 6.0 Tools: Peid 0.94; OllyDbg 1.10; dUP (nếu các bác muốn tạo patch) Cracker: backstrix PEiD xuất kích đầu tiên nào bum Microsoft Visual C++ 6.0. Khà khà không pack. Khởi động soft, chưa gì đã thấy nag nhảy ra chặn đường gòi. Ta thấy khi chưa đăng ký thì nó chỉ cho dùng thử 30 lần thôi. Bấm thử vào register, nhập Your Nam : backstrix và Serial Number : 291018457. Rầm "Please make sure your SN is valid". Ơ thàng này láo dám bảo tao mắt lệch. Được gòi để xem mắt lệch xử mày nhá Giờ tới olly, Right click chọn Search for >All referenced text strings. Tiến hành tìm chuỗi thông báo lỗi mà cái nag đã bắn ra lúc nãy. Xong dblclick lên nó chúng ta sẽ ở đây: Code: PUSH 0 PUSH getflash.0041410C ; ASCII "GetFlash" PUSH getflash.00414768 ; ASCII "Please make sure your SN is valid." MOV ECX,ESI Kéo lên trên một chút xem có gì không nào Code: CALL getflash.0040C5E0 ADD ESP,4 TEST EAX,EAX JE SHORT getflash.0040B644 MOV EDI,DWORD PTR DS:[EDI] Như vậy ở đây có 1 lệnh nhảy vào sẽ nhảy đến nag báo lỗi nếu EAX=0. Vậy thì chắc như đinh đóng bê tông là cái hàm call kia gọi quá trình kiểm tra thông tin đăng ký roài. Vậy ta biết ngay cơ chế của đoạn này, nó sẽ gán EAX = 0 nếu serial ta nhập vào sai với serial nó generate ra, còn nếu trùng với cái của nó thì nó sẽ gán EAX = 1, sau đó lệnh TEST này sẽ kiểm tra nếu EAX = 1 thì bắn ra thông báo cảm ơn, còn nếu EAX = 0 thì ta là thằng mắt lệch. Hix mắt mình chuẩn thế mà bị nó chửi là lệch, thôi vượt qua nỗi đau để tiếp tục công việc nào. F2 để đặt breakpoint tại hàm call F9 để run nhập name và serial vào OK nó sẽ break tại chỗ ta set bp. F7 vào nào. Ta biết ngay cái ta cần ở gần cuối quá trình kiểm tra nì, vì việc set giá trị EAX là công việc cuối cùng của quá trình kiểm tra trước khi hàm kêểm tra return với câu lệnh TEST, vì thế cứ việc trace thoái mái. Nhấn vào nút Execute Till Return (Ctrl+F9). Olly sẽ run cho đến lúc nó gặp 1 câu lệnh RET và stop ở đó. Ta sẽ đến đây: Code: POP EDI POP ESI XOR EAX,EAX ; Cho thanh EAX về 0 MOV DWORD PTR FS:[0],ECX POP EBX ADD ESP,18 RETN XOR EAX,EAX < Hà hà nó cho về "mo" thì ta sửa lại cho lên 1, nhấn space sửa lại hết thành MOV EAX,1. Xong F9 thử xem nào, well well well không còn nag nữa, vào register xem nào, ồ cái form nhập serial với cái nút ok bị disable roài. Trong form là name và số serial đểu mà ta nhập hồi nãy khửa khửa thế mới hay chứ. Save lại thôi chuột phải > copy to executable > All modification. Tại cửa sổ mới chuột phải > save file và save với tên các bác thích em chọn tên 1.exe cho lẹ Giờ tạo patch nào, mở dUP lên rồi các bác tự làm tiếp nha cái này ai cũng biết xài gòi phải không ạ. . DWORD PTR FS: [0] 11 90BFBD 50 PUSH EAX 11 90BFBE 64:8925 00 000 00& gt;MOV DWORD PTR FS: [0] , ESP 11 90BFC5 81EC 9 400 000 0 SUB ESP, 94 11 90BFCB A1 889D9 511 MOV EAX, DWORD PTR DS: [11 959D88] ………………………………………… � . Quote: 11 8926E0 > 64:A1 00 000 00& gt;MOV EAX, DWORD PTR FS: [0] 11 8926E6 . 6A FF PUSH -1 11 8926E8 . 68 3 802 8F 11 PUSH CAOT_Aut .11 8F0238 11 8926ED . 50 PUSH EAX 11 8926EE . 64:8925 00 000 >MOV. 44 800 300 JMP CAOT_Aut .11 90BFB0 (2) Bấm Enter tiếp tại dòng đó, Olly đưa ta tới đây: Quote: 11 90BFB0 6A FF PUSH -1 11 90BFB2 68 ED1E9 411 PUSH CAOT_Aut .11 941EED 11 90BFB7 64:A1 00 000 000 MOV