Bước 4: Bật cửa sổ Log (Button trên thanh menu là “L”). Click nút phải cột message của cửa sổ Log window==>chọn Copy to clipboard/Whole Table Bước 5: Bật 1 chương trình sọan thảo nào đó. Tui dùng Exel vì sau này tui dùng lệnh Exel để so sánh 2 file log. (hi hi). Sau đó dùng Ctrl-V để paste dữ liệu vào Exel. Bước 6: Làm tương tự để có file log thứ 2 theo tình huống đổi ngày hệ thống lại (thành 1996). Tui sẽ post 2 file Log của tui làm như sau: Quote: FILE 1: …………….các log vớ vẫn bỏ qua 0040D22B Breakpoint at museArc.0040D22B y = 0040D22B y = 0040D231 y = 0040D235 y = 0040D237 y = 0040D23C y = 0040D241 y = 0040D244 y = 0040D247 y = 0040D24A y = 0040D24F y = 0040D251 y = 0040D253 74720000 Module D:\WINDOWS\System32\MSCTF.dll 10000000 Module D:\WINDOWS\Temp\UKHook35.dll Quote: FILE 2: ……….Các log vớ vẫn…………… 0040D22B Breakpoint at museArc.0040D22B y = 0040D22B y = 0040D231 y = 0040D235 y = 0040D237 y = 0040D23C y = 0040D241 y = 0040D244 y = 0040D247 y = 0040D24A y = 0040D24F y = 0040D258 y = 0040D259 y = 0040D25C y = 0040B10F y = 0040B112 y = 0040B11C y = 0040B122 y = 0040B125 y = 0040B126 y = 0040B128 y = 0040B12D y = 0040B12E y = 0040B134 y = 0040B137 … vân vân……………. Bước 7: so sánh 2 file (dùng exel so sánh)tìm được Tại y = 0040D24F Bắt đầu phân chia 2 luồng . Vay la ta da tim ra tu huyet. Chúc các bạn vui vẽ :laugh: Benina. 20/10/2004 TUTORIAL 2C: THE COMPLETE CRACKING GUIDE FOR NEWBIEZ. MỘT CÁCH KILL NAG DÙNG HÀM MESSAGEBOXA: Đáng lý ra tui viết tut này sau tutorial 5, nhưng vì bạn Mailhn hỏi nên sẳn đây tui viết tut 2C này nói về 1 cách patch chương trình để “giết” một cái NAG (một cửa sổ nhỏ ) mà các tác giả viết chương trình muốn hiện ra để nhắc nhở chúng ta điều gì (Chẳng hạn như: Bạn đã nhập password sai rồi!). Những lời giới thiệu này cũng chính là định nghĩa cái gọi là NAG mà các Cracker hay dùng. Các tác giả chương trình muốn làm 1 cái NAG , họ dùng các hàm API sau (thường thường là các hàm này): DialogBoxParamA, MessageBoxA… Ở đây tui sẽ lấy chương trình sau làm ví dụ : http://www.wanadoo.fr/bin/frame2.cgi %3FREF%3D12116 Đây là chương trình “Sweet Little Piano ver 1.0”. Nó làm bàn phím của chúng ta thành những phím đàn Piano. Bắt đầu nhe: Như các bạn biết trong tut 1A trong lọat tut “The Complete Cracking Guide For Newbiez” tui đã chỉ các bạn cách patch để nhảy qua hàm kiểm tra password . Cái quan trọng đó chúng ta đã patch xong. Nếu chúng ta thay đổI thờI gian cho trôi qua 1 năm (2005) thì chương trình vẫn sử dụng được full. Nhưng rất khó chịu khi các cái NAG cứ bắn ra liên tục như súng AK vào mặt chúng ta . Bực ko thể tả. Đến nổI bạn Mailhn phảI post bài hỏI phảI làm sao bây giờI trờI!. Chúng ta sẽ làm được thôi mà!. Cách tốt nhất là tìm serial đúng , nhưng vì tut này cho Newbie nên chúng ta học patch (vá) mấy cái nag đó mà thôi. Ở đây tui nói ngòai lề 1 chút: Các bạn sau khi patch cho NOP hai dòng lệnh sau: Code: :00401E5E 85C0 test eax, eax :00401E60 741E je 00401E80 Tất cả NOP 4 byte trong HIEW chứ ko phảI 3 byte như tui đã post (sorry vì post tầm bậy!) .Nếu bạn bấm các phím trên bàn phím mà ko nghe được tiếng đàn piano, thì các bạn vào menu của chương trình và chọn : Devices/Active thì chương trình sẽ họat động thôi. Đừng la ầm lên là đàn ko được nhé. ;)). Nào bắt đầu: 1.Thông tin thu thập từ chương trình: Sau khi đã patch xong hàm test password bằng HVIEW và thay đổI năm thành 2005, ta chạy chương trình thử xem ra sau. Đầu tiên tui thấy 1 cái nag xuất hiện: Quote: NAG 1: “Note! You must supply your user ID when ordering User ID : 500181BF” Sau đó click vào nút OK, sẽ bắn file văn bản Order ra , rồI đến 1 cái nag nữa. Quote: NAG 2: “Sorry!Evaluation time over! Converting lite version! Read the online help for how to order a full version!” Bấm vào nút OK của NAG 2 ; sẽ xuất hiện hộp nhập password, nhập pass vào và bấm OK, sẽ xuất hiện NAG 3: Quote: NAG 3: “Thanks for registering!” Bấm OK tiếp thì vào chương trình sử dụng bình thường. OK đã xong phần thu thấp thông tin 2.Một số qui tắc khi patch NAG: Ở đây tui xin nêu 1 nguyên tắt patch NAG hay patch cái gì đó: -Nguyên tắc căn bản là khi patch ta không làm cho chương trình lớn hơn hay nhỏ hơn: Tức là chương trình sử dụng lệnh nào đó bao nhiêu byte thì khi ta NOP , phảI NOP bấy nhiêu byte đó. -Khi NOP 1 hàm API nào đó ta phảI hiểu hàm đó như thế nào.Dùng win32.hlp để tra hàm đó: Ở đây tui tra giùm bạn hàm MessageBoxA nhé: Quote: int MessageBox( HWND hWnd, // handle of owner window LPCTSTR lpText, // address of text in message box LPCTSTR lpCaption, // address of title of message box UINT uType // style of message box ); Hàm này có chức năng: Cài đặt, hiển thị , và họat động trong 1 hộp thọai. Giá trị trở về của hàm bằng 0 khi ko có đủ bộ nhớ để cài đặt hộp thọai. Viết lạI hàm cho bạn dễ hình dung như trong các ngôn ngữ cấp cao Pascal, C…. như sau: MessageBoxA (handle, messagestring, titlestring, msgboxtype); Chúng ta thấy hàm này có 4 tham số. Như bạn biết đấy , trong ngôn ngữ lập trình cấp cao muốn hàm tính tóan phảI truyền tham số cho nó , ở đây phảI truyền 4 tham số. Trong ngôn ngữ ASM , để truyền tham số cho hàm ngườI ta sẽ truyền tham số vào trong STACK bằng cách dùng lệnh PUSH, rồI khi họat động hàm này sẽ vào STACK lấy tham số ra mà dùng.Có bao nhiêu tham số thì sẽ có bao nhiêu lệnh PUSH trước hàm. OK, vậy là chúng ta đã hiểu hàm MessageBoxA rồi. Nguyên lý cơ bản để giết NAG trong tut này là chúng ta NOP hàm MessageBoxA để ko cho nó họat động. Khi NOP hàm này chúng ta cũng phảI NOP các lệnh PUSH nhập tham số của hàm vào STACK. Vì ko NOP các lệnh PUSH này thì STACK sẽ là thùng rác mà Computer của bạn ko thể kiểm sóat được. OK, bây giờ thực hành thôi 3.Tiến hành Patch Nag: Ở đây tui chỉ hướng dẫn bạn patch NAG 1 thôi, còn các NAG khác bạn làm tương tự nhé. để tìm đọan mã gọI NAG-Dùng SI đặt breakpoint : bpx MessageBoxA , - bắn ra bằng hàm MessageBoxA trong chương trình . Bạn có thể dùng W32DASM để đặt breakpoint cũng được (Tham khảo topic “Đặt breakpoint trong W32DASM dùng cho phương pháp Stack”) OK, sau khi đặt bp ta tìm được hàm call NAG tạI địa chỉ sau: Code: :00402D79 6A30 push 00000030 >Tham số đầu tiên cho hàm * Possible StringData Ref from Data Obj ->"Sweet Little Piano" | :00402D7B 68FCE14000 push 0040E1FC >tham số thứ 2 :00402D80 8D8DE8FEFFFF lea ecx, dword ptr [ebp+FFFFFEE8] :00402D86 51 push ecx > tham số thứ 3 :00402D87 53 push ebx >tham số thứ 4 * Reference To: USER32.MessageBoxA, Ord:0000h | :00402D88 E8F9AB0000 Call 0040D986 > hàm gọI NAG 1 -Sau khi ta biết địa chỉ của đọan mã gọI NAG , bạn hảy ghi nhớ địa chỉ truyền tham số đầu tiên là (00402D79) -Bây giờ ta NOP hàm này thôi. Vào HVIEW , goto đến vị trí (00402D79) Dùng phím F3, Edit các byte sau: (Tui coi như bạn đã biết sử dụng HVIEW) Code: _.00402D79: 6A30 push 030 >NOP 2 byte : Thay 6A30 thành 9090 . 00 40D258 y = 00 40D259 y = 00 40D25C y = 00 40B10F y = 00 40B 112 y = 00 40B11C y = 00 40B122 y = 00 40B125 y = 00 40B126 y = 00 40B128 y = 00 40B12D y = 00 40B12E y = 00 40B134 y = 00 40B137 … vân. 00 40D22B Breakpoint at museArc .00 40D22B y = 00 40D22B y = 00 40D2 31 y = 00 40D235 y = 00 40D237 y = 00 40D23C y = 00 40D2 41 y = 00 40D244 y = 00 40D247 y = 00 40D24A y = 00 40D24F y = 00 40D258. 00 40D235 y = 00 40D237 y = 00 40D23C y = 00 40D2 41 y = 00 40D244 y = 00 40D247 y = 00 40D24A y = 00 40D24F y = 00 40D2 51 y = 00 40D253 747 200 00 Module D:WINDOWSSystem32MSCTF.dll 10 000 000 Module