Pages

Senin, 31 Oktober 2011

Reverse Engineering Bag.1

Sebelum mengenal lebih jauh dengan teknik cracking, sebetulnya Reverse Engineering atau biasa disebut cracking tidak selalu identik dengan pembajakan atau memanipulasi piranti lunak yang ber-lisensi. RE sendiri oleh programmer digunakan untuk memperbaiki program yang memiliki kesalahan atau Bug. Bahkan dalam dunia Antivirus digunakan untuk memecahkan kode program virus, karena memang fungsi RE yaitu teknik reverse (memeriksa kode program yang telah dibuat dan memahami bagaimana alur program atau aplikasi tersebut bekerja).
Memang teknik RE ini, kebanyakan digunakan untuk tujuan yang tidak baik. Tapi banyak nyatanya pembuat Antivirus ternama yang menggunakan teknik reverse (karena virus komputer sekarang sudah mulai berkembang dengan canggih, stuxnet, trojan conficker, virus sector seperti W32sality)  mereka menggunakan teknik reverse ini, untuk membongkar pertahanan virus dan malware, mengetahui bagaimana virus itu bekerja, kemudian membuat serum agar virus itu bisa dituntaskan dengan baik.

Sebetulnya tutorial crack ini sudah lama saya dapatkan dari sebuah situs. Saya hanya mencoba menuliskannya kembali dengan terlebih dahulu diadakan beberapa penyuntingan.

Thanks to :    
Chupacabra : Ihik, keep cracking, yach !
zer0flag : thanx buat bantuannya selalu !
Teguh : meski baru pertama jumpa di milis, tapi gua tetep seneng ketemu dengan cracker :)
Yudi Wijaya : thanx udah mau ngehosting tutorial gue :)
Edy Phang : sobat lama, semoga elu cepet jadi hacker yang paling jago !!!
Antivirus, dan semua cracker cracker Indo lainnya(sorry ngak semua bisa gua inget)

Kumpulan tutorial ini BEBAS untuk didistribusikan oleh siapapun, walau begitu anda yang menanggung resiko dan tanggung jawab terhadap SEGALA akibat dari tutorial ini. Tutorial ini murni untuk tujuan edukasi, segala penyalahgunaan dari tutorial ini, bukan tanggung jawab gua :)

Milis    : hack-crack-id@egroups.com
Situs    : eRRatum@softhome.net

Edisi #1
Level : Basic
How to Crack

    Cracking. Mungkin banyak diantara kita yang ingin tahu lebih jauh, atau ingin mempelajarinya, tetapi tidak menemukan tutorial yang tepat. Memang tutorial cracking jauh lebih sedikit dari tutorial "underground" yang lain. Apalagi dalam bahasa Indonesia. Oleh karena itu saya memberanikan diri untuk menulis tutorial dalam bahasa Indonesia, agar lebih mudah dimengerti. Karena ini adalah tutorial pertama saya, mohon maaf kalau ada yang salah atau kurang berkenan di hati anda. Tutorial saya akan mengajarkan anda segala sesuatu tentang cracking, secara step by step. Tutorial pertama ini akan menjelaskan beberapa tool yang harus anda miliki.

    Ok, cukup pembukaannya. Sekarang kita akan bersiap untuk ngecrack. Untuk itu kita butuh beberapa "alat perang" yang akan saya jelaskan fungsinya sebagai berikut :

1. Softice New Version

    SoftIce adalah software yang sangat bagus dari Numega, (http://www.4shared.com/file/vm5kPuTj/SoftIce_405.htm) yang digunakan untuk mendebug suatu program secara live. Artinya mendebug suatu program dengan cara menjalankan program dengan cara mentrace kode-kode badan program tersebut dan mencoba mengerti bagaimana suatu program bekerja. Tentu saja kode-kode tersebut akan berupa perintah assembly.

2. WDasm 8.9 32 bit

    Wdasm, adalah software dissambler yang akan kita gunakan untuk mendebug program, tidak dengan menjalankan program tersebut, tapi dengan mempelajari listing kode program tersebut, sekali lagi kode ini dalam assembly kalau dissambly berarti kita merubah kembali suatu program kedalam bahasa assembly. Untuk yang lebih "advance" anda dapat menggunakan software dissambler yang lain, yakni IDA (Interactive Dissambler) salah satu keunggulannya adalah ketika digunakan untuk mendebug sebuah program, dalam bentuk vxd atau virtual device driver.

    Ciri khas yang merupakan perbedaan debugging secara live dan dead list adalah, umumnya pada live debugging or cracking :) kita mengikuti alur program dari depan ke belakang (secara sistematis dari atas ke bawah), tapi pada deadlist kita mentrace dari belakang ke depan.

3. Hexeditor.

    2 Tool yang diatas akan membuat perubahan yang bersifat sementara pada program, jika ingin membuat suatu perubahan yang bersifat permanen pada suatu program membutuhkan hexeditor. Saya memakai Hex Workshop, anda juga bisa memakai hex editor yang lain seperti Ultra Edit, dll.

4. Filemon dan Regmon.

    Filemon dan regmon dapat didownload di http://technet.microsofot.com/en-us/sysinternals/bb545027. Utility ini digunakan untuk memonitor registry dan file. Umumnya 2 tool ini jarang digunakan.

5. Borland Resource Workshop.

    Tool ini dapat digunakan untuk mengedit resource daripada program. yang dalam kasus sangat jarang untuk dapat digunakan untuk ngecrack.
/////////////////////////////////////////////////////////////////////////////
semua tool di atas dapat didownload di 4shared
 /////////////////////////////////////////////////////////////////////////////
    Tentu saja ini belum, semuanya. Kelak di lain tutorial, saya akan mengajarkan anda memakai tool yang lain.

    Hal hal lain yang anda butuhkan dalam ngecrack :
- pengetahuan tentang bahasa pemrograman Assembly, tidak perlu yang rumit rumit, cukup anda tahu apa itu register, dan   perintah perintah dalam bahasa assembly.
- Brainware, dalam arti otak anda :)

    Ok, jika semua sudah lengkap mari kita lanjutkan lagi. Dalam bagian ini saya belum akan mengajarkan bagaimana cara ngecrack suatu program, tapi lebih dulu saya akan menjelaskan beberapa hal mengenai Softice.

WIN 32 API
Apa ini? mungkin anda yang sudah terbiasa dengan pemrograman di tingkat Windows sudah tahu ini. Win 32 Api adalah sekumpulan perintah dari Windows yang dapat digunakan untuk programmer dalam programnya. Anda mungkin masih bingung. Begini, daripada membuat sendiri kode-kode untuk sesuatu yang khusus, dan memasukkannya dalam program, hal ini jelas tidak efisien. Program itu tentu akan mempunyai ukuran yang sangat besar. Oleh sebab itu untuk fungsi tertentu, cukup dengan memanggil API ini, dengan begitu program dapat dibuat lebih ringkas dan efisien. Contoh fungsi yang biasa dipakai yakni fungsi getdlgitemtexta, yakni fungsi untuk mengambil sebaris text atau string. Akhiran a berarti fungsi tersebut adalah fungsi 32 bit. Anda dapat mendapatkan daftar lengkap dari fungsi ini dari setiap paket bahasa pemrograman yang anda miliki. Besar total sekitar 12 MB.

BREAKPOINT
Salah satu kegunaan Softice adalah breakpoint. Ini adalah dewa dari kita para "cracker" :) Breakpoint adalah semacam interupsi dengan syarat tertentu. Misalnya dalam softice kita mengetik pernyataan BPX --->>> perintah untuk Breakpoint, GetSystemTime, maka setiap program yang memanggil fungsi ini akan mengakibatkan kita "terlempar" kembali ke Softice dan siap untuk melihat listing program yang memanggil fungsi tersebut.

Menkonfigurasi SoftIce :
Anda hanya perlu merubah 1 hal, yakni buang semua semi kolon (;), didepan kata exp pada Winice.dat, berikut ini adalah konfigurasi Winice.dat saya :

PENTIUM=ON
NMI=ON
ECHOKEYS=OFF
NOLEDS=OFF
NOPAGE=OFF
SIWVIDRANGE=ON
THREADP=ON
LOWERCASE=OFF
WDMEXPORTS=OFF
MONITOR=0

PHYSMB=32
SYM=1024
HST=256
TRA=8
MACROS=32
DRAWSIZE=2048

INIT="Code ON;Faults OFF;X;"

F1="h;"
F2="^wr;"
F3="^src;"
F4="^rs;"
F5="^x;"
F6="^ec;"
F7="^here;"
F8="^t;"
F9="^bpx;"
F10="^p;"
F11="^G @SS:ESP;"
F12="^p ret;"
SF3="^format;"
CF8="^XT;"
CF9="TRACE OFF;"
CF10="^XP;"
CF11="SHOW B;"
CF12="TRACE B;"
AF1="^wr;"
AF2="^wd;"
AF3="^wc;"
AF4="^ww;"
AF5="CLS;"
AF8="^XT R;"
AF11="^dd dataaddr->0;"
AF12="^dd dataaddr->4;"
CF1="altscr off; lines 60; wc 32; wd 8;"
CF2="^wr;^wd;^wc;"

;LOAD=c:\windows\system\user.exe
;LOAD=c:\windows\system\gdi.exe
;LOAD=c:\windows\system\krnl386.exe
;LOAD=c:\windows\system\mmsystem.dll
;LOAD=c:\windows\system\win386.exe
; ***** Examples of export symbols that can be included *****
;    Change the path to the appropriate drive and directory
;EXP=c:\windows\system\vga.drv
;EXP=c:\windows\system\vga.3gr
;EXP=c:\windows\system\sound.drv
;EXP=c:\windows\system\mouse.drv
;EXP=c:\windows\system\netware.drv
;EXP=c:\windows\system\system.drv
;EXP=c:\windows\system\keyboard.drv
;EXP=c:\windows\system\toolhelp.dll
;EXP=c:\windows\system\shell.dll
;EXP=c:\windows\system\commdlg.dll
;EXP=c:\windows\system\olesvr.dll
;EXP=c:\windows\system\olecli.dll
;EXP=c:\windows\system\mmsystem.dll
;EXP=c:\windows\system\winoldap.mod
;EXP=c:\windows\progman.exe
;EXP=c:\windows\drwatson.exe
; ***** Examples of export symbols that can be included for Windows 95/98/WindowsNT/2000/XP/Vista/7 *****
;    Change the path to the appropriate drive and directory
EXP=c:\windows\system\kernel32.dll
EXP=c:\windows\system\user32.dll
EXP=c:\windows\system\gdi32.dll
EXP=c:\windows\system\comdlg32.dll
EXP=c:\windows\system\shell32.dll
EXP=c:\windows\system\advapi32.dll
EXP=c:\windows\system\shell232.dll
EXP=c:\windows\system\comctl32.dll
EXP=c:\windows\system\crtdll.dll
EXP=c:\windows\system\version.dll
EXP=c:\windows\system\netlib32.dll
EXP=c:\windows\system\msshrui.dll
EXP=c:\windows\system\msnet32.dll
EXP=c:\windows\system\mspwl32.dll
EXP=c:\windows\system\mpr.dll
EXP=c:\windows\system\vb40032.dll
EXP=c:\windows\system\mfc40.dll
EXP=c:\windows\system\msvbvm50.dll --->>> Hanya tambahan, di anda mungkin tidak ada.

Ok, saya rasa sekarang kamu telah memiliki pengetahuan yang cukup tentang tool-tool yang kita butuhkan. Selanjutnya saya akan mulai mengajarkan cara-cara ngecrack software, downloadlah dulu software ini, yakni Start Clean di http://www.pcworld.com/downloads/file/fid,2582-order,4-page,13-c,desktop/reviews.html

"Crack 1 software a day, and you'll become a cracking guru"

0 komentar:

Posting Komentar

 
Ping your blog, website, or RSS feed for Free