Fishing series serial

Thấy mọi người mừng sinh nhật REA, nên hôm nay cũng viết vài ba hàng tut để chúc REA ngày càng hấp dẫn và lớn mạnh. Cũng nhân dịp tháng 8 tết trung thu, tui sẽ giới thiệu các bạn 1 soft để quan sát hình dạng của mặt trăng theo từng ngày trong tháng. Hihi (cái này Merc giới thiệu thì đúng hơn) Vào đề: Tui rất khóai crack các soft nào mà các lão coder ẩu tả để lộ serial chình ình cho người ta “dòm ngó”. Nó giống như mặt quần mà wên kéo phẹc-mơ-tuya. Thật là cẩu thả!. Crack các soft dạng này vừa nhanh, vừa giải trí lại vừa thỏai mái đúng ko các bạn. Tut này cũng dành cho các newbiez, ko dành cho các lão trùm cracker. Benina luôn viết tut cho newbiez vì benina luôn hiểu newbie cần gì mà (tui cũng là newbie như các bạn). Tut này cũng là dạng “câu cá” (fishing) truyền thống (hay có lần tui gọi là “tìm serial trong đóng rác”), tức là dùng 1 debugger trace từng dòng lệnh để tìm xem có “con cá real serial” nào “bơi” trong khi ta đang “dạo cảnh xem hoa” ko. ☺ Các tut về fishing thì ko cần trình độ cao, chỉ cần biết quan sát và nhạy bén 1 chút là có thể tìm ra nó. Đức tính suy luận và nhạy bén rất cần thiết cho các cracker. Nếu bạn ko chuẩn bị đức tính này, thì bạn có thể rất mất tg để crack được 1 soft. Tut này cũng nhằm mục đích giới thiệu sự linh họat và suy luận khi crack (ko cần khả năng đọc code nhiều). I.Giới thiệu target: Target này do Merc giới thiệu trong box cracker. (PS: Nếu bạn nào có khả năng crack nhất đinh, đăng ký với chúng tôi để vào box này sinh họat) Target : Desktop Lunar Calendar Link download: http://www.softaddress.com/ Tui chọn target này, vì nó hơi “điểu”, và cách câu serial cũng hơi lạ 1 chút.Rồi các bạn sẽ thấy nó “điểu giả” như thế nào.

pdf12 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2158 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Fishing series serial, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
FISHING SERIES SERIAL Page 1/12 FISHING SERIES SERIAL (CÂU CẢ ĐÀN CÁ) Thấy mọi người mừng sinh nhật REA, nên hôm nay cũng viết vài ba hàng tut để chúc REA ngày càng hấp dẫn và lớn mạnh. Cũng nhân dịp tháng 8 tết trung thu, tui sẽ giới thiệu các bạn 1 soft để quan sát hình dạng của mặt trăng theo từng ngày trong tháng. Hihi (cái này Merc giới thiệu thì đúng hơn) Vào đề: Tui rất khóai crack các soft nào mà các lão coder ẩu tả để lộ serial chình ình cho người ta “dòm ngó”. Nó giống như mặt quần mà wên kéo phẹc-mơ-tuya. Thật là cẩu thả!. Crack các soft dạng này vừa nhanh, vừa giải trí lại vừa thỏai mái đúng ko các bạn. Tut này cũng dành cho các newbiez, ko dành cho các lão trùm cracker. Benina luôn viết tut cho newbiez vì benina luôn hiểu newbie cần gì mà (tui cũng là newbie như các bạn). Tut này cũng là dạng “câu cá” (fishing) truyền thống (hay có lần tui gọi là “tìm serial trong đóng rác”), tức là dùng 1 debugger trace từng dòng lệnh để tìm xem có “con cá real serial” nào “bơi” trong khi ta đang “dạo cảnh xem hoa” ko. ☺ Các tut về fishing thì ko cần trình độ cao, chỉ cần biết quan sát và nhạy bén 1 chút là có thể tìm ra nó. Đức tính suy luận và nhạy bén rất cần thiết cho các cracker. Nếu bạn ko chuẩn bị đức tính này, thì bạn có thể rất mất tg để crack được 1 soft. Tut này cũng nhằm mục đích giới thiệu sự linh họat và suy luận khi crack (ko cần khả năng đọc code nhiều). I.Giới thiệu target: Target này do Merc giới thiệu trong box cracker. (PS: Nếu bạn nào có khả năng crack nhất đinh, đăng ký với chúng tôi để vào box này sinh họat) Target : Desktop Lunar Calendar Link download: Tui chọn target này, vì nó hơi “điểu”, và cách câu serial cũng hơi lạ 1 chút.Rồi các bạn sẽ thấy nó “điểu giả” như thế nào. II.Thông tin về soft: 1. Kiểm tra soft: -Như mọi khi check soft với Peid: FISHING SERIES SERIAL Page 2/12 -Nó code bằng VC++7.0 và ko có cryto nào. Vậy là khỏe rồi. 2.Tìm hiểu MagicString : -Chạy chương trình -Nhấn vào button “Register Now!” -Nhập 1 FS : “01234567890”, nhấn “OK” -Xuất hiện hộp thọai có MagicString “Unsuccessful” III.Cracking: -Load target vào Olly. FISHING SERIES SERIAL Page 3/12 -Click phải vào cửa sổ code của Olly, Chọn Search for/All referenced text strings .Ta tìm thấy chuổi “Unsuccessful” tại : Address=00408288 -DClick vào nó để goto đến cửa sổ code chứa chuổi. Dò ngược lên trên và đặt bp tại : (vì sao đặt bp tại đây thì các bạn tự tìm hiểu trong các tut căn bản nhé, vì nếu giải thích thì dài dòng quá) 00408240 . E8 DB0C0000 CALL Desktop_.00408F20 Bp này tui gọi tên là “BP call check” -Nhấn F9 để run soft. Ta ngừng lại tại bp đã set. Nhấn F7 đề vào hàm call chúng ta đã set tại đó -Mới nhấn F7 thì mà đã thấy 2 string lạ xuất hiện : FISHING SERIES SERIAL Page 4/12 Chúng ở tại các addr sau: 00408F4E . 68 98FE4200 PUSH Desktop_.0042FE98 ; ASCII "awxNMdfvBGHERnmjiTWtyhoEFS954slFS148DDGDFHfghjDSFeyhGAGWETYJgh m756735" Và một string nữa tại : 00408F7F . 68 74FE4200 PUSH Desktop_.0042FE74 ; ASCII "HT5147h5Dg5G4mfDfFg6dSFsjfABaT" Theo kinh nghiệm, tui nghĩ rằng string đầu tiên ko phải là serial, và tui nghĩ string này rất dài có thể là 1 dạng “table char” dùng trong quá trình mã hóa serial. Vậy khả năng string thứ 2 là serial rất cao. Bây giờ đóng Olly, ta chạy file exe( ko phải load file exe trong Olly nhe các bạn, rồi tui sẽ giải thích sau). Nhập FS vừa tìm được : FS="HT5147h5Dg5G4mfDfFg6dSFsjfABaT" OH, nó chấp nhận rồi. “Successful!” Trời , vậy là “câu con cá” này dễ quá hả?. Đến đây ta close soft lại. FISHING SERIES SERIAL Page 5/12 -Nhưng để chắc ăn và theo thói wen, tui thử chỉnh giờ hệ thống lên 1 năm thành năm 2006 để kiểm tra lại xem sao. -Bùmmmmm. Trời nó vẫn kêu ta đăng ký. Đúng là 1 cú lừa ngọan mục. Bắt đầu tui máu với thằng này rồi đó nhe. Uống 1 ly nước cái đã ,đốt 1 điếu Craven “A” , thả vài làn khói thuốc cho thanh thản, rồi load soft lại trong Olly xem sao. -Bp vẫn set như cũ, nhấn F9 và nhập 1 chuổi Fake Serial : "005147h5Dg5G4mfDfFg6dSFsjfABaT" (Tui chỉ thay 2 ký tự đầu “HT”trong chuổi "HT5147h5Dg5G4mfDfFg6dSFsjfABaT" thành “00” chủ yếu là lấy chiều dài chuổi cho đúng để hạn chế 1 số “rào cản” check length serial của soft nếu có. Đây là 1 thói wen các bạn nên làm). -Nhấn OK, bp bị break tại “BP call check” mà chúng ta đã set. Nhấn F9. Nó ko chấp nhận serial mới (dĩ nhiền rồi). -Bây giờ tui set lại year thành 2005. Run lại soft (chạy file exe) thì soft vẫn chạy như được đăng ký. -Từ đây ta bắt đầu động não 1 tí. Theo như những gì diễn biến ở trên , ta thấy soft sẽ ko save lại số FS "005147h5Dg5G4mfDfFg6dSFsjfABaT" , vì nếu nó lưu số fake serial này thì khi ta set year thành 2005 trở lại bình thường như lúc cài đặt soft thì nó phải bắt ta đăng ký chứ. Đằng này nó lại run như đã đăng ký rồi. Vậy là nó lưu số serial này "HT5147h5Dg5G4mfDfFg6dSFsjfABaT" chứ ko phải lưu FS nhập sau. -Mục đích của ta bây giờ là xem soft lưu số serial ở đâu. Thường thì nó lưu trong Registry hoặc là lưu trên file trong 1 thư mục nào đó. Trước tiên ta kiểm tra nó có lưu trong Registry ko. Thường để check soft access khóa Registry nào tui hay dùng RegSpy vì nó dễ sử dụng và rất trực quan. Bật RegSpy lên, vào menu Action/Run New/ chọn file .exe. Nó thông báo như sau: FISHING SERIES SERIAL Page 6/12 -Nhìn vào bảng thông báo, ta thấy ko có khóa nào đặc biệt. Vậy là soft ko lưu serial trong Registry. Vì sao biết ko có khóa nào đặc biệt? (Newbie hay hỏi thế.) Vì thật ra khi các bạn dùng RegSpy quen, các bạn sẽ thấy các “khóa” trên hầu hết soft nào cũng access đến. Đó chỉ là kinh nghiệm của newbie tui. Ko tin các bạn thử 1 soft xem sao. -Kiểm tra tiếp xem nó lưu serial trong trong file nào. Để đơn giản, tui ko sử dụng FileMon làm điều này (Hẹn dịp khác chúng ta sẽ tìm hiểu về FileMon), mà tui sẽ set bp hàm ReadFile trong Olly . Load lại olly, trong hộp command của Olly ta set bp như sau: bpx ReadFile Sau đó nhấn F9 để Run,nó sẽ ngắt tại bp hàm ReadFile. Nhìn vào cửa sổ Stack ta thấy : Tui nghi ngờ đây là file lưu serial. D:\WINDOWS\u2419.log -Vào thư mục D:\WINDOWS\ xóa file u2419.log . FISHING SERIES SERIAL Page 7/12 -Đến đây ta Run chương trình lại xem sao. À , nó kêu reg kìa. Vậy chính u2419.log là file save serial rồi. Thấm mệt rồi phải ko các bạn. Chưa đâu, thằng này nó còn “điểu” lắm. Để tiếp tục, ta close soft lại , và set year là 2005. - Load Olly lại .Bây giờ ta xóa bp tại hàm ReadFile đi và vẫn giữ bp tại “BP call check”: 00408240 . E8 DB0C0000 CALL Desktop_.00408F20 < ====Set bp (F2) và Run (F9), nhập FS : 005147h5Dg5G4mfDfFg6dSFsjfABaT -Nhấn OK,ngắt tại bp “BP call check” . Nhấn F7 để vào hàm call. Thường thì khi cracking, tui hay trace F8 qua 1 vòng cho đến khi bắn Nag. Chủ yếu là xem có “con cá” nào ko. Các bạn nên tập thói wen này để rút ngắn tg crack và nhiều khi ta chụp ngay được hàm mã hóa serial. Vâng, bây giờ chúng ta trace F8 thôi. Go go go. -Trace qua vài chục dòng lệnh ko xa lắm, ta gặp 1 vòng lặp Loop: 00409070 > /E8 B5B50000 CALL Desktop_.0041462A ; Begin Loop 00409075 . |99 CDQ 00409076 . |F77C24 20 IDIV DWORD PTR SS:[ESP+20] 0040907A . |8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10] 0040907E . |8B46 FC MOV EAX,DWORD PTR DS:[ESI-4] 00409081 . |8B6E F4 MOV EBP,DWORD PTR DS:[ESI-C] 00409084 . |8D7D 01 LEA EDI,DWORD PTR SS:[EBP+1] 00409087 . |8A1C0A MOV BL,BYTE PTR DS:[EDX+ECX] 0040908A . |B9 01000000 MOV ECX,1 0040908F . |2BC8 SUB ECX,EAX 00409091 . |8B46 F8 MOV EAX,DWORD PTR DS:[ESI-8] 00409094 . |2BC7 SUB EAX,EDI 00409096 . |0BC1 OR EAX,ECX 00409098 . |7D 0E JGE SHORT Desktop_.004090A8 0040909A . |57 PUSH EDI 0040909B . |8D4C24 18 LEA ECX,DWORD PTR SS:[ESP+18] 0040909F . |E8 7C83FFFF CALL Desktop_.00401420 004090A4 . |8B7424 14 MOV ESI,DWORD PTR SS:[ESP+14] 004090A8 > |8B4424 1C MOV EAX,DWORD PTR SS:[ESP+1C] 004090AC . |881C2E MOV BYTE PTR DS:[ESI+EBP],BL 004090AF . |48 DEC EAX 004090B0 . |897E F4 MOV DWORD PTR DS:[ESI-C],EDI 004090B3 . |C60437 00 MOV BYTE PTR DS:[EDI+ESI],0 004090B7 . |894424 1C MOV DWORD PTR SS:[ESP+1C],EAX 004090BB .^\75 B3 JNZ SHORT Desktop_.00409070 ; End Loop 004090BD . 8B5C24 34 MOV EBX,DWORD PTR SS:[ESP+34] ; BP after Loop <= Set BP -Để thóat mau khỏi vòng lặp Loop ta set bp (F2) tại dòng lệnh dưới vòng lặp (addr 004090BD) (Tôi gọi bp này là “BP after Loop”) và nhấn F9.Nó ngắt . FISHING SERIES SERIAL Page 8/12 -Bây giờ nhìn vào cửa sổ Stack ta thấy gì nào: -OH, một con cá nữa chăng! . 0012D4F8 003F8AB0 ASCII "hm47A6E5FSe5SNmJhySRGF5WWFsE4G" -Bây giờ ta nhấn F9 để nhập lại FS ta vừa câu . ... Nhưng.....nó lại ngắt tại bp “BP after Loop”. Và nhìn sang Stack, lại 1 con cá nữa. 0012D4F8 003F8AB0 ASCII "5sn6ANMTETiRyGG3Slsm6TFA76FS87" -Nếu càng nhấn F9 ta câu được cả 1 đàn cá đó : 0012D4F8 003F8AB0 ASCII "lSDeh5DDHyStDmDSH1gDD9fSTHjweF" 0012D4F8 003F8AB0 ASCII "Gd8MwtMjjhS4AmdhEDwas5sSWtFDDh" 0012D4F8 003F8AB0 ASCII "6gaR5TefhBD73hlExGWFSxifJDv7H6" FISHING SERIES SERIAL Page 9/12 0012D4F8 003F8AB0 ASCII "EJAtighySNMm74DE4mGHlDGFFHegeR" 0012D4F8 003F8AB0 ASCII "hNW5lDEFdFEj6D4ExGSDGMGDo65xTF" ....v...v...v... - Vì vậy ta phải bỏ bp tại “BP after Loop”, chứ ko thôi nhấn F9 mệt xỉu mà vẫn ko ra khỏi chu kỳ của nó. -Bây giờ đóng Olly lại chạy file ứng dụng (file exe) , và nhập số serial ta vừa tìm được Ví dụ tui chọn cái thứ 3 ta vừa câu được : FS= ”lSDeh5DDHyStDmDSH1gDD9fSTHjweF” -Ah-ha, nó chấp thuận rồi. Hy vọng quá. Close ứng dụng lại đi bạn. -Bây giờ để chắc ăn chúng ta thay đổi year lên 1 năm xem sao (2006). Má ơi!.Đồ chó chết!. Nó vẫn kêu đăng ký. Tui muốn đá nó 1 cước quá. Tức gòi nhe!. Grừ grừ grừ. Đây đúng là cú lừa thứ 2. Rối, rối, rối, rối thật sự. Bây giờ phải quay lại từ đầu thôi để xem kỹ lại code xem sao. - Load lại Olly ,bỏ hết bp. Run soft (F9). Nhập fake serial : 005147h5Dg5G4mfDfFg6dSFsjfABaT . Khoan hả nhấn OK. Trở lại Olly , set bp tại “BP after Loop”. Sau đó nhấn vào nút “OK”. (À các bạn hảy nhớ rằng , máy của ta đang set year là 2006). -Nó ngắt tại bp “BP after Loop” đúng ko các bạn. Nhìn xuống đọan code fía dưới ta thấy như sau: 004090BB .^\75 B3 JNZ SHORT Desktop_.00409070 ; End Loop 004090BD . 8B5C24 34 MOV EBX,DWORD PTR SS:[ESP+34] ; BP after Loop 004090C1 . 56 PUSH ESI 004090C2 . 53 PUSH EBX 004090C3 . E8 30A60000 CALL Desktop_.004136F8 004090C8 . 8B7C24 20 MOV EDI,DWORD PTR SS:[ESP+20] 004090CC . 83C4 08 ADD ESP,8 004090CF . 85C0 TEST EAX,EAX ; BP Magic 004090D1 . 75 14 JNZ SHORT Desktop_.004090E7 004090D3 . 81FF BB020000 CMP EDI,2BB 004090D9 . 7E 0C JLE SHORT Desktop_.004090E7 004090DB . 81FF EF020000 CMP EDI,2EF 004090E1 . 0F8C A0000000 JL Desktop_.00409187 004090E7 > 56 PUSH ESI 004090E8 . 53 PUSH EBX 004090E9 . E8 0AA60000 CALL Desktop_.004136F8 004090EE . 83C4 08 ADD ESP,8 FISHING SERIES SERIAL Page 10/12 004090F1 . 85C0 TEST EAX,EAX 004090F3 . 0F84 0A010000 JE Desktop_.00409203 004090F9 . 47 INC EDI 004090FA . 81FF E8030000 CMP EDI,3E8 00409100 . 897C24 18 MOV DWORD PTR SS:[ESP+18],EDI 00409104 .^ 0F8C 12FFFFFF JL Desktop_.0040901C 004090F9 . 47 INC EDI 004090FA . 81FF E8030000 CMP EDI,3E8 00409100 . 897C24 18 MOV DWORD PTR SS:[ESP+18],EDI 00409104 .^ 0F8C 12FFFFFF JL Desktop_.0040901C -Ta chú ý đến 3 dòng lệnh này: 004090D3 . 81FF BB020000 CMP EDI,2BB 004090DB . 81FF EF020000 CMP EDI,2EF 004090FA . 81FF E8030000 CMP EDI,3E8 -Từ đây ta thấy ngòai việc kiểm tra 2 chuổi string FS và string tính được ở vòng lặp phía trên, soft còn check 1 tham số thứ 2 chứa trong EDI. Vậy tham số này là gì?. Nhìn qua cửa số FPU ta thấy hiện tại nó = 0. Ko có ý nghĩa suy diễn gì cả. Để tìm hiểu nó là gì , tui bèn đặt bp trước hàm cmp thứ 1: 004090CF . 85C0 TEST EAX,EAX ; BP Magic Tui đặt tên bp này là “BP Magic”. Bây giờ tui xóa hết các bp, chỉ chừa lại bp “BP Magic”. Và nhấn F9 , nó bị ngắt tại bp chúng ta set. Nhìn sang cửa sổ FPU ta thấy EDI=0. Nhấn tiếp F9, lại ngắt, và EDI=1, cứ thế EDI tăng dần thành 2,3,4,..... Đến đây thì có manh mối rồi. Ta thử suy diễn như sau : Vòng lặp Loop sẽ tạo ra 1 Real Serial tạm. Nó đem so sánh với chuổi FS, nếu ko bằng thì báo “Unsuccessful!”. Còn nếu OK , nó sẽ so sánh tiếp với số thứ tự Real Serial (IndexRealSerial) mà vòng lặp Loop vừa tạo. Số thứ tự này chứa trong EDI. Với đọan mã trên ta suy diễn tiếp: -Nếu IndexRealSerial (chứa trong EDI) <= 2BB : thì là số Serial là dzỏm. Nhưng nó vẫn thông báo là “Successful!” vậy mới điểu chứ. -Nếu 2BB< IndexRealSerial (chứa trong EDI)<2FF : Nó chính là số Serail xịn (chúng ta sẽ check điều này sao). -Còn nếu : 2EF< IndexRealSerial (chứa trong EDI)<38E : Nó cũng là số Serial dzỏm luôn, nhưng vẫn báo là “Successful!” -Cuối cùng, nếu bằng 38E, thì thóat vòng lặp check serial và báo là “Unsuccessful!” Bây giờ để kiểm tra những suy luận trên có đúng ko. Ta thử câu 1 serial có số index nằm trong khỏang: 2BB< IndexRealSerial (chứa trong EDI)<2FF FISHING SERIES SERIAL Page 11/12 Hê hê, tui chọn Index của Real serial chứa trong EDI=2BF. Bây giờ Load lại Olly, bỏ hết bp và Run F9, nhập FS : 005147h5Dg5G4mfDfFg6dSFsjfABaT Khoan nhấn OK.Quay lại Olly, set bp tại “BP Magic” 004090CF . 85C0 TEST EAX,EAX ; BP Magic Bây giờ nhấn button “OK”. Nó ngắt tại bp ta set. Nếu các bạn siêng năng thì các bạn hảy ngồi và nhấn tiếp F9 đến 2BF(hex) lần để câu “con cá” này (chắc khỏang vài giờ). Tui thì ko có khả năng này. Thành thử , tui lấy “cần câu máy” của tui ra để câu hắn. “Cần câu máy” của tui là gì đây, Hihi , chính là file script này đây các bạn. Các bạn hảy tạo 1 file : AutoFishing.txt có nội dung như sau: //AutoFishing.txt : ----------------------------------- label0: run cmp edi,2BF je label1 jmp label0 label1: ret --------------------------------- Các bạn tự tìm hiểu nó nhé. Tut quá dài gòi tui ko giải thích ở đây. Bây giờ chạy script trên đi bạn. Đốt 1 điếu thuốc mà thưởng thức Olly nó làm việc quần quật như trâu hihi . ☺ Chờ 1 chút Olly , Script sẽ chạy xong. Ta nhìn vào cửa sổ thấy chuổi RealSerial như sau: 0012D4F8 003F8860 ASCII "if4xGgfj4iHjGGiRB5D4RDD4TWsGsG" -Bây giờ đóng Olly lại. Và xóa file u2419.log trong thư mục WINDOWS .Chạy thử ứng dụng (run file .exe). Nhập Real Serial vừa câu vào: if4xGgfj4iHjGGiRB5D4RDD4TWsGsG Nó chấp nhận rồi. Ta đóng close ứng dụng lại. -Để chắc ăn ta thay year thành 2008 (hiện tại máy set à 2006). Check lại xem sao. FISHING SERIES SERIAL Page 12/12 OK,OK rồi . Vậy là những suy luận của ta hòan tòan đúng phải ko các bạn. Còn bây giờ, ai muốn câu cả đàn cá số Index từ : 2BB< IndexRealSerial (chứa trong EDI)<2FF Thì dùng cái script trên mà câu nhé. ☺ Haha vậy là xong . Sao khi ta múa mai quay cuồng, chém tới, chém lui. Thằng soft thì né qua né lại. Cuối cùng ta cũng chém được nó 1 nhát chết tươi. ☺ Các bạn chú ý trong tut, khi tui nói chạy file exe thì ko nên load ứng dụng lên Olly để run. Vì khi chạy file exe, ta đóng ứng dụng lại thì soft sẽ save Serial vào file u2419.log. Còn nhiều khi các bạn load ứng dụng vào Olly giữa chừng, và đóng Olly lại thì soft chưa kịp save số serial của chúng ta vào file u2419.log. Mà như thế thì.... khó mà suy diễn diễn biến của soft được. Các bạn thấy đó, muốn câu cá cũng đâu phải dễ dàng phải ko bạn!. Mệt đứt hơi. Benina (21/8/2005)

Các file đính kèm theo tài liệu này:

  • pdfFishing Serial Series.pdf
Tài liệu liên quan