Chọn file dump.exe, chúng ta được file dump_.exe.. Chúng ta sẽ đến các địa chỉ JMP YYYYYYYY và sửa thành JMP [XXXXXXXX].. Nhưng trước tiên chúng ta sẽ sửa lại trong “Debug Options” như s
Trang 1Nhấn nút “Fix Dump” Chọn file dump.exe, chúng ta được file dump_.exe IAT sẽ có dạng như sau :
Target: C:\WINDOWS\system32\NOTEPAD.EXE
OEP: 00007088 IATRVA: 00003050 IATSize: 00000100
FThunk: 00003050 NbFunc: 00000002
1 00003050 kernel32.dll 00AC ExitProcess
1 00003054 kernel32.dll 0168 GetModuleHandleA
FThunk: 0000305C NbFunc: 00000006
1 0000305C user32.dll 000E BeginPaint
1 00003060 user32.dll 009F DialogBoxParamA
1 00003064 user32.dll 00C7 EndDialog
1 00003068 user32.dll 00C9 EndPaint
1 0000306C user32.dll 01B6 LoadBitmapA
1 00003070 user32.dll 023C SendMessageA
FThunk: 00003078 NbFunc: 00000005
1 00003078 gdi32.dll 0013 BitBlt
1 0000307C gdi32.dll 002E CreateCompatibleDC
1 00003080 gdi32.dll 008D DeleteDC
1 00003084 gdi32.dll 0090 DeleteObject
1 00003088 gdi32.dll 020D SelectObject
Chúng ta cần một thay đổi nhỏ nữa để IAT work Chúng ta sẽ đến các địa chỉ JMP YYYYYYYY và sửa thành JMP [XXXXXXXX] Nhưng trước tiên chúng ta sẽ sửa lại trong “Debug Options” như sau
Trang 2Mở file dump_.exe Nhảy đến 0040110E, chúng ta sẽ sửa lại JMP 00830000 thành bằng cách nhấn phím Space tại 0040110E Nhập vào như hình sau :
Nhấn nút “Assemble” (Lưu ý ở trên là 00403050 chính là địa chỉ của hàm ExitProcess trong IAT của chúng ta) Các API khác cũng làm tương tự Cuối cùng chúng ta được :
Bây giờ chúng ta sẽ lưu file sửa đổi lại bằng cách nhấn phải chuột chọn như trong hình
Trang 3Một hộp thoại hiện ra chọn “Copy
All” Nhấn phải chuột chọn “Save File” đặt tên
là
unpacked.exe
Chạy thử file unpacked.exe Tốt Vậy là xong Tuy hơi công phu nhưng cuối cùng chúng ta đã thành công trong việc unpack cái unpackme này Các bạn có thể dùng LordPE hoặc PE Tools để “Rebuild PE” sẽ giảm kích thước file unpacked.exe từ 40 Kb xuống 17
Kb
Greetz : All VCT members, Crusader, Ricardo and Kagra …
14-06-2005
tlandn
Manual Unpacking & Cracking
ActiveMark 5.xx
I- Introduction:
ActiveMark là 1 dạ Protect khá nổ tiế dành cho Game theo cả nhậ củngingmna
riêng em nó vừ khó và cũ vừ dễ Khó nế chúng ta không biế phư ng pháp đ killanga.utơể
và dĩnhiên cự kỳdễkhi chúng ta nắ đ ợ phư ng pháp làm thịnó Bả thân em thìcm ưcơtn
hầ nhưđ làm thịtoàn bộGame đ ợ Protect bở ActiveMark trên BigFishGames vàuãtưci
Yahoo!Games vì vậ em cũ có chút ít kinh nghiệ vềdạ này và quyế đnh viế tấyngmngtịtt
cảnhữ gì em biế vềActiveMark đ share vớ tấ cảanh em…ngtểit
II- Tools & Target:
Tool và các Plugin cầ dùng:n
Trang 4OllyDBG 1.10
LordPE 1.4
ImportREC 1.6f
UltraEdit-32
ActiveMark Dumper
ActiveMark Overlay Wizard ActiveMark Loader
Protection iD v5.1e
Target: Buku Sudoku
Trang 5HomePage: http://www.bigfishgames.com/
III-Unpacking
Vềphầ Unpack ActiveMark thì chúng ta có 2 cách:n
Unpacking vớ Tools hỗ trợ (cách này nhanh gọ và hiệ quảinu)
Manual Unpacking (cách này cự kỳchuẩ xác và mang tính chuyên nghiệ caocnp hơn)
1 Manual Unpacking:
_khi cầ detect các Game có bịnPack hay Protect dạ nào thì em khuyên các Bác nênng dùng Protection ID 5.1f đ Scan vì nó làm việ khá chính xácểc
_Ok, MởOllyDBG và nhấ Alt+O và chọ sau:nn
Trang 6_Load target vào OllyDBG và ta dừ ởđngây:
_Nhấ Shift+F9 Game sẽRunn
Trang 7_Bây giờta cầ xác đnh Section chứ tớ OEP Trong cử sổOllyDBG nhấ Alt+M vànịaian kéo xuố dư i và thấngớy
_Section adata (004B2000) chứ OEP (đ sốcác game đ ợ ActiveMark bả vệaaưco thư ng OEP chứ trong Section bên dư i rsrc đ u tiên, tính từPE Header củờaớầa
Game)…Nhấ Alt+C và nhấ Ctrl+G nhậ vào 004B2000 và ta tớ đnnpi ây
Trang 8_ Nhấ F10 và chọ nhưhìnhnn
_Gõ GetCommandLineA