Posted by: moonbaby Jan 26 2004, 11:39 AM QUOTE Homepage : http://www.xaudiotools.com load from www.softpile.com Production : Xaudiotools Software Advanced MP3/WMA Recorder 3.9 Copyri
Trang 1Posted by: moonbaby Jan 26 2004, 11:39 AM
QUOTE
Homepage : http://www.xaudiotools.com ( load from
www.softpile.com )
Production : Xaudiotools Software (Advanced MP3/WMA Recorder 3.9)
Copyright by : Copyright© 2002 Xaudiotools Software All rights reserved
Cracked File : ADRecorder.exe ( Microsoft Visual Basic 5.0 / 6.0 ) Type : Name / Serials
Packed : UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
Crack Tool : OllyDbg 1.09d
Unpack Type : Manual
Carried Out : Correct Serial
Note : None
About Advanced MP3/WMA Recorder 3.9
Advanced Mp3/Wma Recorder makes a complete recording studio of your computer With Advanced Mp3/Wma Recorder you can record your own music, voice or other sound you hear, either voice from microphone, webcasts from the Internet, music played by Winamp, Windows Media Player, Quick Time, Real Player, Flash, games, etc Sound quality of the recordings remains excellent, or sounds even better for Advanced Mp3/Wma Recorder reduces noise Advanced Mp3/Wma Recorder is able to automatically detect the recording formats your sound card supports and then set the application's
parameters for the best possible performance Your recordings are then saved as mp3 or wma or wav files
Trang 2Dùng PEiD ta biết được chương trình được nén bằng UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo Ta có thể dùng Dùng Resource Tuner v1.93 dể giải nén chương trình này Dùng PEiD lại ta biết được chương trình này được viết bằng Microsoft Visual Basic 5.0 / 6.0
Chương trình này ngoài ra còn có AntiDebug Như thường lệ ta đến địa chỉ 7FFDF002 thay giá trị ở đây là 01 thành 00 sau mỗi lần gọi chương trình bằng Olly
I - UNPACK :
Load chương trình lên bằng Olly Chọn No ( không Analysis ) Ta sẽ đến đây :
QUOTE
00464F70 > 60 PUSHAD
00464F71 BE 00904300 MOV ESI,ADRecord.00439000
00464F76 8DBE 0080FCFF LEA EDI,DWORD PTR
DS:[ESI+FFFC8000]
00464F7C 57 PUSH EDI
00464F7D 83CD FF OR EBP,FFFFFFFF
00464F80 EB 10 JMP SHORT ADRecord.00464F92
Dò chương trình xuống dưới một chút cho đến khi ta thấy đoạn mã :
Trang 3QUOTE
004650DB 61 POPAD
004650DC - E9 6BCFF9FF JMP ADRecord.0040204C < === Đặt BreakPoint tại đây
004650E1 0000 ADD BYTE PTR DS:[EAX],AL
004650E3 0000 ADD BYTE PTR DS:[EAX],AL
004650E5 0000 ADD BYTE PTR DS:[EAX],AL
…………
Sau khi đặt BreakPoint ta chạy chương trình ( nhấn F9 ) Chương trình sẽ dùng tại đây Nhấn F7 ta sẽ đến :
QUOTE
0040204C 68 38214000 PUSH ADRecord.00402138 < === OEP của chương trình
00402051 E8 EEFFFFFF CALL
ADRecord.00402044 ; JMP to
MSVBVM60.ThunRTMain
0040204C chính là OEP của chương trình
Tại đây ta dùng LordPE để Dump Full Ta được file dumped.exe
ImportREC load chương trình, điền giá trị OEP = 0040204C – 00400000
= 0000204C vào ô OEP Chọn IAT AutoSearch với giá trị OEP này Chọn tiếp Get Imports và sau đó là Fix Dump
Trang 4Ta sẽ được file dumped_.exe đã được UNPACK
II - SERIAL :
>>>>>>>> Chương trình này sau khi được load lên bằng Olly Dùng Search Sentence ta tìm thấy dòng
QUOTE
UNICODE "Register Successfully"
UNICODE "Thank you,register successfully!"
Truy thẳng vào ta sẽ thấy :
QUOTE
0045626C C785 68FFFFFF>MOV DWORD PTR SS:[EBP-98],ADRecord.0040C>; UNICODE "Register Successfully"
Trace lên chút và ta sẽ đặt BreakPoint tại :
QUOTE
00455FD0 FF15 74104000 CALL DWORD PTR
DS:[<&MSVBVM60. vbaObjSe>; MSVBVM60. vbaObjSet
Trang 5Chạy chương trình và ta sẽ dừng tại đây
QUOTE
00455FD0 FF15 74104000 CALL DWORD PTR
DS:[<&MSVBVM60. vbaObjSe>; MSVBVM60. vbaObjSet 00455FD6 68 3CBF4000 PUSH
ADRecord.0040BF3C ; UNICODE "4C29"
00455FDB 68 A8BF4000 PUSH
ADRecord.0040BFA8 ; UNICODE "AGE8B"
00455FE0 899D 3CFFFFFF MOV DWORD PTR
SS:[EBP-C4],EBX
00455FE6 FF15 4C104000 CALL DWORD PTR
DS:[<&MSVBVM60. vbaStrCa>; MSVBVM60. vbaStrCat <
=== Kết hợp hai chuỗi trên thành một MG-01 : 4C29AGE8B
00455FEC 8B1D A0114000 MOV EBX,DWORD PTR
DS:[<&MSVBVM60. vbaSt>; MSVBVM60. vbaStrMove
00455FF2 8BD0 MOV EDX,EAX
00455FF4 8D4D D8 LEA ECX,DWORD PTR SS:[EBP-28] 00455FF7 FFD3 CALL
EBX ; <&MSVBVM60. vbaStrMove>
00455FF9 50 PUSH EAX
00455FFA 68 B8BF4000 PUSH
ADRecord.0040BFB8 ; UNICODE "C2YC"
00455FFF FF15 4C104000 CALL DWORD PTR
DS:[<&MSVBVM60. vbaStrCa>; MSVBVM60. vbaStrCat < == MG-01 kết hợp với chuỗi mới tạo thành MG-02 : 4C29AGE8BC2YC
00456005 8BD0 MOV EDX,EAX
00456007 8D4D D4 LEA ECX,DWORD PTR SS:[EBP-2C] 0045600A FFD3 CALL EBX
0045600C 50 PUSH EAX
Trang 60045600D 68 C8BF4000 PUSH
ADRecord.0040BFC8 ; UNICODE "X3N"
00456012 FF15 4C104000 CALL DWORD PTR
DS:[<&MSVBVM60. vbaStrCa>; MSVBVM60. vbaStrCat < == MG-02 kết hợp tiếp tạo thành MagicString : 4C29AGE8BC2YCX3N
Trace tiếp vào trong đây ta sẽ biết được quá trình mã hoá chuỗi
QUOTE
00456083 E8 B80C0000 CALL ADRecord.00456D40
So sánh hai chuỗi
QUOTE
00456094 FF15 BC104000 CALL DWORD PTR
DS:[<&MSVBVM60. vbaStrCm>; MSVBVM60. vbaStrCmp
Nhìn qua của sổ STACK ta sẽ biết được số SERIAL thực của chương trình
III- PATCH :
Trang 7QUOTE
004560D5 FF15 24104000 CALL DWORD PTR
DS:[<&MSVBVM60. vbaFreeV>; MSVBVM60. vbaFreeVar <
== So sánh hai chuỗi và trả về giá trị cho EDI
004560DB 66:85FF TEST DI,DI < === Nếu hai chuỗi không bằng nhau ( DI = 00h )
004560DE 0F84 40020000 JE ADRecord.00456324 < ==== Vẫn
là bản chưa đăng ký
Để PATCH thì ta chuyển JE thành JNE Hay thành luôn JMP
>>>>>>>> Vậy :
QUOTE
User : Moonbaby Serial :
16D3-BC15-1577-1014
User : HVA-CrAcKeRtEaM Serial : 13B2-FF13-8CF3-1112