Production: DriveScrubber 2.0a Homepage: www.iolo.com Protector: Name/Serials Packed: ASPack 2.1 -> Alexey Solodovnikov Coder: Borland Delphi 4.0 - 5.0 Tools: OllyDbg 1.09d + LordPE + Im
Trang 1Production: DriveScrubber 2.0a
Homepage: www.iolo.com
Protector: Name/Serials
Packed: ASPack 2.1 -> Alexey Solodovnikov
Coder: Borland Delphi 4.0 - 5.0
Tools: OllyDbg 1.09d + LordPE + ImportREC 1.6
Done: Get Correct Serials
Cracked by: Zombie DeathMan
Comment: Something to intro about this software
This is example form for tuts Software Crack
Oki…Crack cái ni ta tiến hành Unpack Manully trước hen…
Sau khi load DriveScrubber lên bằng Olly, bỏ qua (nhấn Yes/Ok) ở các Dialog thông báo…
Ta sẽ bắt đầu ở đây…
CODE
004B3001 > 60 PUSHAD > Olly đang Paused here
004B3002 E8 72050000 CALL InstallD.004B3579
004B3007 EB 33 JMP SHORT InstallD.004B303C
Nhấn F8 để run đến 004B3002 Lúc này nhìn qua cửa sổ Registers, giá trị ESP = 0012FFC4 Right Click lên ESP > Follow in Dump
Tiếp tục, ở cửa sổ Hex sau khi chọn Follow in Dump trên sẽ nhảy đến…
Trang 2CODE
0012FFC4 C7 14 E8 77 78 E0 12 00 F0 88 FA 77 00 F0 FD 7F Ç èwxà
.ðˆúw.ðý
0012FFD4 F0 4C 27 EF C8 FF 12 00 04 45 53 80 FF FF FF FF ðL'ïÈÿ
ES€ÿÿÿÿ
Chọn 4 bytes đầu tiên (C7 14 E8 77), Right Click > BreakPoint > Hardware, on access > Dword
Bây giờ thì nhấn F9 để run, Olly sẽ tự pause lại Lúc bấy giờ ta sẽ ở…
CODE
004B34F4 /75 08 JNZ SHORT InstallD.004B34FE > Ta đang ở đây 004B34F6 |B8 01000000 MOV EAX,1
004B34FB |C2 0C00 RETN 0C
004B34FE \68 70EB4700 PUSH InstallD.0047EB70
004B3503 C3 RETN
Nhấn F8 để trace đến 004B3503, nhấn tiếp 1 lần nữa để Return về…
CODE
0047EB6E 47 DB 47 ; CHAR 'G'
0047EB6F 00 DB 00
Trang 30047EB70 55 DB 55 ; CHAR 'U' > Pause here
0047EB71 8B DB 8B
0047EB72 EC DB EC
Bây giờ do Olly chưa Analyse nên không thấy được code…Nhấn CTRL+A…Chờ analysing…done…sẽ có được đoạn code sau…
CODE
0047EB6B 00 DB 00
0047EB6C 80E84700 DD InstallD.0047E880
0047EB70 55 PUSH EBP > OEP
0047EB71 8BEC MOV EBP,ESP
0047EB73 83C4 F4 ADD ESP,-0C
0047EB76 53 PUSH EBX
0047EB77 B8 A8E84700 MOV EAX,InstallD.0047E8A8
Ngay tại đây Dùng LordPE, chọn Process chương trình và Dump Full…Ta sẽ có được file dumped.exe
Tiếp tục dùng ImportREC, chọn Process điền OEP là 0047EB70 – 400000 = 7EB70 > IAT Auto Search
Zombie thường cho tăng thêm vài đơn vị để chắc an do đó Từ các thông số Auto
ra Zombie fix như sau:
RVA = 00082164 > 00082200
Size = 0000074C > 00000800
Ok Chọn Get Imports…ImportREC sẽ Import các hàm APIs cho ta…
Trang 4Do ban nãy chọn thông số dư ra nên sẽ có các Invalid > Show Invalid > Trace Level > Vẫn còn Invalid > Show Invalid và Cut Trunks đi…Fix Dump
Và ta đã file unpack hoàn chỉnh…Check PeiD sẽ nhận định DriveScrubber được code bằng Borland Delphi 4.0 - 5.0
Bây giờ thì tiến hành Crack
…
Tìm kiếm thử các Strings trong cửa sổ Text String Refencened bạn sẽ tìm ra Nag String…Nhấn Enter để về cửa sổ Code
CODE
0047B86C /$ B8 80B84700 MOV
EAX,dumped_.0047B880 ; ASCII "The licensing information you have entered is not recognized In most cases this indicates that you have
simply typed the information incorrectly Please verify that you are entering this information exactly as it appears on your order"
0047B871 | E8 5645FDFF CALL dumped_.0044FDCC
0047B876 \ C3 RETN
Cũng ngay từ vị trí Nag String này ta thấy hàm này được CALL From 0047BFEE > Go to CALL…
CODE
0047BFEA | /EB 07 JMP SHORT dumped_.0047BFF3
Trang 50047BFEC |> |8BC3 MOV EAX,EBX ; Default case
of switch 0047BFC2
0047BFEE | |E8 79F8FFFF CALL dumped_.0047B86C > Bạn ở đây
Tiếp tục quan sát lại thấy 0047BFEC được Jump from 0047BFC8 > Go to JMP tiếp…
CODE
0047BFC6 | /74 13 JE SHORT dumped_.0047BFDB
0047BFC8 | |EB 22 JMP SHORT dumped_.0047BFEC > Bạn ở đây
Như vậy có thể thấy ra…Nếu ở lệnh JE trên không thỏa > Không nhảy sẽ chạy tiếp Code JMP đến hàm gọi Nag… > Hàm Check Serials phải nằm gần đó… Bạn có thể tìm và set breakpoint ở lệnh CALL gần đó nhất
CODE
0047BFB0 | 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24]
0047BFB3 | 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0047BFB6 | E8 9D7EF8FF CALL dumped_.00403E58 > Set BreakPoint here
0047BFBB | 75 05 JNZ SHORT dumped_.0047BFC2
Trang 6Run chương trình, nhập Name/Serials Ok Và cái ta có được bây giờ là Các con
số Serials cho ver Personal và Professional ở cửa sổ góc phải…
xxxxx-DR* > Professional
xxxxx-DP* > Personal