newbiez. Hihi. Đây cũng là TUT minh họa cho lọat TUTS của anh RongChauA. Và mục đích của lọat TUT này ko còn là hướng dẫn sử dụng về Olly nữa. Mà là vận dụng các tính năng của Olly để cracking. Hy vọng tut này ko làm cho các bạn thất vọng.Trước khi đọc TUT này các bạn hảy tìm đọc các TUT useOlly của RongChauA nhé. Vào đề sớm: Trong forum HVAonline.net có 1 bạn (hình như là mailhn thì phải) hỏi crack phần mềm Ripple Screensaver 3.0. Tui tải phần mềm này về lâu lắm rồi nhưng ko có thời gian để xem. Hôm nay tìm 1 soft cho Newbie nên đem ra thì thấy cũng hay hay nên viết tut này cho các bạn . Các bạn đừng tưởng đây là phần mềm củ xì vào thập niên 90 nhe, nó đang rao bán trong năm 2004 đấy. Nên hơn khó một chút. Vì trình độ chúng ta bắt đầu nâng cao thêm một tí nên tui sẽ chỉ các bạn cách tìm Real Searial (tìm số đăng ký đúng) nhé. Ripple ScreenSaver v3.0 ở : hxxp://www.wcgame.com/ripple-screensaver/index.html Công cụ ở đây dùng cái gì cũng được SI + W32Dasm hay Olly đều được cả. SI có ưu điểm là tìm điểm mở đầu đọan tạo searial rất nhanh (tui thích SI điểm này) , còn W32Dasm thì tìm điểm kết của đọan tạo searial . Một cái là “nắm đầu” , còn 1 cái là “bóp đí t” ( nói bậy bỏ qua nhe nhưng ví dụ như vậy thì học rất dễ vô hê hê). Đặc biệt thì Olly “nắm đầu” hay “bóp đí t” đều được cả. Anh chàng này tương đố i đa năng. Nên các cracker rất thích dùng. Để ko tuộc hậu , chúng ta phải học Olly thôi . Bây giờ tui sẽ chỉ cho các bạn tiếp các sử dụng Olly (các bạn tham khảo thêm càc bài của anh RongChauA), nhưng trước hết các bạn cài phần mềm Ripple Screensaver 3.0 vào máy. VẬN DỤNG OLLY ĐỂ CRACK: (phần tiếp theo) Như các bạn đã biết, tui chỉ nhắc lại, đầu tiên các bạn chạy chương trình để thu thập thông tin . Chương trình này chỉ cho dùng thử trong 30 ngày. Nếu quá 30 ngày thì nó b ắt ta mua giá hữu nghị là 14.95$ . Nhưng hôm nay tui hữu nghị hơn tác giả phần mềm, sẽ tặng ko cho bạn mà ko cần đồng nào , chỉ cần vài giọt mồ hôi của bạn mà thôi hìhì. Bây giờ chúng ta hãy đổi năm trên máy bạn thành năm 2005 xem sao (hiện tại là năm 2004 đúng ko?). Khi các bạn click vào biểu tượng của nó trên desktop thì như Chị Dậu của Nam Cao thấy tương lai “tối đen như mực”, màn hình đen thui và hiện lên dòng thông báo đỏ: “This is a trial version of Ripple Screensaver. You have alrealdy eceeded the trial period. If you love Ripple Screensaver, please purchase it. Thank you” (Thật là buồn cười khi phải “purchase it”. Người VN ko có thóai wen này thì phải.) Sau đó , khi bạn di động con chuột thì nó hiện hộp thọai yêu cầu nhập License Name và License Code. Bạn hảy nhập bậy bạ vào xem sao License Name: benina License Code: 0123456789 Nó sẽ bắn nag: “Rigistration failed! ” Ok, thóat ra đi bạn và tải file C:\window\ RSRemider.exe vào Olly. Như các bạn đều biết , cách crack truyền thống là tìm xem “đít” của đọan mã tạo searial dựa vào đọan string “Rigistration failed! ” nằm đâu rồi “mò lên” để tìm “tử huyệt” của chương trình. Cách tìm đọan string trong W32Dasm thì các bạn đã biết còn trong Olly thì làm như sau: 7. Search string: Khi các bạn open 1 file thì trên Olly cửa sổ CPU sẽ hiện ra . Nếu ko thấy thì Click vào button trên thanh menu có ký hiệu là ký tự “C” tui gọi là Button “C”. Các bạn click phải vào cửa sổ Code của CPU window, một menu popup hiện ra, vào Search for/All referenced text string. Khi ấy cửa sổ “Text string referenced “ sẽ hiện ra . Bạn hảy tìm xem có đọan string “Rigistration failed! ” đang nằm đâu. Bạn thấy nó chư a? (Có phải tại address : 00401239 không nào!). Hảy DClick và address của nó . Khi đó Olly sẽ trỏ đến địa chỉ của nó trong cửa sổ Code của CPU window. Quote: 00402232 > \6A 10 PUSH 10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL 00402234 . 68 CC424000 PUSH RSRemind.004042CC ; |Title = "Ripple Screensaver" 00402239 . 68 64434000 PUSH RSRemind.00404364 ; |Text = "Registration failed! You entered a invalid license code. Please make sure there is no typing mistake and you have installed the newest product. Then try again!" <<<<<<<<<đang ở đây 0040223E . 56 PUSH ESI ; |hOwner 0040223F . FF15 08324000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA OK, vậy là xong 1 chức năng của Olly . Phù Phù , mệt thiệt. Tiếp tục nhe: Chức năng kế tiếp tui muốn giới thiệu các bạn đó là cách đặt breakpoint lọai Toggle (chốt tiến trình lại) . Nó giống như lệnh đặt bp One-shot ( F7 )trong SI. 8. Toggle F2 (Breakpoint Toggle) Bây giờ bạn hãy “mò lên” trên trong Code window một chút, và ta nghi ngờ “tử huyệt“ nằm ở lệnh nhảy này: Quote: 00402204 > \50 PUSH EAX 00402205 . B9 20454000 MOV ECX,RSRemind.00404520 0040220A . E8 87010000 CALL RSRemind.00402396 0040220F . 8B46 64 MOV EAX,DWORD PTR DS:[ESI+64] 00402212 . B9 20454000 MOV ECX,RSRemind.00404520 00402217 . 50 PUSH EAX 00402218 . E8 95010000 CALL RSRemind.004023B2 0040221D . B9 20454000 MOV ECX,RSRemind.00404520 00402222 . E8 05030000 CALL RSRemind.0040252C 00402227 . 85C0 TEST EAX,EAX 00402229 75 2A JNZ SHORT RSRemind.00402255 <<<<<<< Tử huyệt ???? 0040222B . 85F6 TEST ESI,ESI 0040222D . 74 03 JE SHORT RSRemind.00402232 Bạn hảy click vào dòng lệnh nghi ngờ đó xem sau. Olly sẽ xuất hiện 1 mũi tên chỉ nó nhảy từ địa chỉ trên đến đọan mã sau: Quote: (Từ địa chỉ này bắt đầu nhảy 00402229 75 2A JNZ SHORT RSRemind.00402255 <<<<<<< Tử huyệt ???? (Nhảy đến đây) 00402255 > \8D4C24 04 LEA ECX,DWORD PTR SS:[ESP+4] 00402259 . E8 98050000 CALL <JMP.&MFC42.#540> 0040225E . 8B46 60 MOV EAX,DWORD PTR DS:[ESI+60] 00402261 . 8D4C24 04 LEA ECX,DWORD PTR SS:[ESP+4] 00402265 . 50 PUSH EAX 00402266 . 68 1C434000 PUSH RSRemind.0040431C ; ASCII "Congratulations! This product is licensed to: Enjoy it now!" 0040226B . 51 PUSH ECX 0040226C . C74424 1C 000>MOV DWORD PTR SS:[ESP+1C],0 00402274 . E8 BF050000 CALL <JMP.&MFC42.#2818> Rất ấn tượng phải ko các bạn. Tôi yêu Olly ở chổ này (hihi). Đến đây các bạn thấy gì ko. Tui thấy dòng này: "Congratulations! This product is licensed to: Enjoy it now!" OK, vậy là tử huyệt rồi???. Vậy chúng ta hảy patch thử nó trong Olly xem sau.Muốn vậy chúng ta thử đặt bp tại đó xem nhé. Đây là cách đặt bp Toggle : Để chương trình ngừng (break) lại tại địa chỉ nào khi Run ,chúng ta click chuột vào địa chỉ đó và nhấn F2 , khi ấy tại địa chỉ đó nó sẽ đổi màu khác. Đơn gi ản như đang giởn phải ko các bạn. Bây giờ các bạn hảy Toggle tại địa chỉ “tử huyệt” đi. Và ấn F9 cho chương trình chạy , nhập Name và Fake Code xem sao. Nó có ice tại đó ko?. Đừng nói là ko nhe. Vậy là xong 1 chức năng nữa. Bây giờ tui sẽ chỉ các bạn cách Patch thử trong Olly. 9. Edit Binary(CTRL+E) Như trên tui đã nói , chúng ta hảy patch thử dòng lệnh trên xem sao. Các bạn đã biết cách patch trong HIEW rồi. Ở đây chức năng này cũng tương tự , nhưng khác ở chổ nó patch chương trình nằm trong bộ nhớ thôi , chứ ko phải trên file trong đĩa cứng. Nhớ nhé. Vì vậy tui mới gọi đây là các “patch thử “. Như các bạn biết: JNZ có mã là 75 JZ có mã là 74 Chúng ta hảy thay lệnh JNZ này thành JZ bằng cách thay mã 75 thành 74. Chúng ta làm như sau: Click vào dòng lệnh JNZ : 00402229 75 2A JNZ SHORT RSRemind.00402255 <<<<<<< Tử huyệt ???? Bấm CTRL+E sẽ hiện ra hộp thọai “Edit Code”, các bạn hảy thay 75 thành 74 và bấm OK. Sau đó bấm F9 chạy tiếp xem sau. WOW nó hiện ra hộp thọai sau: "Congratulations! This product is licensed to: benina Enjoy it now!" Bấm OK, vậy là đăng ký xong. Vậy là chúng ta đã patch xong chương trình này rồi ư. Quá dễ ?????. Để biết chắc ăn chúng ta hảy thóat Olly , và chạy chương trình xem sao. OOOOH !!! Nó lại đòi đăng ký và vẫn còn thông báo “ . Vậy là ko xong r ồi. Nó khó hơn những gì ta tưởng các bạn ạ. Vì vậy chúng ta buộc lòng phải vào xem hàm tạo searial ra sao để tìm Real searial cho chương trình. Nhưng trước khi bước vào lĩnh vực Real Searial tui xin hướng dẫn các bạn một chức năng nữa của Olly để patch tạm .Tính năng này giống như lệnh “a” trong SI. Đó là chức năng Assemble (phím Space) 10.Assemble (phím Space) hay menu popup of Code window\Assemble Bây giờ mở lại chương trình Olly. Nhấn Ctrl+F2 load chương trình lên. Bấm ALT+B để mở Breakpoint window xem bp ta đặt trướ c đó có còn ko. Bạn thấy còn chứ. Vậy là Olly đã nhớ những gì ta làm trong phiên làm việc trước. Thật là tiện lợi phải ko các bạn. Chúng ta sẽ ko cần phải đặt bp như từ đầu. Chúng ta nhấn F9 để run. Và làm tương tự như trên cho đến khi thay vì patch bằng Edit Binary(CTRL+E) thì chúng ta patch bằng chức năng Assemble. Các bạn làm như sau: Click vào dòng lệnh JNZ : 00402229 75 2A JNZ SHORT RSRemind.00402255 <<<<<<< Tử huyệt ???? Bấm Phím Space sẽ hiện ra hộp thọai “Assemble”, các bạn hảy thay : JNZ SHORT 00402255 Thành JZ SHORT 00402255 (Xóa bớt chử N của lệnh JNZ) và bấm button “Assemble”. Các bạn sẽ thấy trong cửa sổ code của CPU Window tại dòng lệnh trên sẽ thay bằng lệnh: 00402229 74 2A JE SHORT RSRemind.00402255 Sau đó đóng hộp thọai “Assemble” và bấm F9 chạy tiếp xem sau. Bắn ra Nag good phải ko các bạn.Nhưng vẫn chưa crack xong ,Oki?. Đến đây thì các bạn đã biết patch bằng chức năng Assemble rồi đấy. Đến đây thì chúng ta thấy anh chàng Olly này có tuyệt vời không các bạn. Nó có chức năng Search String giống W32Dasm, chức n ăng Edit Binary giống HIEW, chức năng “Assemble” giống SI. Đúng là một phần mềm “đa chủng tộc”. Vì vậy các proprammer và các cracker xúm nhau hổ trợ cho Olly rất nhiều. Họ viết các Plugins cho Olly thêm phần phong phú. Các Plugins này bổ túc thêm các tính năng mà Olly không có. Phần tiếp theo đây tui sẽ giới thiệu các bạn 1 Plugins đơn giản của Olly. Thưa các bạn , Benina viết tut ko theo một lề lối nào hết. Đụng đến đâu viết đến đó, đây là phong cách “mì ăn liề n” rất tệ hại theo quan điểm các nhà mô phạm. Vì vậy tui rất khâm phục anh RongChauA đã viết các TUT UseOlly (các tut này , anh RongChauA làm đẹp cực kỳ bằng file .pdf). Các tut của anh rất mô phạm và hấp dẫn . Các bạn hảy download về mau mau kẻo đứt Link down thì khổ. Nhưng như trên tui giới thiệu, đây chỉ là lọat tut thực hành về Olly (như một bạn nào đó yêu cầu tui viết tut như vậy), nên chúng ta thấy “mì” thì “ăn liền”, đụng đế n đâu xơi đến đó hihi. Nhưng xơi nhiều quá coi chừng “bội thực” . Chúng ta xơi từ từ thôi. Mỗi lần một tính năng của Olly là được rồi. Bây giờ trở lại với Olly, tui xin giới thiệu với các bạn một Plugins đơn giản nhất của Olly : 11.Pluggins\CleanupEx Ở đây tui ko nhắc lại cách cài Plugins cho Olly, vì như vậy thì TUT quá dài dòng. Phần này các bạn hãy chờ anh RongChauA hướng dẫn. Còn nếu ko chờ được thì các bạn hảy post 1 mục trong forum này hỏi cách cài Plugins như thế nào để nh ờ mọi người hổ trợ. Các bạn mà ko biết hỏi thì ko bao giờ giỏi được đâu. Hảy nhớ lấy câu này các bạn ạ. Trở lại vấn đề, như ở trên tui đã nói , khi vào lại Olly thì những gì ta làm trong phiên làm việc trước ,Olly sẽ lưu lại giùm ta (như đặt bp Toggle chẳng hạn). Đây là một tính năng rất hay của Olly, gíup ta ko phải làm lại những công việc nhàm chán trong phiên làm việc trước. Nhưng nó cũng là con dao 2 l ưỡi cho các Newbie. Vì Newbie thì chưa biết nhiều . <JMP.&MFC42.#540> 0040225E . 8B46 60 MOV EAX,DWORD PTR DS:[ESI+60] 0040 2261 . 8D4C24 04 LEA ECX,DWORD PTR SS:[ESP+4] 0040 2265 . 50 PUSH EAX 0040 2266 . 68 1C434000 PUSH RSRemind.0040431C ; ASCII "Congratulations!. ASCII "Congratulations! This product is licensed to: Enjoy it now!" 0040226B . 51 PUSH ECX 0040226C . C74424 1C 000>MOV DWORD PTR SS:[ESP+1C],0 00402274 . E8 BF050000 CALL <JMP.&MFC42.#2818>. lọat TUT này ko còn là hướng dẫn sử dụng về Olly nữa. Mà là vận dụng các tính năng của Olly để cracking. Hy vọng tut này ko làm cho các bạn thất vọng.Trước khi đọc TUT này các bạn hảy tìm đọc