Xem tut html ở đây: http://vncracking.host.sk/huongdan/Vietkey2000_build11220_hacnho_tut.htm How to crack VietKey 2000 build 11220 Phần mềm: VietKey 2000 build 11220 Bảo vệ: Trial Version/ Name Serial. Công cụ : -OllyDBG 1.09b, PEiD 0.9 -Ni2tEUnlock 7.1b, Hiews 6.83 Phương pháp crack: Find real serial and patch Mức độ: ()Dễ (x)Vừa ()Hơi khó ()Rất khó File cần crack: vknt.exe Cracker: hacnho (hacnho_hva@yahoo.com) Website: http://kickme.to/VCT I. Giới thiệu Chào các bạn, nếu là dân IT Việt Nam, hẳn không ai mà không biết đến VietKey. Một phần mềm gõ Tiếng Việt rất tốt nhưng lại là chúa đòi bản quyền bằng cái nag bất hủ " Vietkey chua dang ky su dung, lien he tac gia". Hiện nay tác giả của VK đã bắt đầu miễn phí sản phấm của mình và cung cấp trên Site www.vietkey.net. Theo như Khang được biết thì phiên bản thương mại cuối cùng của VK là bản VK 2000 build 11220. Cách crack VK đã được NVH© và Softcracker_vn, tomcrack, tnhuan phổ biến rất nhiều trên site http://vncracking.host.sk nhưng tất cả đều dùng SoftIce để crack. Do đó có rất nhiều bạn mail về hỏi hacnho làm sao để crack VK bằng OllyDBG. Do trong tay hacnho chỉ có bản VK build 11220 đã crack rồi và trên dòng tiêu đề có ghi dòng chữ "Licensed to Dao Hai Long". Có lẽ tay cracker này mới vào nghề nên chỉ edit lại cái dòng trạng thái và nop cái messagebox " Vietkey chua dang ky su dung, lien he tac gia" mà thôi. Okie hôm nay tôi sẽ hướng dẫn các bạn tìm số unlock code cho name mà bạn nhập vào. Và cuối cùng chúng ta sẽ kill luôn cái nag "invalid number" để nếu có lỡ tay xoá mất cái file vknt.lic thì khỏi phải đăng ký lại. Luôn tiện edit lại cái nag licensed luôn . Chú ý: do bản VK này khá hiếm nên hacnho đã up lên cho các bạn tại đây để load về tập crack : Bản cracked: http://vncracking.host.sk/vct/vk_cracked.zip Bản Full: http://vncracking.host.sk/vct/vk_original.zip II. Bắt tay vào crack 1. Tìm số unlock code ứng với name Đầu tiên mở VK lên, vào phần đăng ký gõ vào Name: hacnho Company: VCT, lúc này VK sẽ sinh ra cho bạn một số serial. Của hacnho là 584570329656. Nhập vào ô Lincense Code: 15101983. Bùm bùm, một nag văng ra " Invalid number." Nhớ lấy nó. Dùng OllyDBG mở file vknt.exe lên. He he nó bị pack. Không sao! Chúng ta dùng PEiD 0.9 để detect packer. Waa, nó pack bằng tElock 0.71!. Chúng ta dùng Ni2tEUnlock 0.71 để unpack. Lưu ý rằng unpacker này chỉ chạy được trên 98 không chạy được trên 2K,XP. Sau khi unpack xong chúng ta lại load lên bằng Olly. Vào Tab string của Olly kiếm cho ra dòng "Invalid number". Double click để ra ngoài main của Olly. (Cách tìm string. Xin vui lòng đọc các tut trước của hacnho. Dịch chuyển vệt sáng lên một chút bạn sẽ thấy như sau : 00405E96 |. FF15 00E54000 CALL DWORD PTR DS:[<&USER32.GetDlgItemTe>; \GetDlgItemTextA < set breakpoint 00405E9C |. 57 PUSH EDI 00405E9D |. E8 7EBBFFFF CALL vknt.00401A20 00405EA2 |. 83C4 04 ADD ESP,4 00405EA5 |. C605 ACC94000 >MOV BYTE PTR DS:[40C9AC],0 00405EAC |. 57 PUSH EDI 00405EAD |. E8 43BBFFFF CALL vknt.004019F5 00405EB2 |. 83C4 04 ADD ESP,4 00405EB5 |. A3 2CCA4000 MOV DWORD PTR DS:[40CA2C],EAX < Chuỗi số License Key 00405EBA |. 56 PUSH ESI < Fake License Key 00405EBB |. 50 PUSH EAX < Real License Key 00405EBC |. E8 26FEFFFF CALL vknt.00405CE7 < Gọi hàm so sánh ESI và EAX 00405EC1 |. 83C4 08 ADD ESP,8 00405EC4 |. 85C0 TEST EAX,EAX < Kiểm tra kết quả 00405EC6 |. 74 3A JZ SHORT vknt.00405F02 < Nếu sai thì nhảy tới Nag "Go~ sai so^" 00405EC8 |. 833D 9CA34000 >CMP DWORD PTR DS:[40A39C],0 00405ECF |. B8 ECBD4000 MOV EAX,vknt.0040BDEC ; ASCII "Go~ sai so^'" 00405ED4 |. 75 05 JNZ SHORT vknt.00405EDB 00405ED6 |. B8 20BE4000 MOV EAX,vknt.0040BE20 ; ASCII "Invalid Number!" 00405EDB |> 50 PUSH EAX Nhìn vào bảng phân tích trên các bạn thấy chúng ta cần đặt breakpoint ở hàm API Getdlgitemtexta vì nó có nhiệm vụ nhận text string chúng ta gõ vào. Okie, muốn thấy số fake license key mà chúng ta nhập vào bạn chỉ cần trace đến dòng 00405EBA |. 56 PUSH ESI, OllyDBG sẽ hiển thị chuỗi ASCII có chứa số fake license key (trong SI thì bạn nhập D ESI để thấy trên bảng Code Data). Tương tự muốn tìm ra số real license key bạn tiếp tục trace xuống một hàng tại 00405EBB |. 50 PUSH EAX. Lúc này Olly sẽ hiển thị số license key. Ở đây của tôi là 109862286297. Sau đó VK sẽ tự động mã hóa số này và lưu lại vào file vknt.lic. Thế là xong! Chúng ta đã crack xong VK. User: hacnho Serial:584570329656 License key:109862286297 Nếu không muốn bị bắt đăng ký lại, bạn nên backup file vknt.lic. 2. Patch VK Để khỏi mắc công đăng ký VK nữa và khỏi bị cái nag " Invalid number " nữa bạn cần patch nó. Tại địa chỉ 00405EC6 bạn sửa một byte 743A thành 753A để kill cái nag đi. Kẹt một cái là VK làm khó ở chỗ khi đăng ký chính thức nó vẫn còn ghi cái dòng UNREGISTERED COPY trên thanh tiêu để. Đã trót thì trét chúng ta phải chỉnh sửa nốt. Dùng Olly mở lên. Tìm string có dòng đó. Ghi nhớ địa chỉ. Ở đây là 0040508E |. 68 B0CF4000 PUSH vknt.0040CFB0 ; /Text = " Vietkey 2000 - Cracked by hacnho © 2002 " Dùng HIEWS 6.83 mở file VKNT.EXE lên (nhớ đóng Olly lại). Nhấn F5 gõ . 0040508E (nhớ là có dấu "." nhe). Nhấn F3 để sửa thành dòng gì đó tùy thích. Ở đây hacnho muốn sửa thành " Cracked by hacnho © 2002)". Okie, do trong HIEWS không cho gõ mã ASCII trực tiếp. Chúng ta phải đổi dòng trên thành mã Hexa. Dòng " Cracked by hacnho © 2002" đổi sang mã Hexa sẽ là "437261636B6564206279206861636E686F20286329203230303200". Now, các bạn nhấn F3 để Edit lại như trên. Nhấn F9 để lưu, F10 để thoát. Bây giờ mở lại Vk xem sao. Quá tuyệt phải không các bạn? III. Kết luận Tut đến đây là END. Hẹn gặp trong tut sau. PS: Nếu bạn có khả năng. Hay mong muốn trở thành một cracker. Hãy tham gia với chúng tôi qua mail : vietcracksteam@yahoo.com More crack please comtact me at YIM: lenguyenkhang2002 _Bài viết của hacnho xin vui lòng để lại dòng này khi trích dẫn hoặc đăng tải. Posted by: Zombie Nov 19 2003, 12:09 AM . |. 83C4 04 ADD ESP,4 00 405 EA5 |. C 605 ACC9 400 0 >MOV BYTE PTR DS:[40C9AC] ,0 00 405 EAC |. 57 PUSH EDI 00 405 EAD |. E8 43BBFFFF CALL vknt .00 4 01 9 F5 00 405 EB2 |. 83C4 04 ADD ESP,4 00 405 EB5 | 00 405 EC8 |. 833D 9CA3 400 0 >CMP DWORD PTR DS:[40A39C] ,0 00 405 ECF |. B8 ECBD 400 0 MOV EAX,vknt .00 40BDEC ; ASCII "Go~ sai so^'" 00 405 ED4 |. 75 05 JNZ SHORT vknt .00 405 EDB 00 405 ED6. 00 405 E96 |. FF15 00 E5 400 0 CALL DWORD PTR DS:[<&USER32.GetDlgItemTe>; GetDlgItemTextA < set breakpoint 00 405 E9C |. 57 PUSH EDI 00 405 E9D |. E8 7EBBFFFF CALL vknt .00 401 A 20 00 405 EA2