~[multimedia]~  
 
  berita terbaru 03/28/2024 1:02pm (UTC)
   
 
he, katanya kita anak 2 multimedia bakal berkurang nih anggotanya
Tutorial Cracking!
Admin on 02/22/2007 at 4:43am (UTC)
 Beginner Cracking Tutorial vol 1 by flag eRRatum

Target : WinSolo Freeware Version
Size : 35.1 KB
URL : http://home.worldonline.dk/~andersa/download/index.htm
Protection : Nag Screen
Audience : Absolute beginner cracker
Tools : Wdasm (versi terakhir : 8.93), SoftIce (versi terakhir : 4.05),
HexEditor yang baik (Download semua di http://protools.cjb.net / http://playtools.cjb.net)

Essay :

Oke, pertama jalankan WinSolo, kamu akan ketemu dengan message box, dengan tulisan : "FYI. A more recent ... ". Message box ini disebut dengan nag screen, dan kita ngak suka donk dikasih pesen pesen gitu setiap kali jalanin program ini ? Oke, kita akan meng"hapus" nag screen ini.

Tutorial gua kali ini, akan dibagi dalam 2 tahap, yakni deadlist approach, dan live approach.
Deadlist, dengan menggunakan disasmbler seperti Wdasm/IDA (di sini, kita akan pake WDasm) dan Live dengan menggunakan Softice.


DEADLIST APPROACH :

Jalankan Wdasm, disasm file WinSolo.exe, tunggu sampe selesai. Klik kotak string reference, string reference mengandung SETIAP kata/kalimat yang terdapat dalam program, yang kalau kamu sering membuat program termasuk dalam variabel konstan. Inget, pesan nag screen tadi ? , cari di string reference box tadi :

String Resource ID=00002: "WinSolo"
" ((((( "
" "
"*.exe"
"."
"\!ABS"
"\"
"Boot"
"Browse for application"
"Explorer.exe"
"FYI. A more recent version of " --->>> Ini yang kita cari !!!
"KERNEL32.DLL"
"MMTASK.TSK"
"MPREXE.EXE"
"MSGSRV32.EXE"
"PDT"

Double clik di text tersebut, kamu akan dibawa ke sini :

* Referenced by a CALL at Address:
|:004067DD
|
:00401100 64A100000000 mov eax, dword ptr fs:[00000000]
:00401106 6AFF push FFFFFFFF
:00401108 6888DE4000 push 0040DE88
:0040110D 50 push eax
:0040110E 64892500000000 mov dword ptr fs:[00000000], esp
:00401115 83EC4C sub esp, 0000004C
:00401118 53 push ebx
:00401119 56 push esi
:0040111A 6A00 push 00000000
:0040111C E8BF530000 call 004064E0
:00401121 8D88AB2788CA lea ecx, dword ptr [eax+CA8827AB]
:00401127 B807452EC2 mov eax, C22E4507
:0040112C F7E9 imul ecx
:0040112E 03D1 add edx, ecx
:00401130 83C404 add esp, 00000004
:00401133 C1FA10 sar edx, 10
:00401136 8BC2 mov eax, edx
:00401138 C1E81F shr eax, 1F
:0040113B 03D0 add edx, eax
:0040113D 83FAFC cmp edx, FFFFFFFC
:00401140 7E05 jle 00401147
:00401142 83FA78 cmp edx, 00000078
:00401145 7E14 jle 0040115B

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00401140(C)
|
:00401147 6A40 push 00000040

* Possible StringData Ref from Data Obj ->"WinSolo" -->> Caption nag screen
|
:00401149 6850114100 push 00411150

* Possible StringData Ref from Data Obj ->"FYI. A more recent version of "
->"this program MAYBE available from "
->"http://procode.com.au/. Otherwise "
->"the date setting on your computer "
->"is possibly wrong."
|
:0040114E 68B4104100 push 004110B4
:00401153 6A00 push 00000000

* Reference To: USER32.MessageBoxA, Ord:0195h -->> tampilkan dengan fungsi Messageboxa
|
:00401155 FF1570644100 Call dword ptr [00416470]


Seperti yang kamu lihat, pertama program akan meng-save title/caption dari nag screen, terus dia akan meng-save ISI dari nag screen tersebut, dan kemudian baru menampilkannya dengan fungsi API : MessageboxA.

Lihat, ke atas di offset : 401147, ada jump reference dari 401140, lihat ke baris 401140, berarti ada 2 kemungkinan program bisa mencapai nag screen generating ini, pertama dari loncatan di 401140, atau kedua, di 401140 dia ngak loncat, dan di 401145 dia juga ngak loncat. Perhatikan baris 401145 : jle 0040115B, jelas kalau disini program "loncat", maka program ngak akan pernah menyentuh nag screen generating. Jadi ada berbagai cara untuk "melompati" rutin pembuatan nag screen tersebut, gua akan tunjukkan beberapa caranya :

1. Pada baris 401140, NOP instruksi "jle 00401147", jadi kita harus ganti opcodes (kode untuk isntruksi asm) dari "jle 00401147" dari 7E05 menjadi 9090 (opcode untuk NOP, NOP) inget NOP harus 2 kali, karena instruksi NOP opcodesnya hanya terdiri dari 1 byte, sedang jle 00401147 terdiri dari 2 bytes. NOP adalah instruksi assembly yang tidak melakukan apa apa (NOP = No Operation), jadi sebenarnya ngak ada gunanya, cuman sebagai pengisi bytes aja.

Jangan lupa pada baris 401145, kita harus merubah jle 40115B, menjadi JMP 40115B, karena kita harus "loncat" di offset tersebut. Ganti opcodes dari 7E14, menjadi EB14 (opcodes untuk JMP 40115B).

2. Cara kedua adalah dengan meng-NOP fungsi API Messageboxa, ganti opcodes dari offset 401155, dari FF1570644100 menjadi 909090909090, dengan begitu fungsi Messageboxa tersebut tidak pernah dipanggil dan nag screen tidak pernah dibentuk.

3. Cara lebih baik, adalah dengan merubah offset 401140, dari instruksi JLE 401147, menjadi JMP 40115B, dengan begitu kita hanya perlu merubah 1 kali saja, yakni dengan mengganti opcodes 7E05 menjadi EB14.


Disini, gua akan pake cara ketiga. Sekarang, gimana cara kita ngerubah opcodesnya ? gampang, jalankan hexeditor. Sekarang kamu tinggal masukin offset yang mengandung opcodes yang pengen di rubah di Goto Offset (CTRL-G di HexWorkshop). Nah, sekarang timbul masalah. Offset 401140 adalah Virtual Address/Virtual Offset, alias alamat offset di memory, yang kita butuh bukan alamat offset di memory, tapi alamat offset pada file. Cara termudah untuk mengetahui alamat offset di file adalah dengan melihat pada status bar (bagian paling bawah dari Wdasm), dan lihat ketika kita menghighlight (mengklik) pada offset : 401140, ada tulisan offset = ...

Cara lain adalah : lihat pada permulaan hasil deadlisting kamu :

Disassembly of File: WinSolo.exe
Code Offset = 00000400, Code Size = 0000D200
Data Offset = 0000F600, Data Size = 00003A00

Number of Objects = 0005 (dec), Imagebase = 00400000h

Object01: .text RVA: 00001000 Offset: 00000400 Size: 0000D200 Flags: 60000020

Dari info ini kita bisa nyari Offset pada file. Caranya : 401140-Imagebas-RVA.text+Code Offset, sehingga 401140h-400000h-1000h+400h = 540h.


Ganti bagian yang diinginkan, dan save. Jalankan WinSolo, nag screen sudah ngak ada.


LIVE APPROACH

Cara dengan live approach menggunakan SoftIce/debugger lainnya, secara teori lebih sedikit membutuhkan waktu, tapi butuh pemahaman yang lebih baik terhadap assembly/hal hal teknis lainnya.

Sekarang kita musti tahu, ada beberapa cara yang *umum* digunakan untuk menggenerate sebuah messagebox untuk dijadikan nagscreen, yakni dengan menggunakan Windows API dibawah ini :

MessageBoxA
MessageBoxExA
MessageBeep

Ingat, ini adalah yang *umum* bukan selalu, ada lusinan cara lainnya untuk menggenerate windows. Sebelum ini, anda harus sudah mensetup softice anda, baca tutorial gua yang pertama tentang mensetup softice.

Oke, sekarang masuk ke Softice dengan mengetikkan CTRL-D. Ketikkan BPX Messageboxa | Enter, keluar dari softice dengan mengetikkan CTRL-D, jalankan winsolo, kamu akan break disini :

0177:BFF5412E 55 PUSH EBP -->> kamu break disini !!!
0177:BFF5412F 8BEC MOV EBP,ESP
0177:BFF54131 6A00 PUSH 00
0177:BFF54133 FF7514 PUSH DWORD PTR [EBP+14]
0177:BFF54136 FF7510 PUSH DWORD PTR [EBP+10]
0177:BFF54139 FF750C PUSH DWORD PTR [EBP+0C]
0177:BFF5413C FF7508 PUSH DWORD PTR [EBP+08]
0177:BFF5413F E8D8ECFFFF CALL USER32!MessageBoxExA
0177:BFF54144 5D POP EBP
0177:BFF54145 C21000 RET 0010

Perhatikan ini adalah masih di kernelnya windows, lihat nama modul : User32... Ketikkan F12 sekali. F12, adalah shortcut yang mengtrace sampe ketemu dengan instruksi RET, kamu akan kembali ke windows, klik OK, kamu akan balik ke SoftIce disini :

0177:0040113B 03D0 ADD EDX,EAX
0177:0040113D 83FAFC CMP EDX,-04
0177:00401140 7E05 JLE 00401147
0177:00401142 83FA78 CMP EDX,78
0177:00401145 7E14 JLE 0040115B
0177:00401147 6A40 PUSH 40
0177:00401149 6850114100 PUSH 00411150
0177:0040114E 68B4104100 PUSH 004110B4
0177:00401153 6A00 PUSH 00
0177:00401155 FF1570644100 CALL [USER32!MessageBoxA]
0177:0040115B 8B4C2470 MOV ECX,[ESP+70] -->> kamu disini !!!
0177:0040115F 8B54246C MOV EDX,[ESP+6C]
0177:00401163 8B442468 MOV EAX,[ESP+68]
0177:00401167 51 PUSH ECX

Perhatikan bahwa ini adalah persis sama dengan deadlist diatas, kamu bisa mengcracknya dengan cara yang sama seperti diatas. Kalau kamu pengen ngeliat informasi mengenai imagebase, .text RVA, kamu ngak perlu cape cape mengdeadlist, cukup jalankan program program PE EDitor, kamu bisa cari banyak program kaya gini di http://protools.cjb.net / http://playtools.cjb.net

------------
End of Essay
 

"Kelas Ter-Dikit"
Admin on 02/22/2007 at 4:40am (UTC)
 Kebanyakan dari beberapa jurusan yang ada di smkn 1 lumajang, jumlah murid yang ada di kelas masing2 ada sekitar 36-40 an. Tapi lain dikelas 2 multimedia, kelas ini jauh beda dengan kelas lainya. Soalnya kelas ini hanya memiliki 33 siswa yang kebanyakan dari mereka juga masih ada yang ingin tega ninggalin kelas yang punya sebutan "kelas ter-dikit".[*_*]admin!
 

berita
"mr.mm" on 02/19/2007 at 4:07am (UTC)
 ~katanya ayu mau pindah ke malang!
~ternyata emon juga mau pindah temen2!
~katanya eni lagi deket ma anak kelas tiga gitu!
 

<-Back

 1 

Continue->

 
 
 
 
 
 
 
 
 
 
 
Today, there have been 19 visitors (38 hits) on this page!
This website was created for free with Own-Free-Website.com. Would you also like to have your own website?
Sign up for free