Monday, April 9, 2018
Keygenning MFC Anwendung Crme V1
Keygenning MFC Anwendung Crme V1
Kali ini saya akan membahas bagaimana membuat keygen dari target MFC-Anwendung crme1. Tentunya itulah tidak mudah dibandingkan dengan teknik patching. Dengan dukungan dan masukan dari teman2, semua mastah dan team reverse engineering, yaitu diantaranya: bo3l4q, GrindStone, Jowy, k3p06, Yohukm, Ortega, Apakekdah, IUG, IDSH, KocokJaya, Unregistered, X-Code, Spyrozone, Coder, CiS, iNFECTiON, dll. Akhirnya dapat membuat keygen, walaupun belum hebat2 banget
- Target : MFC-Anwendung crme1
- Protection : Serial
- Compiller : Microsoft Visual C++ 6.0
- Level : Easy
- Tools : Ollydbg v1.10
- Skills : ASM, Delphi, Reverse, Logic
Ok, sekarang load targetnya ke Ollydbg, lalu jalankan (F9). Isi aja semua, lalu klik �Register�. Dan pastinya akan muncul pesan, yg mengatakan bahwa serial yang kita input salah, seperti yang terlihat pada gambar di bawah ini:
Sekarang breakpoint sebelum pesan �badboyz� tersebut, tepatnya di address �004013C5?
004013FE 3BC3 cmp eax,ebx
00401400 75 1E jnz short crme1.00401420
00401402 68 68304000 push crme1.00403068 ; ASCII "Yippie"
00401407 68 4C304000 push crme1.0040304C ; ASCII "Programm ist registriert"
0040140C 8BCF mov ecx,edi
0040140E E8 45020000 call <jmp.&MFC42.#4224_CWnd::MessageBoxA>
00401413 6A 00 push 0
00401415 8BCF mov ecx,edi
00401417 E8 48020000 call <jmp.&MFC42.#6334_CWnd::UpdateData>
0040141C 5F pop edi
0040141D 5E pop esi
0040141E 5B pop ebx
0040141F C3 retn
00401420 68 38304000 push crme1.00403038 ; ASCII "neinneinnein ..."
00401425 68 20304000 push crme1.00403020 ; ASCII "das war wohl nix ..."
0040142A 8BCF mov ecx,edi
0040142C E8 27020000 call <jmp.&MFC42.#4224_CWnd::MessageBoxA>
00401431 6A 00 push 0
Nah itu dia yg menentukan apakah serial yg kita input sama dengan serial yg sebenarnya. Sekarang kita lihat algo/loopnya, sebelum code tersebut, yaitu:
004013DB 50 push eax
004013DC 8BCE mov ecx,esi
004013DE E8 7B020000 call
004013E3 8B16 mov edx,ds:[esi]
004013E5 33C9 xor ecx,ecx
004013E7 8B52 F8 mov edx,ds:[edx-8]
004013EA 85D2 test edx,edx
004013EC 7E 0B jle short crme1.004013F9
004013EE 0FBE3401 movsx esi,byte ptr ds:[ecx+eax]
004013F2 03DE add ebx,esi
004013F4 41 inc ecx
004013F5 3BCA cmp ecx,edx
004013F7 ^ 7C F5 jl short crme1.004013EE
004013F9 8B47 64 mov eax,ds:[edi+64]
004013FC 6A 00 push 0
Setelah di analisa, maka hasilnya:
- name di isi ke EAX
- length name di isi ke EDX (mov edx,ds:[edx-8])
- ambil setiap byte dari name lalu di isi ke ESI (movsx esi,byte ptr ds:[ecx+eax])
- dijumlahkan nilai dari EBX dengan nilai ESI (add ebx,esi)
- maka real serial-nya akan tersimpan di EBX
[ With Inline ASM In Delphi ]
01 | procedure TForm1. Button1Click(Sender: TObject); |
02 | var |
03 | len,serial: integer ; |
04 | name: string ; |
05 | begin |
link download
download
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.