1st Desktop Guard 1.5 This program gives you the ability to save, restore, manage and lock your desktop layout that includes files and folders located on your desktop, placement of desktop icons and desired wallpaper. If you choose to lock your desktop layout, every time you reboot your PC, the program will restore your desktop icons and bring them back to their original positions as well as return your old wallpaper to the background. You can create an unlimited number of desktop layouts for different purposes such as gaming, working, surfing the Internet as well as provide different users with their own desktops. …. I – Information : - Dùng PEiD kiểm tra biết chương trình không bị PACK và biết chương trình được viết bằng Borland Delphi 6.0 - 7.0 - Chạy thử chương trình với User và Fake Serial ta nhận được thông báo "Registration code is invalid!". Ta tìm được thông báo này tại địa chỉ : 004903A8 |. BA D4044900 MOV EDX,desksave.004904D4 ; ASCII "Registration code is invalid!" - Truy ngược lên trên ta đặt BreakPoint tại lệnh CALL đầu tiên của FunTion này : 0049028F |. E8 FC4DFCFF CALL desksave.00455090 ; <== Set BreakPoint here II – Cracking : - Quá trình mã hoá của chương trình này rất đơn giản . Từ BP ta trace xuống chút : 004902AC |. E8 DBFDFFFF CALL desksave.0049008C ; <== Trace Into === Trace Into === 0049009A |. E8 A943F7FF CALL desksave.00404448 ; <== Get Length Serial 0049009F |. 83F8 0E CMP EAX,0E ; <== LenS must be 14 charts 004900A2 |. 75 67 JNZ SHORT desksave.0049010B 004900A4 |. 8B07 MOV EAX,DWORD PTR DS:[EDI] 004900A6 |. 8038 33 CMP BYTE PTR DS:[EAX],33 ; <== S[0] = 0x33 004900A9 |. 0F94C0 SETE AL 004900AC |. 83E0 7F AND EAX,7F 004900AF |. 03F0 ADD ESI,EAX 004900B1 |. 8B07 MOV EAX,DWORD PTR DS:[EDI] 004900B3 |. 8078 02 33 CMP BYTE PTR DS:[EAX+2],33 ; <== S[2] = 0x33 004900B7 |. 0F94C0 SETE AL 004900BA |. 83E0 7F AND EAX,7F 004900BD |. 03F0 ADD ESI,EAX 004900BF |. 8B07 MOV EAX,DWORD PTR DS:[EDI] 004900C1 |. 8078 03 39 CMP BYTE PTR DS:[EAX+3],39 ; <== S[3] = 0x39 004900C5 |. 0F94C0 SETE AL 004900C8 |. 83E0 7F AND EAX,7F 004900CB |. 03F0 ADD ESI,EAX 004900CD |. 8B07 MOV EAX,DWORD PTR DS:[EDI] 004900CF |. 8078 04 30 CMP BYTE PTR DS:[EAX+4],30 ; <== S[4] = 0x30 004900D3 |. 0F94C0 SETE AL 004900D6 |. 83E0 7F AND EAX,7F 004900D9 |. 03F0 ADD ESI,EAX 004900DB |. 8B07 MOV EAX,DWORD PTR DS:[EDI] 004900DD |. 8078 07 38 CMP BYTE PTR DS:[EAX+7],38 ; <== S[7] = 0x38 004900E1 |. 0F94C0 SETE AL 004900E4 |. 83E0 7F AND EAX,7F 004900E7 |. 03F0 ADD ESI,EAX 004900E9 |. 8B07 MOV EAX,DWORD PTR DS:[EDI] 004900EB |. 8078 08 38 CMP BYTE PTR DS:[EAX+8],38 ; <== S[8] = 0x38 004900EF |. 0F94C0 SETE AL 004900F2 |. 83E0 7F AND EAX,7F 004900F5 |. 03F0 ADD ESI,EAX 004900F7 |. 8B07 MOV EAX,DWORD PTR DS:[EDI] 004900F9 |. 8078 0A 32 CMP BYTE PTR DS:[EAX+A],32 ; <== S[10] = 0x32 004900FD |. 0F94C0 SETE AL 00490100 |. 83E0 7F AND EAX,7F 00490103 |. 03F0 ADD ESI,EAX 00490105 |. 83FE 07 CMP ESI,7 ; <== if ALL correct 00490108 |. 0F94C3 SETE BL ; <== EBX = 0x1 0049010B |> 8BC3 MOV EAX,EBX ; <== EAX = EBX === Trace Into === /*/*/*/ - SERIAL tương ứng : User : REA-cRaCkErTeAm Serial : N/A Serial : 31390CT88B27PZ III – KeyGen : /Section I /- Chuỗi Serial có chiều dài là 14 ký tự . /Section II /- Các vị trí [0][2][3][4][7][8][10] là các ký tự mặc định . IV – End of Tut : - Finished – August 23, 2004 - Thank to my family, Computer_Angel, Zombie_Deathman, Littleboy all REA‘s members, HacNho, RongChauA, Deux, Infinity, all my friend, and YOU. REVERSE ENGINEERING ASSOCIATION http://www.reaonline.net Reverse Engineering Association SoftWare Homepage : http://www.alivemedia.net Production : Alive Media, Inc. SoftWare : Alive MP3 CD Burner Copyright by : Copyright © 2003 Alive Media, Inc. All Rights Reserved. Type : Name / Serial Packed : ASPack 2.12 -> Alexey Solodovnikov Language : Borland Delphi 6.0 - 7.0 Crack Tool : OllyDbg 1.09d, PEiD 0.92, kWdsm 10 Unpack : Manual Request : Correct Serial / KeyGen Alive MP3 CD Burner Alive MP3 CD Burner is a professional music cd tool, which lets you burn your favorite CDs from MP3, WAV or OGG files! 1) Burn custom music CDs from MP3, WAV or OGG Vorbis files on-the-fly. 2) ID3 tags editor for free. 3) Supports testing, burning. 4) Supports use of high write speeds. 5) Easily Create CD Labels for any CD. 6) Built-in MP3, WAV or OGG Player. 7) Multiple CD- RW drivers support. 8) Lifetime updates. I – Information : - Dùng PEiD kiểm tra biết chương trình bị PACK bằng ASPack 2.12 -> Alexey Solodovnikov . UnPACK và kiểm tra lại biết chương trình được viết bằng Borland Delphi 6.0 - 7.0 - Chạy thử chương trình với User và Fake Serial ta nhận được thông báo "Invalid Registration Code! Please enter an available Registration Code.". Ta tìm được thông báo này tại địa chỉ : 00482506 |. 68 C8254800 PUSH unpack.004825C8 ; |Text = "Invalid Registration Code! Please enter an available Registration Code." - Truy ngược lên trên ta đặt BreakPoint tại lệnh CALL đầu tiên của FunTion này : 00482456 |. E8 2925F8FF CALL unpack.00404984 ; <== Set BreakPoint here II – Cracking : - Chạy thử chương trình với User và Fake Serial chương trình dừng lại tại điểm đặt BP . Trace xuống chút : 00482497 |. E8 78010000 CALL unpack.00482614 ; <== Trace Into 0048249C |. 8B55 F4 MOV EDX,[LOCAL.3] ; <== RealSerial 0048249F |. 8B45 F8 MOV EAX,[LOCAL.2] ; <== FakeSerial 004824A2 |. E8 FD62F8FF CALL unpack.004087A4 ; <== Compare - Dùng F7 để trace Into ta sẽ đến quá trình mã hoá chuỗi . Trước hết là quá trình tạo chuỗi để mã hoá . Chương trình sẽ kết hợp chuỗi U nhập với chuỗi mặc định “B1u6r1n8e9r” . Chuỗi kết hợp này sẽ được chia đôi thành hai chuỗi, hai chuỗi này sẽ được dảo ngược lại để tạo thành chuỗi mới . Sau đó, dựa trên chuỗi đảo ngược này, chương trình sẽ cắt làm hai chuỗi để tiến hành mã hoá (1) chuỗi đầu tiên gồm 10 ký tự đầu tiên (2) chuỗi thứ hai gồm tất cả các ký tự còn lại, bắt đầu từ ký tự thứ 6 . 0048264A |. BA 88274800 MOV EDX,unpack.00482788 ; ASCII "B1u6r1n8e9r" 0048264F |. E8 5021F8FF CALL unpack.004047A4 ; <== Concat(User,DefaultString) 00482654 |. 8B45 FC MOV EAX,[LOCAL.1] ; <== cStr 00482657 |. E8 4021F8FF CALL unpack.0040479C ; <== Len.cStr 0048265C |. 8BF0 MOV ESI,EAX ; <== Len.cStr 0048265E |. D1FE SAR ESI,1 ; <== Temp = Len.cStr / 0x2 00482660 |. 79 03 JNS SHORT unpack.00482665 00482662 |. 83D6 00 ADC ESI,0 00482665 |> 8D45 F0 LEA EAX,[LOCAL.4] 00482668 |. 50 PUSH EAX 00482669 |. 8BCE MOV ECX,ESI ; <== get Temp charts 0048266B |. BA 01000000 MOV EDX,1 ; <== from the 1st char 00482670 |. 8B45 FC MOV EAX,[LOCAL.1] ; <== of cStr 00482673 |. E8 7C23F8FF CALL unpack.004049F4 ; <== Ripping : tStrI 00482678 |. 8B45 F0 MOV EAX,[LOCAL.4] 0048267B |. 50 PUSH EAX 0048267C |. 8D45 EC LEA EAX,[LOCAL.5] 0048267F |. 50 PUSH EAX 00482680 |. 8B45 FC MOV EAX,[LOCAL.1] 00482683 |. E8 1421F8FF CALL unpack.0040479C 00482688 |. 8BC8 MOV ECX,EAX 0048268A |. 8D56 01 LEA EDX,DWORD PTR DS:[ESI+1] ; <== get (Len.cStr-Temp) charts 0048268D |. 8B45 FC MOV EAX,[LOCAL.1] ; <== of cStr 00482690 |. E8 5F23F8FF CALL unpack.004049F4 ; <== Ripping : tStrII 00482695 |. 8B55 EC MOV EDX,[LOCAL.5] ; <== tStrII 00482698 |. 8D45 FC LEA EAX,[LOCAL.1] 0048269B |. 59 POP ECX ; <== tStrI 0048269C |. E8 4721F8FF CALL unpack.004047E8 ; <== Concat(tStrII, tStrI) : reaStr 004826A1 |. 8D45 F8 LEA EAX,[LOCAL.2] 004826A4 |. 50 PUSH EAX 004826A5 |. B9 0A000000 MOV ECX,0A ; <== Get 10 charts 004826AA |. BA 01000000 MOV EDX,1 ; <== from the FIRST chart 004826AF |. 8B45 FC MOV EAX,[LOCAL.1] ; <== of reaStr 004826B2 |. E8 3D23F8FF CALL unpack.004049F4 ; <== Cutting : SecI 004826B7 |. 8D45 F4 LEA EAX,[LOCAL.3] 004826BA |. 50 PUSH EAX 004826BB |. 8B45 FC MOV EAX,[LOCAL.1] 004826BE |. E8 D920F8FF CALL unpack.0040479C 004826C3 |. 8BC8 MOV ECX,EAX ; <== Get all charts 004826C5 |. BA 06000000 MOV EDX,6 ; <== from the 6th chart 004826CA |. 8B45 FC MOV EAX,[LOCAL.1] ; <== of reaStr . <== S [ 10 ] = 0x32 00 4 900 FD |. 0F94C0 SETE AL 00 49 01 0 0 |. 83E0 7F AND EAX,7F 00 49 01 0 3 |. 03 F0 ADD ESI,EAX 00 49 01 0 5 |. 83FE 07 CMP ESI,7 ; <== if ALL correct 00 49 01 0 8 |. 0F94C3 SETE. = 0x39 00 4 900 C5 |. 0F94C0 SETE AL 00 4 900 C8 |. 83E0 7F AND EAX,7F 00 4 900 CB |. 03 F0 ADD ESI,EAX 00 4 900 CD |. 8B07 MOV EAX,DWORD PTR DS:[EDI] 00 4 900 CF |. 807 8 04 30 CMP BYTE PTR DS:[EAX+4], 30. ; <== S [0] = 0x33 00 4 900 A9 |. 0F94C0 SETE AL 00 4 900 AC |. 83E0 7F AND EAX,7F 00 4 900 AF |. 03 F0 ADD ESI,EAX 00 4 900 B1 |. 8B07 MOV EAX,DWORD PTR DS:[EDI] 00 4 900 B3 |. 807 8 02 33 CMP BYTE PTR