1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracker Handbook 1.0 part 162 doc

10 103 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 136,67 KB

Nội dung

Powered by Invision Power Board (http://www.invisionboard.com) © Invision Power Services (http://www.invisionpower.com) Printable Version of Topic Click here to view this topic in its original format HVA Forum > Box thảo luận Reverse Engeneering, tutorial Reverse Engeneering > www.magictweak.com Posted by: Zombie Dec 16 2003, 07:45 PM QUOTE Production: Magic Utilities 2003 Version 2.31 Homepage: http://www.magictweak.com Download: http://www.magictweak.com/download/mgutil.exe Protector: Name/Serials Packed: PECompact 1.68 - 1.84 -> Jeremy Collake Tools: OllyDbg 1.09d + PEiD 0.91 (Detect Packer) + UnPECompact 1.32 (Unpacker) Done: Get Correct Serials ( If you want can make keygen with it) Cracked by: Zombie DeathMan Intro: Magic Utilities is a cute program designed to make your computer clean and more stable.These utilities include Uninstller Plus,StartUp Organizer,Process Killer.Magic Utilities enables you to easily and safely uninstall programs;inspect and manage the programs that automatically start when you turn on or logon to your computer;list and control all currently running processes(system and hidden processes are also shown).With a cool and user-friendly interface makes it easy for anyone to use Magic Utilities. Sau khi install chương trình xong…Bạn sử dụng PEiD để load nó lên và được packed bằng PECompact 1.68 - 1.84 -> Jeremy Collake. Như vậy cần unpack trước khi tiến hành crack. Tool unpacker ở đây dùng là UnPECompact 1.32 (có thể download tại http://www.protools.cjb.net). Để unpack bạn load UnPECompact lên, browse chọn file, sau đó chờ chương trình làm và điền tên file unpacked để save…Ở đây Zombie để save với tên unpacked.exe (size 1,477,379 bytes). Nếu muốn bạn có thể dùng PEiD lần nữa để biết chương trình code bằng ngôn ngữ gì, kết quả là Microsoft Visual C++ 6.0. Xong Đã qua bước đầu. Bây giờ thì tiến hành crack…Load Olly lên, mở chương trình Magic Utilities ra….Cứ F9, run thử xem cách thức register của chương trình này ra sao… Thấy rồi, một hộp thoại nhập Name/Serials. Ở đây bạn cứ điền fake vào. Giả sử Zombie điền: User: Zombie – Registration Code: 12345. Nhấn Ok. Bạn sẽ nhận được hộp thoại thông báo “Thank you….”. Uh! Như vậy có thể nhận ra rằng ở đây Magic Utilities dùng cơ chế lưu lại thông tin register và dùng nó check khi load chương trình chứ không xử lý ngay tại hộp thoại. Tạm đủ thông tin…Exit Olly cái đã Ok Vậy bây giờ cần tìm ra nó lưu thông tin đăng kí ở đâu? 1. Registry? hmm Bạn dùng RegShot (http://regshot.yeah.net) để capture lại Registry trước lần thứ 1. Sau đó chạy Magic Utilities (chạy bình thường không phải trong Olly) và nhập lại với thông số khác (Chẳng hạn bây giờ User: HVA Cracker – Registration Code: 67890) > Chương trình exit xong, Capture Registry lại lần nữa > Bây giờ Compare 2 lần capture vừa rồi > nothing change Vậy không phải là trong Registry rồi. 2. Như vậy chắc là KeyFile…But Biết KeyFile nào? Quay về với Olly để tìm hiểu xem sao…. Bạn có để ý rằng cái MessageBox báo Thank you…Có vẻ giống MessageBox của Windows > Vậy có lẽ ở đây dùng hàm MessageBoxA để gọi nó này > Set bpx MessageBoxA. Set bp xong F9 run, điền các thông số (Zombie – 12345). Ok…Yeah! Pause. CODE 004676AB |> \8B4E 1C MOV ECX,DWORD PTR DS:[ESI+1C] 004676AE |> FF7424 10 PUSH DWORD PTR SS:[ESP+10] ; /Style 004676B2 |. 50 PUSH EAX ; |Title 004676B3 |. FF7424 10 PUSH DWORD PTR SS:[ESP+10] ; |Text 004676B7 |. 51 PUSH ECX ; |hOwner 004676B8 |. FF15 2C154800 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA > Paused here Bắt đầu từ đây ta nhấn F8 để trace dần dần xem nó lưu thông tin Register thế nào…Sau lần nhấn F8 đầu tiên, MessageBox hiện lên, Ok để tiếp tục Cứ trace trace đến CODE 00438CEF . 8B86 7C100000 MOV EAX,DWORD PTR DS:[ESI+107C] 00438CF5 . 8B3D 34124800 MOV EDI,DWORD PTR DS:[<&KERNEL32.WritePr>; kernel32.WritePrivateProfileStringA 00438CFB . 68 60894900 PUSH unpacked.00498960 ; /FileName = "mgutil_win.ini" 00438D00 . 50 PUSH EAX ; |String 00438D01 . 68 54894900 PUSH unpacked.00498954 ; |Key = "UserName" 00438D06 . 68 50894900 PUSH unpacked.00498950 ; |Section = "REG" 00438D0B . FFD7 CALL EDI ; \WritePrivateProfileStringA 00438D0D . 8B86 78100000 MOV EAX,DWORD PTR DS:[ESI+1078] 00438D13 . 68 60894900 PUSH unpacked.00498960 ; /FileName = "mgutil_win.ini" 00438D18 . 50 PUSH EAX ; |String 00438D19 . 68 48894900 PUSH unpacked.00498948 ; |Key = "RegCode" 00438D1E . 68 50894900 PUSH unpacked.00498950 ; |Section = "REG" 00438D23 . FFD7 CALL EDI ; \WritePrivateProfileStringA Đến đây thì khá rõ ràng rồi…Thông tin register được lưu ở file mgutil_win.ini bằng các hàm APIs truy cập INI file….Done Nhấn F9 để nó run luôn và exit chương trình… Reload lại…Search text để tìm string “mgutil_win.ini”…Bạn sẽ tìm được ở Addr 00420306. Set bp ở đây. Run…and pause … CODE 00420306 . 68 60894900 PUSH unpacked.00498960 ; ASCII "mgutil_win.ini" > Paused here 0042030B . 8D9424 540100>LEA EDX,DWORD PTR SS:[ESP+154] 00420312 . 6A 28 PUSH 28 00420314 . 52 PUSH EDX 00420315 . 68 14E54900 PUSH unpacked.0049E514 0042031A . 68 54894900 PUSH unpacked.00498954 ; ASCII "UserName" 0042031F . 68 50894900 PUSH unpacked.00498950 ; ASCII "REG" 00420324 . C68424 CC7E00>MOV BYTE PTR SS:[ESP+7ECC],0D 0042032C . FFD7 CALL EDI 0042032E . 8BD8 MOV EBX,EAX 00420330 . 68 60894900 PUSH unpacked.00498960 ; ASCII "mgutil_win.ini" 00420335 . 8D8424 B40000>LEA EAX,DWORD PTR SS:[ESP+B4] 0042033C . 6A 28 PUSH 28 0042033E . 50 PUSH EAX 0042033F . 68 14E54900 PUSH unpacked.0049E514 00420344 . 68 48894900 PUSH unpacked.00498948 ; ASCII "RegCode" 00420349 . 68 50894900 PUSH unpacked.00498950 ; ASCII "REG" 0042034E . FFD7 CALL EDI Ở đây là các lệnh nhằm đọc thông tin từ Ini File….Từ đây bạn tiếp tục F8 trace…đến CODE 00420384 . 50 PUSH EAX ; /Arg2 = 0012810C ASCII "12345" 00420385 . 51 PUSH ECX ; |Arg1 00420386 . 8BCD MOV ECX,EBP ; | 00420388 . E8 33110000 CALL unpacked.004214C0 ; \unpacked.004214C0 0042038D . 85C0 TEST EAX,EAX 0042038F . 74 0F JE SHORT unpacked.004203A0 Hm Ở đây nhận PUSH Serials, Name để làm đối số cho lệnh CALL và sau CALL lại có lệnnh JE > Phải chăng đây là hàm check Serials? Khi trace vào đây (nhấn F7 để step into) bạn sẽ thấy nó check fake Serials với 112720 (có thể ở mấy bạn cho số khác Zombie, not sure)…. > Correct Serials = 112720 ? Cứ thử đi nope …hih Trace hết (F8) cho về lại main. Tiếp tục trace đến… CODE 004203B3 . 52 PUSH EDX 004203B4 . E8 67140000 CALL unpacked.00421820 004203B9 . 85C0 TEST EAX,EAX 004203BB . 0F85 EE010000 JNZ unpacked.004205AF Ở đây cũng lại PUSH EDX (EDX hiện chứa Serials)…Step Into thử xem sao CODE … 00421880 |. BF 9CA54900 MOV EDI,unpacked.0049A59C ; ASCII "9GDDCCG9,39DGCFG9,9F9DG29C,D9G2G4FE,E4ECDCGE,643C2E39,CCG 9D44E,X4G9634W,GG2D9GEX,EE2999DC,9A32FEED,GG92ED4D,9G399GC C,GG2DE99G,C4D9DE9G,4F4DDDDE,D9E92E32,DE3G63GG,GDDWCDEC, 2966EDDG,ACDDGF36,EFC4F2G2,DG9E44G9,D2FDGGGD,6GG29ECD,G36 GE9GC,G3D" … 004218AA |. BF BC9D4900 MOV EDI,unpacked.00499DBC ; ASCII "EL4ICGE4,GFA4CGGB,E6GLGGAC,DFG6D6LF,E4CGECAA,CADCGGG4, FDLDGDDG,B6GA5FBB,GAFCLG6A,GFAL6LLC,75T48Y5Y,DFDFDDGL,C EEFD4D4,BCGDGGGL,G64A3G6L,6DGGDCLG,G4LZCZ5F,CDCA666A,6D DADFEG,GDLFEDLA,CFL6GLEG,GLCLD6BG,6C6EG4C6,G6CFGGCF,37T4 48Q4,GC6FC4D4,G44" …. Why? Sao lại có một loạt dãy số này vậy? Check thử một trong các số trên xem > Correct Seriasl… Done… Nói thêm chút…Cách khác để khỏi mất thời gian trace vào từng lệnh CALL: Bạn chỉ việc nhấn F8 trace qua các lệnh CALL cho đến khi thấy chương trình run hoàn toàn và hiện thông báo nhập register… CODE 004203B4 . E8 67140000 CALL unpacked.00421820 004203B9 . 85C0 TEST EAX,EAX 004203BB . 0F85 EE010000 JNZ unpacked.004205AF 004203C1 . 50 PUSH EAX 004203C2 . 8D8C24 740C00>LEA ECX,DWORD PTR SS:[ESP+C74] 004203C9 . A3 3CE64900 MOV DWORD PTR DS:[49E63C],EAX 004203CE . E8 DD7F0100 CALL unpacked.004383B0 004203D3 . 8D8C24 700C00>LEA ECX,DWORD PTR SS:[ESP+C70] 004203DA . C68424 B47E00>MOV BYTE PTR SS:[ESP+7EB4],0E 004203E2 . E8 19A10400 CALL unpacked.0046A500 > Chương trình sẽ run hoàn toàn sau lệnh CALL này Quan sát chút sẽ thấy sau lệnh CALL ở 004203B4 là JNZ nhảy khỏi lệnh CALL hiển thị thông báo nhập Register…Vậy xác suất cao nó là lệnh check Serials… QUOTE Registered Name: Zombie Registration Code: EL4ICGE4 Kết luận: Như vậy Magic Utilities sử dụng check trên danh sách Serials lưu sẵn chứ không phải dùng thuật nào để tạo Serials ứng với từng Name…. Muốn code keygen bạn chỉ cần…Lấy danh sách này về…Mỗi lần nhập Name vào thì rnd trên danh sách này Hix…Do bài Magic Utilities này Zombie lấy làm bài Mod’s Tutorial nên viết dông dài… Hai Soft sau viết…vài dòng thui…hehe…. Production: MagicTweak Version 2.70 + Privacy Inspector Version 1.51 Homepage: http://www.magictweak.com Thường cùng hãng thì cách protect na ná nhau cho các Softwares… 1. Với MagicTweak bạn tìm đến string “mgwin.ini” ở 0044ACCF . 68 38114D00 PUSH unpacked.004D1138 ; ASCII "mgwin.ini" và cũng cứ trace đến 0044AD7C . 50 PUSH EAX 0044AD7D . E8 1E0D0000 CALL unpacked.0044BAA0 > F7 để step into vào vào lấy Serials 0044AD82 . 85C0 TEST EAX,EAX 0044AD84 . 0F85 3D020000 JNZ unpacked.0044AFC7 Đơn cử ra cho thằng này: Name: Zombie Registration Code: 8GDDEEG0 2. Privacy Inspector thì 004372FF . 68 5C614900 PUSH unpacked.0049615C ; ASCII "privacy_win.ini" … trace đến 004373AC . 50 PUSH EAX 004373AD . E8 3E0D0000 CALL unpacked.004380F0 > F7 để step into vào vào lấy Serials 004373B2 . 85C0 TEST EAX,EAX 004373B4 . 0F85 3D020000 JNZ unpacked.004375F7 Đơn cử ra cho thằng này: Name: Zombie Registration Code: 3BGDAEE0 Ặc ặc…hãng MagicTweak này có đúng 3 cái softwares này thui…Coi như ta quýnh sập tiệm họ gùi Phù….Zombie đi ngủ đây hix Posted xong tuts này cũng là gần 3h rùi Hix…Đọc vài reply trong HVA thấy khó chịu quá nên ngồi crack luôn… . CODE 00 4 203 B4 . E8 6 714 00 00 CALL unpacked .00 4 218 20 00 4 203 B9 . 85C0 TEST EAX,EAX 00 4 203 BB . 0F85 EE 01 0 00 0 JNZ unpacked .00 4 205 AF 00 4 203 C1 . 50 PUSH EAX 00 4 203 C2 . 8D8C24 740C 00& gt;LEA ECX,DWORD. CODE 00 4 203 84 . 50 PUSH EAX ; /Arg2 = 0 012 8 10 C ASCII " ;12 345" 00 4 203 85 . 51 PUSH ECX ; |Arg1 00 4 203 86 . 8BCD MOV ECX,EBP ; | 00 4 203 88 . E8 3 311 00 00 CALL unpacked .00 4 214 C0 ; unpacked .00 4 214 C0. SS:[ESP +15 4] 00 4 20 312 . 6A 28 PUSH 28 00 4 20 314 . 52 PUSH EDX 00 4 20 315 . 68 14 E54 900 PUSH unpacked .00 49E 514 00 4 203 1A . 68 54894 900 PUSH unpacked .00 498954 ; ASCII "UserName" 00 4 203 1F

Ngày đăng: 03/07/2014, 17:21

TỪ KHÓA LIÊN QUAN