các bạn nên làm bằng tay như tôi.. Toolcracking Unpack and crack CodingWorkshop Ringtone Convert V5.24 Reverse Engineering Association Armadillo v3_78 Manual Unpacking Standard protecti
Trang 10040119C 6E ED D4 77 BB D7 D4 77 7C B5 D4 77 0B 05 D8 77 n w w| w w 004011AC B2 02 D7 77 54 05 D5 77 9F F2 D6 77 54 00 B0 00 .wT w wT 004011BC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
004011CC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
004011DC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
004011EC 60 00 B0 00 37 97 80 7C 29 B5 80 7C 2D FF 80 7C ` 7 |) |- |
004011FC 2F FE 80 7C D4 05 91 7C AE 30 82 7C 29 29 81 7C / | |®0.|)).| 0040120C 10 11 81 7C 3D 04 91 7C B9 8F 83 7C E4 00 B0 00 .|= | |
0040404A CALL DWORD PTR DS:[4011EC]
DS:[004011EC]=00B00060
00404EF2 CALL DWORD PTR DS:[40119C]
USER32.CallNextHookEx
00404F89 CALL DWORD PTR DS:[4011F0]
kernel32.GetCurrentThreadId
00404C66 CALL DWORD PTR DS:[4011A0]
USER32.GetDesktopWindow
00404019 CALL DWORD PTR DS:[4011F4]
kernel32.GetModuleHandleA
00404C7F CALL DWORD PTR DS:[4011A4]
USER32.GetWindowRect
004057CE CALL DWORD PTR DS:[4011F8] kernel32.GlobalAlloc
00405614 CALL DWORD PTR DS:[4011FC] kernel32.GlobalFree
00404622 CALL DWORD PTR DS:[401204] kernel32.HeapCompact
00404453 CALL DWORD PTR DS:[401208] kernel32.HeapCreate
00404584 CALL DWORD PTR DS:[40120C] kernel32.HeapDestroy
00404326 CALL DWORD PTR DS:[401214] kernel32.lstrcatA
00404FC9 CALL DWORD PTR DS:[4011A8] USER32.MessageBoxA 004045EF CALL DWORD PTR DS:[401200] ntdll.RtlAllocateHeap 0040463E CALL DWORD PTR DS:[401200] ntdll.RtlAllocateHeap
Trang 2004046DD CALL DWORD PTR DS:[401210] ntdll.RtlFreeHeap
00404FA4 CALL DWORD PTR DS:[4011AC]
USER32.SetWindowsHookExA
00404C17 CALL DWORD PTR DS:[4011B0]
USER32.SystemParametersInfoA
00404FDB CALL DWORD PTR DS:[4011B4]
USER32.UnhookWindowsHookEx
Duy chỉ có một loại là “code 40”, tôi đã trace lời gọi đó khác với ở trên và dó
chính là ExitProcess (các bạn nên làm bằng tay như tôi)
Finish
Chúc các bạn may mắn
Thanks
Toolcracking
Unpack and crack CodingWorkshop Ringtone Convert V5.24
Reverse Engineering Association
Armadillo v3_78 Manual Unpacking Standard protection
Target ……… : CodingWorkshop Ringtone Convert V5.24
Website …… : http://www.codingworkshop.com/
Protection … : Armadillo v3.78 Standard protection
Difficulty … : Easy
Tool Needed :
1 OllyDBG - The best config debugger for Armadillo unpacking by hacnho
2 LordPE Deluxe, or PETools 1.5RC5
3.Import REConstructor 1.6 Final
Trước hết em xin cảm ơn loạt tut unpack Arm của anh Hacnho, đọc loạt tut này tuy
em không hiểu nhiều lắm nhưng cũng có thể unpack bằng tay một số soft Arm Standar Protection( Em hơi bị stupid mà) Hôm nay em xin mạn phép viết thử một bài unpack Arm nếu có gì sơ xuất hay mạo phạm xin các pác bỏ qua cho em
Trang 3http://rapidshare.de/files/7984042/Arm_Unpack.rar.html
Phần 1: Unpacking
Load soft lên Olly ta ở đây:
Code:
008A4000 > 60 PUSHAD==> We’re here
008A4001 E8 00000000 CALL cwtone.008A4006
008A4006 5D POP EBP
008A4007 50 PUSH EAX
008A4008 51 PUSH ECX
008A4009 0FCA BSWAP EDX
008A400B F7D2 NOT EDX
008A400D 9C PUSHFD
008A400E F7D2 NOT EDX
008A4010 0FCA BSWAP EDX
008A4012 EB 0F JMP SHORT cwtone.008A4023
008A4014 B9 EB0FB8EB MOV ECX,EBB80FEB
008A4019 07 POP ES ; Modification of segment register
Như thường lệ với loại Standar chúng ta tìm và fix Magic Jum trước sau đó vào Memory Map Set bp memory on access hoặc Set break on access đều được Không biết máy của em bị sao hay do soft này mà khi fix magic jum, set bp xong nhấn hoài mà nó không thèm nói năng gì và không thể đến được OEP, hic hic máy với chả móc!!!! Vì khi fix magic jum xong thì không cần phải tìm và sửa IAT thằng nào invalid cut thunk hết.Thôi em đành phải làm bằng tay vậy
Nhấn Alt+M vào Memory map set bp memory on access tại Section text
Code:
Memory map
Address Size Owner Section Contains Type Access Initial Mapped as
00400000 00001000 cwtone PE header Imag R RWE
00401000 00458000 cwtone text Imag R RWE==> set
BP here
00859000 0000B000 cwtone data Imag R RWE
Nhấn Shift + F9, hiện lên một thông báo mình quên chưa đưa Money cho nó, cứ nhấn đại OK ta tới luôn OEP của soft roài :
Code:
Trang 400412360 68 F47F4300 PUSH cwtone.00437FF4 ; ASCII
"VB5!6&*"===> OEP
00412365 E8 F0FFFFFF CALL cwtone.0041235A
Tại đây nếu dump ngay thì khi mình nhấn fix Dump thì ImportREC báo ngay lỗi “ Can’t at any session”, em thử rồi các pác không tin thử là thấy liền, may quá anh Nho đã chỉ cho em cách để bypass nó (Thankx nhiều) Mở một Olly khác lên nhấn Alt + M: Double kick vào Contains PE Header chọn Copy=> Select All, sau đó chọn tiếp Binary Copy, close lại Quay lại với Olly cũ nhấn Alt + M: Double kick vào Contains PE Header chọn Copy=> Select All, sau đó chọn Binary Paste
Oki đến đây ta có thể Dump được roài Mở PE Tool lên, chọn Dump Full Tiếp tục
mở Iport REC lên chọn Process Cwtone.exe, điền OEP: 00012360 nhấn Iat
Autosearch, get Import , show invalid
-Có 6 em Invalid:
+00001048
+000013A0
+000013A8
+000013AC
+000013AB
+000013B4
-Anh em ơi ta xem hàng từng em một ha:
-Quay lại Olly Nhấn Ctrl + B, gõ FF25 Ok, ta tới đây:
Code:
00411DF0 - FF25 60114000 JMP DWORD PTR DS:[401160] ;
MSVBVM60. vbaChkstk
-Nhấn tiếp Ctrl + F:
1, JMP DWORD PTR DS:[401048] ( 001048+ 400000= 401048) nhấn Find
R-click, chọn New origin here
F7 ta đến đây:
Code:
01178B72 55 PUSH EBP
01178B73 8BEC MOV EBP,ESP
01178B75 6A FF PUSH -1
01178B77 68 40271901 PUSH 1192740
01178B7C 68 30181901 PUSH 1191830 ; JMP to
msvcrt._except_handler3
01178B81 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
01178B87 50 PUSH EAX
Trang 501178B8F 83EC 10 SUB ESP,10
01178B92 53 PUSH EBX
01178B93 56 PUSH ESI
01178B94 57 PUSH EDI
01178B95 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
01178B98 33F6 XOR ESI,ESI
01178B9A 68 107B1901 PUSH 1197B10 ; ASCII
"MSVBVM60.DLL"
01178B9F FF15 04211901 CALL DWORD PTR DS:[1192104] ; kernel32.GetModuleHandleA
01178BA5 85C0 TEST EAX,EAX
01178BA7 74 0E JE SHORT 01178BB7
01178BA9 68 047B1901 PUSH 1197B04 ; ASCII
" vbaEnd"=>Note
01178BAE 50 PUSH EAX
Vậy là ta tìm được hàm vbaEnd
Quay lại Import REC, tại dòng 00001048 Kick đúp chuột trái ta thấy một bảng Import Editor Ta gõ vào ô name: vbaEnd nhấn tiếp ok Vậy là xong một em!! Còn lại mấy em kia Tìm không thấy => Cut hết
Fix Dump
Bây giờ đến giai đoạn quan trọng nhất, run thử chạy tốt rồi nhưng vào Help About thì thấy báo lỗi thiếu file Armaccess.dll, ok bo cho nó luôn!!!!!
Phù unpack xong rồi!!!!
Phần 2: Cracking:
Khi run soft các pác có thấy dòng Status : Trial Copy không???
Dùng plugin Utra String Reference: Find UNICODE
Sau đó tìm string: “Status: Trial Copy”, ta ở đây:
Code:
0068993F 68 A8FB4400 PUSH cwtoneup.0044FBA8 ; UNICODE
"Status: Trial Copy"
00689944 8B85 ACFEFFFF MOV EAX, DWORD PTR SS:[EBP-154] 0068994A 8B00 MOV EAX, DWORD PTR DS:[EAX]
0068994C FFB5 ACFEFFFF PUSH DWORD PTR SS:[EBP-154]
00689952 FF50 54 CALL NEAR DWORD PTR DS:[EAX+54]
Nhìn lên chút xíu thấy :
Code: