Tampilkan postingan dengan label Crack. Tampilkan semua postingan
Tampilkan postingan dengan label Crack. Tampilkan semua postingan

Rabu, 20 April 2011

Tutorial Injeksi Executable – Splash Screen

Pernahkah Anda melihat Splash Screen bergambar pada sebuah software, entah itu software
trial utilities, Game dan lainnya? Artikel ini akan menunjukkan kepada Anda bagaimana cara
menyisipkan sebuah Splash Screen bergambar dengan menggunakan bitmap yang akan muncul secara
otomatis setiap kali software dijalankan. Artikel ini sedikit banyak hampir sama dengan artikel
sebelumnya “Tutorial Injeksi Executable – MessageBox”. Pembahasan masih dalam lingkup
Portable Executable (PE). Yang membedakan pada artikel kali ini adalah teknik pada penerapan injeksi.
Sebelum membaca artikel ini Saya harap Anda mempunyai latar belakang atau dasar
pemrograman bahasa C/C++/ASM, Portable Executable dan Reverse Engineering. Hal tersebut akan
membantu dan mempermudah Anda untuk memahami artikel ini. Maaf, Saya sudah berusaha
menyederhanakan pembahasan pada artikel ini agar bisa dipahami oleh semua orang, namun jika masih
sulit dipahami Saya mohon maaf. Karena dasar ilmu Saya adalah dunia peternakan bukan komputer, jadi
Saya tidak bisa menjelaskan dengan gaya bicara programmer pada umumnya.. :)
Beberapa hal yang perlu Anda persiapkan adalah :
  1. IID King v1.0 buatan SantMat dari tim Reverse Engineering Immortal Descendants.
  2. Notepad atau teks editor yang Anda sukai.
  3. Assembler (Saya menggunakan Microsoft Macro Assembler atau MASM link download silahkan cari di Google).
  4. Target file executable.
  5. Palmall cigarettes, a cup of coffe and Cradle of Filth-Beyond Eleventh Hour.mp3 (Anti ngantuk :) )
  6. MRHPx Splash Add, program ini mampu menyisipkan Splash Screen bitmap secara instant. Anda
bisa mempergunakan program ini jika Anda bosan membaca artikel Saya.
CATATAN : File target, source code dan tool telah disertakan bersama artikel ini. Jika tidak tersedia Anda
bisa mendownloadnya di website Saya. Untuk mendapatkan source code yang lain, silahkan melalui
kontak email Saya.

Teori Yang Membosankan
Sedikit berbicara tentang teori. Menyisipkan sebuah kode Splash Screen seperti Dialog Window
(Jendela) dan resource eksternal pada file executable bukanlah hal yang mudah, semuanya tergantung
pada keahlian Reverse Engineering yang Anda miliki, karena jika terjadi kesalahan akan membuat file
executable menjadi rusak. Terlebih lagi persoalan menjadi semakin rumit jika Anda menghadapi file
executable yang tidak memiliki resource ataupun IMPORT API LIBRARY yang diperlukan. Karena tidak
seorangpun di dunia ini yang rela menghabiskan waktunya di depan komputer melakukan puluhan
proses injeksi hanya untuk membuat jendela dialog membosankan yang bernama “Splash Screen” pada
sebuah file executable..:)
Untuk menyisipkan sebuah file bergambar atau bitmap image sebenarnya sangat mungkin untuk
diterapkan pada file Portable Executable (PE). Cara yang bisa dipergunakan salah satunya adalah dengan
membuat file DLL (Dinamic Link Library) sebagai resource dari Splash Screen bitmap. Setelah proses
injeksi, program akan menjalankan fungsi EXPORT LIBRARY yang terdapat pada file DLL. Meskipun hal
tersebut mungkin sedikit menghabiskan waktu daripada menyisipkan sebuah kode sederhana.

Step 1 : Membuat file Dynamic Link Library (DLL) dengan Assembly
a) The DLL
Fungsi DllEntryPoint adalah suatu metode masukan opsional ke dalam sebuah dynamic-link
library (DLL). Jika fungsi dipergunakan, maka akan dipanggil oleh sistem saat proses dan thread
diinisialisasi dan diakhiri, atau saat dipanggil ke fungsi LoadLibrary dan FreeLibrary.
DllEntry Proc hInst:DWord, reason:DWord, reserved1:DWord
.If reason==DLL_PROCESS_ATTACH
Push hInst
Pop hInstance
Call ShowBitMap
.EndIf
Mov Eax,TRUE
Ret
DllEntry EndP
b) The Bitmap
Proses ini dipergunakan untuk menampilkan Bitmap image Splash Screen yang berada pada
resource. Pada proses ini terdapat beberapa struktur yang dipergunakan antara lain :
- WNDCLASSEX
Import Library : -
Header File : winuser.h
Struktur WNDCLASSEX berisi informasi kelas window. Dipergunakan bersama fungsi
RegisterClassEx dan GetClassInfoEx. Struktur WNDCLASSEX mirip dengan struktur WNDCLASS.
Terdapat 2 perbedaan. WNDCLASSEX meliputi anggota cbSize, yang menetapkan struktur
ukuran, dan anggota hIconSm, yang berisi handle terhadap sebuah ikon kecil yang berhubungan
dengan kelas jendela.
- MSG
Import Library : -
Header File : winuser.h
Struktur MSG berisi informasi pesan dari suatu thread urutan pesan.
- CreateWindowEx
Import Library : user32.lib
Header File : winuser.h
Fungsi CreateWindowEx menciptakan suatu overlap, pop-up, atau anak jendela dengan suatu
perluasan gaya. Fungsi ini identik dengan fungsi CreateWindow.
ShowBitMap Proc
Local wc:WNDCLASSEX
Local msg:MSG
Local hwnd:HWND
Mov wc.cbSize, SizeOf WNDCLASSEX
Mov wc.style, CS_HREDRAW Or CS_VREDRAW
Mov wc.lpfnWndProc, Offset WndProc
Mov wc.cbClsExtra, NULL
Mov wc.cbWndExtra, NULL
Push hInstance
Pop wc.hInstance
Mov wc.hbrBackground, COLOR_WINDOW+1
Mov wc.lpszMenuName, NULL
Mov wc.lpszClassName, Offset NamaKelas
Invoke LoadIcon, NULL, IDI_APPLICATION
Mov wc.hIcon, Eax
Mov wc.hIconSm, 0
Invoke LoadCursor, NULL, IDC_ARROW
Mov wc.hCursor, Eax
Invoke RegisterClassEx, Addr wc
Invoke CreateWindowEx, NULL, Addr NamaKelas, NULL,\
WS_POPUP, CW_USEDEFAULT,\
CW_USEDEFAULT, 257, 309, NULL, NULL,\
hInstance, NULL
Mov hwnd, Eax
Invoke ShowWindow, hwnd, SW_SHOWNORMAL
.While TRUE
Invoke GetMessage, Addr msg, NULL, 0, 0
.Break .If (!Eax)
Invoke TranslateMessage, Addr msg
Invoke DispatchMessage, Addr msg
.EndW
Mov Eax, msg.wParam
Ret
ShowBitMap EndP
c) The Window
Proses ini dipergunakan untuk menampilkan jendela dialog. Pada proses ini terdapat beberapa
struktur yang dipergunakan antara lain :
- PAINTSTRUCT
Import Library : -
Header File : winuser.h
Struktur PAINTSTRUCT berisi informasi untuk sebuah aplikasi. Informasi ini bisa dipergunakan
untuk mengecat area klien pada suatu jendela yang dimiliki oleh aplikasi.
- RECT
Import Library : -
Header File : windef.h
Struktur RECT menggambarkan kordinat sudut kiri atas dan kanan bawah sebuah segi empat.
- Timer
Import Library : user-defined
Header File : winuser.h
Fungsi TimerProc adalah suatu fungsi gambaran-aplikasi callback yang memproses pesan
WM_TIMER.
WndProc Proc hWnd:DWord,uMsg:DWord,wParam:DWord,lParam:DWord
Local ps:PAINTSTRUCT
Local hdc:HDC
Local hMemoryDC:HDC
Local hOldBmp:DWord
Local bitmap:BITMAP
Local DlgHeight:DWord
Local DlgWidth:DWord
Local DlgRect:RECT
Local DesktopRect:RECT
.If uMsg==WM_DESTROY
.If PenangananBitmap!=0
Invoke DeleteObject, PenangananBitmap
.EndIf
Invoke PostQuitMessage, NULL
.ElseIf uMsg==WM_CREATE
Invoke GetWindowRect, hWnd, Addr DlgRect
Invoke GetDesktopWindow
Mov Ecx, Eax
Invoke GetWindowRect, Ecx, Addr DesktopRect
Push 0
Mov Eax, DlgRect.bottom
Sub Eax, DlgRect.top
Mov DlgHeight, Eax
Push Eax
Mov Eax, DlgRect.right
Sub Eax, DlgRect.left
Mov DlgWidth, Eax
Push Eax
Mov Eax, DesktopRect.bottom
Sub Eax, DlgHeight
Shr Eax, 1
Push Eax
Mov Eax, DesktopRect.right
Sub Eax, DlgWidth
Shr Eax, 1
Push Eax
Push hWnd
Call MoveWindow
Invoke LoadBitmap, hInstance, Addr NamaBitmap
Mov PenangananBitmap, Eax
Invoke SetTimer, hWnd, 1, 5000, NULL
Mov Timernya,Eax
.ElseIf uMsg==WM_TIMER
Invoke SendMessage, hWnd, WM_LBUTTONDOWN, NULL, NULL
Invoke KillTimer, hWnd, Timernya
.ElseIf uMsg==WM_PAINT
Invoke BeginPaint, hWnd, Addr ps
Mov hdc, Eax
Invoke CreateCompatibleDC, hdc
Mov hMemoryDC, Eax
Invoke SelectObject, Eax, PenangananBitmap
Mov hOldBmp, Eax
Invoke GetObject, PenangananBitmap, SizeOf BITMAP, Addr bitmap
Invoke StretchBlt, hdc, 0, 0, 257, 309,\
hMemoryDC, 0, 0, bitmap.bmWidth, bitmap.bmHeight, SRCCOPY
Invoke SelectObject, hMemoryDC, hOldBmp
Invoke DeleteDC, hMemoryDC
Invoke EndPaint, hWnd, Addr ps
.ElseIf uMsg==WM_LBUTTONDOWN
Invoke DestroyWindow, hWnd
.Else
Invoke DefWindowProc, hWnd, uMsg, wParam, lParam
Ret
.EndIf
Xor Eax, Eax
Ret
WndProc EndP
d) The Export
Agar file DLL bisa berjalan normal, Anda harus membuat file *.DEF, misal : Splash.Def. Agar fungsi export
bisa berada dalam export tabel DLL. Kode “Splash.asm” sebenarnya tidak secara spesifik menggunakan
export seperti program “DLL NORMAL” pada umumnya, jadi sebagai contoh Saya sengaja memasukkan
2 buah proses yang ada. Bagi Saya yang penting program bisa berjalan sesuai harapan, untuk hal lain
seperti teori silahkan mempelajarinya di bangku kuliah, karena Saya tidak menyukai kuliah bidang
komputer! Biayanya terlalu mahal.. :(
LIBRARY SPLASH.DLL
EXPORTS ShowBitMap
EXPORTS WndProc
CATATAN : Jangan menyalin kode pada halaman ini untuk menghindari kesalahan coding. Silahkan
pergunakan kode yang telah disertakan. Saya sarankan Anda membaca terlebih dahulu penjelasan yang
terdapat dalam Source Code.

Step 2 : CRACKadabra®.. Jadilah program ajaib!
Untuk melakukan proses compile, silahkan Anda klik ganda file dengan nama “Compile.bat”.
Jangan lupa sebelum melakukan proses compile, sesuaikan terlebih dahulu konfigurasi compiler MASM
yang terdapat pada komputer Anda.
Contoh :
set letak=C:\masm32\bin
set include=C:\masm32\include
set lib=C:\masm32\lib

Screenshot Compile.bat

Step 3 : Proses injeksi file executable.

Screenshot Target.exe
  • Jalankan tool “IID King” load file “Target.exe”.. Jangan lupa berilah tanda cek pada menu Backup agar jika terjadi kesalahan pada saat injeksi, Anda bisa mengembalikan semua lagi.
  • Pada kolom “Dll’s Name” masukkan nama file DLL yang akan Anda pergunakan, misal “Splash.dll”
  • Pada kolom “Function’s Name (case sensitive)” Masukkan salah satu fungsi export yang diperlukan, Anda bisa mendapatkan fungsi export ini pada file “Splash.def”. Misal masukkan fungsi export “ShowBitmap” (tanpa tanda kutip). Untuk menambahkan fungsi export cukup klik tombol “+”, untuk menghapus fungsi export yang tidak Anda inginkan cukup klik tombol “-“.
  • Setelah itu klik tombol “Add them!!” untuk melakukan injeksi pada target executable. Jika semua berjalan lancar, maka file target yang telah Anda injeksi akan menampilkan Splash Screen setiap kali executable dijalankan.

Screenshot IID King

Final notes :
File “Target.exe” yang dijalankan, secara otomatis akan me-load semua link statis DLL pada Import
Table, misal “Splash.dll” dan kemudian mengirim DLL_PROCESS_ATTACH kepada program target.
Perhatikan section baru dengan nama “.IIDKing” setelah terjadi proses injeksi. Dari sini bisa diketahui
tentang cara kerja file DLL tersebut beserta injeksinya. Mudah bukan? Saya harap Anda tidak menemui
kesulitan dalam mempelajari injeksi executable dari artikel “Tutorial Injeksi Executable –
MessageBox” sampai dengan artikel “Tutorial Injeksi Executable – Splash Screen”. Bagi Anda
yang tidak sempat membaca artikel ini atau mungkin bosan membaca artikel ini, dan ingin
menggunakan cara instant langsung jadi seperti memasak mie instant, Anda bisa menggunakan software
MRHPx Splash Add..

Screenshot MRHPx Splash Add
Teknik ini juga bisa dipergunakan untuk melakukan injeksi yang lain, tidak hanya Splash Screen.
Bayangkan saja jika ada orang yang melakukan injeksi program worm, exploit dan malware lainnya yang
merugikan ke dalam executable? Bukan MessageBox ataupun Splash Screen? Tentunya hal tersebut
akan sangat merugikan. Solusi dari Saya adalah lakukan “Section Dump” atau “Extract Overlay”
kemudian lakukan analisa Reverse Engineering (Bukan begitu saudara Apakekdah? ). Hal tersebut
setidaknya akan membantu Anda memperoleh informasi yang cukup tentang malware yang disisipkan di
dalam executable. Sebagai catatan, Antivirus tidak selalu bisa diandalkan untuk hal seperti ini. Semoga
artikel ini bisa memberi manfaat bagi Anda dan membantu Anda menjaga diri Anda dari kejahatan
cyber. Terima kasih.
Download Executable Injection Tutorial – Part 2 : Splash Screen Part 1

Download Executable Injection Tutorial – Part 2 : Splash Screen Part 2
MRHPx regards and messages :
  • My family for love, peace and emphaty.. Allah SWT and Muhammad SAW for life, light and everything..
  • Reverse Code Engineering scene, Astalavista.MS, Blackhat Community, 0day,Indonesia veteran hAxx0r (You know who you are.. :) )
  • Source code semua program atau hack tool (EXCEPT PRIVATE-SECRET TOOLS!) dari seluruh artikel dan rilis NeMeSiS_ByTe dan MRHPx bisa diperoleh dengan cara kontak melalui email baru Saya di atas.. Ehm, sori ganti Nickname sejak 2008 tidak lagi sebagai NeMeSiS_ByTe :) Juga ganti email, ganti website, ganti peruntungan! :) Long live reverser..!
PENTING :
  • Jika Anda request software atau tool yang tidak terdapat di website Saya atau sulit didapatkan (baik software gratis atau berbayar), harap mengganti biaya bandwith internet (Download Broadband) dan biaya pengiriman (CD Distribusi Pos). Harap maklum, Saya bukan milyuner yang mempunyai banyak uang, Saya tidak mungkin membiayai setiap request software dan tool yang Anda butuhkan.
  • Untuk keperluan apapun harap menghubungi Saya melalui email Yahoo atau Facebook, karena nomer telpon Saya hanya untuk keperluan bisnis dan pekerjaan. Bukan dipergunakan untuk CHAT dan tanya jawab.
Oleh : MRHPx aka NeMeSiS_ByTe aka RiZaL
(Pasuruan-Malang, Pebruari 2011)
Email : mrhpx@binushacker.org
Facebook : www.facebook.com/MRHPx (Menghindari scam, kirim pesan dulu, baru di add)
Informasi Tutorial Bila Ada Update: Disini
Mirror: www.mrhpx.co.nr

MIRC Version 7.15 Cracked

Buat para pemilik warnet yang bingung mau mencari MIRC Versi 7.* kebetulan ini ada yang sudah di Crack.
mIRC is a popular Internet Relay Chat client used by millions of people, and thousands of organizations, to communicate, share, play and work with each other on IRC networks around the world. Serving the Internet community for over a decade, mIRC has evolved into a powerful, reliable and fun piece of technology. You can learn about mIRC here.

mIRC Logo
Silakan di unduh disini:
MIRC. Versi 7. 15 Cracked
Download : | DepositFiles | Turbobit |

Senin, 18 April 2011

Tutorial Injeksi Executable – MessageBox

Sebuah aplikasi executable pada Microsoft Windows seperti *.exe, *.dll, *.sys, dan lainnya meskipun
memiliki fungsi berbeda antara satu dan lainnya namun tetap tergolong sebagai satu tipe yaitu Portable
Executable (PE). Sebagai acuan Saya menyarankan Anda membaca buku karangan Mat Pietrek “Peering
Inside the PE: A Tour of the Win32 Portable Executable File Format” buku hebat yang membahas tentang
Portable Executable. Saya sengaja tidak membahasnya disini, karena hanya akan menghabiskan banyak
halaman yang akhirnya membuat mata Anda rusak dan harus memakai kacamata minus seperti Saya :(
File tipe portable Executable tersebut memiliki resiko yang sangat tinggi terhadap berbagai
kemungkinan manipulasi, baik oleh virus maupun hacker. Tidak ada satupun di dunia komputer yang
benar-benar aman dari serangan hacker. Jika ada orang yang mengklaim bahwa dia bisa menjamin
keamanan sebuah aplikasi sampai 90%, berarti orang tersebut adalah orang gila sok tahu! :)
Injeksi Executable hanya bisa dilakukan dengan Reverse Engineering, teknik Reverse Engineering sendiri
merupakan dasar dari seluruh ilmu hacking. Baik hacking (atau lebih tepatnya Cracking:)) sederhana
seperti mengubah tampilan website (Deface atau Poisoning), mencuri data shopping online (Carding),
Serial fishing (Shareware Cracking) sampai dengan hacking tingkat advance (733t) seperti membuat
worm, exploit atau shellcode dan lain sebagainya. Tanpa memiliki dasar Reverse Engineering, belum
tepat jika seseorang mengklaim dirinya sebagai hacker ataupun cracker. Apalagi jika hanya meniru
teknik orang lain. Semoga ini bisa menjawab semua pertanyaan dari teman-teman semua melalui email
Saya tentang bagaimana cara menjadi hacker.
Artikel ini Saya tulis untuk menggambarkan kepada Anda tentang proses injeksi executable.
Pengkodean, pembahasan dan hal lainnya sengaja disederhanakan untuk memudahkan Anda dalam
memahaminya. Maaf, Saya tidak membahas proses injeksi advance dan elit, karena pastinya terlalu
membosankan bagi kebanyakan orang. Mengingat artikel ini ditujukan untuk semua kalangan pembaca.
Alasan lainnya Saya bukanlah juru ketik dan selalu mengantuk saat mengetik dan menulis :)
Beberapa hal yang perlu Anda persiapkan adalah :
  1. Debuger (Saya merekomendasikan Ollydbg, tool gratis dan powerful di http://www.ollydbg.de/) atau Hexa editor (jika Anda 733t hacker seperti orakanggo, tomero, +m03n+, Jowy, anak_tk, CodeMaker dan Apakekdah.. :) )
  2. Notepad atau teks editor yang Anda sukai.
  3. Sedikit pengetahuan tentang Assembly
  4. Target file executable (Untuk menghindari UU Copyright dan DMCA, Saya sudah menyertakan file target bersama artikel ini atau Anda bisa mendownloadnya di website Saya)
  5. Palmall cigarettes, a cup of coffe and Cradle of Filth-Beyond Eleventh Hour.mp3 (Anti ngantuk :) )

Step 1 :
Buka file target “Target.exe” dengan mempergunakan OllyDbg seperti pada Gambar 1.

Gambar 1. OllyDbg load file
Step 2 :
Mencari “Code Cave” program. Code Cave terdiri dari 00 dan 90 yang terdapat pada ruang sebuah
program. Kita bisa mempergunakan Code Cave sebagai tempat injeksi kode kita sendiri. Secara
sederhana bisa dikatakan Code Cave semacam apartemen atau ruang yang tidak terpakai jadi kita bisa
menempatinya dengan bebas dan gratis :)

Gambar 2. Code Cave
Step 3 :
Blok dengan menggunakan cursor mouse pada area Code Cave sesuai dengan bytes yang dibutuhkan,
klik kanan pilih Binary->Edit->OK

Gambar 3. Binary Edit
Step 4 :
Membuat Caption Text. Masukkan karakter pada kolom ASCII, misal “YOU’VE GOT HACKED” tanpa tanda
petik. Lalu tekan OK. Karakter yang Anda ketikkan tersebut akan diasumsikan sebagai bahasa Assembly
bukan sebagai ASCII oleh Ollydbg, untuk merapikannya cukup klik kanan pilih Analysis->Analyze code
(Anda juga bisa mempergunakan CTRL+A atau dengan menggunakan bantuan Plugin “Analyze this!”
untuk mempercepat kerja Anda). Jika berjalan lancar, karakter Anda akan terlihat sebagai ASCII.

Gambar 4. Caption Text

Gambar 5. Analyze

Gambar 6. ASCII Character
Step 5 :
Untuk membuat Message Content atau isi pesan, caranya sama dengan Step 4. Misal isi pesan tersebut
“THIS IS MY STUPID CODE” tanpa tanda petik.

Gambar 7. Message Content
Step 6 :
Sekarang saatnya sedikit bermain dengan bahasa Assembly.. Tenang, Saya tidak akan membahas bahasa
pemrograman yang rumit. Berpikir rumit hanya akan membuat diri kita cepat tua dan membuat kepala
botak.. (sudah pakai kacamata, botak pula, apa kata dunia??? :) )
Disini kita akan menyisipkan sebuah message box (dialog pesan) dengan menggunakan bahasa
Assembly. Ingat, ini adalah metode Reverse Engineering dengan menggunakan Ollydbg jadi hanya ada 2
pilihan pakai bahasa assembly atau hexa, apakah tidak ada yang lebih mudah?
Jawabannya ada.. yaitu matikan komputer, hidupkan MP3 Player lalu tidur:)
MessageBox (Win32 Programmer’s Reference)
Fungsi MessageBox menciptakan, menampilkan dan mengoperasikan sebuah dialog pesan. Dialog pesan
berisi suatu gambaran-aplikasi pesan dan judul, ditambah berbagai kombinasi dari tombol tekan dan
ikon yang dikenal.
Info
Windows NT : Yes
Win95 : Yes
Win32s : Yes
Import Library : user32.lib
Header File : winuser.h
Unicode : WinNT; Win95
Platform Notes : None
Syntax
int MessageBox(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType // style of message box
);
Untuk menyisipkan kode Assembly, klik kanan pilih “Assemble” atau tekan tombol Space pada keyboard
Anda. Pada kolom yang tersedia ketikkan perintah yang ingin Anda sisipkan pada kolom Disassembly,
misal :

Assembly Code Injection
CATATAN, Address pada setiap komputer tidak sama. Jadi sesuaikan dengan Address yang terdapat
pada komputer Anda bukan Address pada artikel ini. Address pada Ollydbg terletak pada kolom sebelah
kiri. Selalu perhatikan dan catat Address yang dipergunakan pada setiap Step artikel ini.

Gambar 8. Assemble

Gambar 9. Injeksi kode Assembly
Step 7 :
Setelah itu saatnya menuju Program Origin, karena tanpa hal itu kode yang Anda sisipkan tidak akan
berjalan. Klik kanan pilih Go to->Origin

Gambar 10. Go to Origin
Saya sarankan Anda mencatat Address, Disassembly dan Hex dump pada Program Origin karena nanti
akan dipergunakan sebagai acuan lompatan Address.
Blok dengan menggunakan cursor mouse 2 Address tersebut, klik kanan pilih Binary->Binary copy

Gambar 11. Binary Copy
Paste kode binary tersebut pada Code Cave yang masih belum dipergunakan, blok area Code Cave
sesuai dengan bytes yang dibutuhkan dengan cursor mouse, klik kanan pilih Binary->Binary paste

Gambar 12. Binary Paste
Step 8 :
Langkah berikutnya adalah mengubah perintah program agar program memanggil kode yang disisipkan.
Pada address 00401019 rubahlah “call 00401BA0″ menjadi “jmp 00401019″. Address 00401019
diperoleh dari Program Origin.

Gambar 13. Merubah Instruksi pada Code Cave
Tahap selanjutnya adalah kembali menuju Program Origin seperti pada Step 7, pada address 00401014
rubahlah “push 00401749″ menjadi “jmp 00404A91″.

Gambar 14. Merubah instruksi pada Program Origin

Gambar 15. Kode Hacked
Proses injeksi sudah lengkap, sekarang simpan program yang telah disisipi kode injeksi tersebut dengan
cara klik kanan pilih Copy to executable->All modifications->Copy all->klik kanan->Save file.

Gambar 16. Preview
Selanjutnya silahkan jalankan file tersebut, jika semua instruksi sudah benar, Anda akan menjumpai
sebuah message box (dialog pesan) di awal program dijalankan. Jika tidak bisa, teliti dari awal karena
mungkin terdapat kesalahan pengkodean. Jika masih tidak bisa, sepertinya Anda tidak hoki mendalami
bidang ilmu komputer. Bagaimana jika menekuni dunia peternakan saja seperti Saya???
Final notes :
Proses injeksi executable bisa Anda kembangkan dengan menggunakan syntax dan metode yang lain,
metode ini juga bisa Anda pergunakan untuk jenis executable lain yang terdapat di komputer Anda,
bahkan untuk executable yang sudah di pack. Misal menggunakan metode Memory Address dan lain
sebagainya.
Setelah membaca artikel ini, bagi Anda yang sering melakukan aktifitas download software terutama di
situs penyedia software bajakan (Cracked Software), ada baiknya Anda melakukan verifikasi integritas
file dengan menggunakan CRC32, MD5 atau file SFV. Hal tersebut bisa membantu Anda mengetahui
keaslian software yang Anda download, apakah sudah ada yang memanipulasinya atau original. Karena
Antivirus sampai saat ini belum bisa diandalkan mengidentifikasi hal tersebut kecuali untuk bundled file.
Untuk menghindari penyalahgunaan dalam hal kejahatan cyber (Contoh: Exploit, Shellcode, Trojan, dan
lainnya) baik oleh lamer, scriptkiddies dan pihak lain yang tidak bertanggungjawab (kecuali 733t..:) ),
Saya sengaja meletakkan “Software Bug (Cacat Program)” yang artinya file target “Target.exe” (ataupun
file lain yang Anda jadikan sebagai target) bisa dijalankan ratusan kali bahkan lebih dengan
menggunakan metode ini namun akan rusak secara otomatis dan tidak dapat dijalankan lagi setelah
komputer Anda direstart. Jadi Anda harus mengulangi lagi setiap tahapan dari awal Semoga artikel ini
bisa memberi manfaat bagi Anda dan membantu Anda menjaga diri Anda dari kejahatan cyber. Terima
kasih.
MRHPx regards and messages :
  • My family for love, peace and emphaty.. Allah SWT and Muhammad SAW for life, light and everything..
  • Reverse Code Engineering scene, Astalavista.MS, Blackhat Community, Indonesia veteran hAxx0r (You know who you are.. :) )
  • Source code semua program atau hack tool (EXCEPT PRIVATE-SECRET TOOLS!) dari seluruh artikel dan rilis NeMeSiS_ByTe dan MRHPx bisa diperoleh dengan cara kontak melalui email baru Saya di atas.. Ehm, sori ganti Nickname sejak 2008 tidak lagi sebagai NeMeSiS_ByTe :) Juga ganti email, ganti website, ganti peruntungan! :) Long live reverser..!
PENTING :
  • Jika Anda request software atau tool yang tidak terdapat di website Saya atau sulit didapatkan (baik software gratis atau berbayar), harap mengganti biaya bandwith internet (Download Broadband) dan biaya pengiriman (CD Distribusi Pos). Harap maklum, Saya bukan milyuner yang mempunyai banyak uang, Saya tidak mungkin membiayai setiap request software dan tool yang Anda butuhkan.
  • Untuk keperluan apapun harap menghubungi Saya melalui email Yahoo atau Facebook, karena nomer telpon Saya hanya untuk keperluan bisnis dan pekerjaan. Bukan dipergunakan untuk CHAT dan tanya jawab.

Sabtu, 16 April 2011

Trick Menembus Proteksi Password dan Serial Number

Latar belakang
Mungkin dalam keseharian ada di antara kita yang tidak sengaja menghilangkan Password
atau Serial Number dari program yang sudah kita beli. Kalau sudah begitu tentunya repot. Untuk mendapatkannya kembali bisa saja dengan menghubungi toko retail maupun vendor program tempat program tersebut dibeli. Namun, jika ada peraturan dari vendor yang mengharuskan membeli ulang password maupun serial number yang hilang, bagaimana? Bagi Anda mungkin itu bukan masalah . Tapi bagi Saya itu mungkin salah satu masalah besar.

Dari kasus inilah Saya mencoba menerapkan kegunaan Win32 Hook. Sekedar informasi, teknik seperti ini sering digunakan oleh para Reverser di dunia Reverse Engineering. Untuk melakukan debugging file berukuran besar bukan hal yang mudah, memerlukan waktu lama dan harus didukung dengan hardware yang cukup mewah. Bayangkan saja debugging file berukuran diatas 100 MB dan didalamnya mengandung Crypto RSA?!?! Kalau Saya sih membayangkan saja sudah tidak mau, apalagi benar-benar mempraktekkannya.. MALAS!:)

Paper ini bukanlah sebuah tutorial, tetapi hanyalah sebuah informasi. Implementasi dari
pemikiran Saya dengan menerapkan Win32 Hook. Jadi jangan berharap lebih ya? . Karena disini
Saya tidak mengajak Anda melakukan proses Reverse Engineering ataupun Coding secara
mendalam.. MALAS! . Mungkin lain kali.. tapi gak janji loh..

Teori
Sekedar pengetahuan bagi Anda yang mungkin masih awam dengan istilah pemrograman dan dunia komputer, serta bagi Anda yang bukan Programmer (karena Anda berarti sama seperti Saya.. Hook atau Win32 Hook merupakan salah satu point mekanisme penanganan pesan (Message-Handling) di dalam Microsoft Windows. Dimana sebuah aplikasi dapat menginstal suatu sub-rutin untuk memonitor lalu lintas pesan didalam sistem dan beberapa proses tertentu dari pesan tersebut sebelum mencapai prosedur jendela target.
Hook itu sendiri termasuk dalam kategori Handles and Object. Dan masuk dalam spesifikasi User object. Lantas mengapa hal “ANEH” ini diperlukan dalam teknik pemrograman?? Ada 2 alasan..

Pertama, penggunaan obyek dapat memastikan bahwa pengembang (Developer/Programmer) tidak menulis kode secara spesifik untuk low-level, struktur internal. Hal ini memungkinkan Microsoft untuk menambahkan atau mengubah kemampuan sistem operasi, sepanjang pemanggilan konvensi yang asli terjaga. Jadi jika suatu saat Microsoft meluncurkan Operating System, aplikasi yang dibuat oleh para developer ini akan mendapatkan kemampuan baru dengan sedikit penambahan atau tidak sama sekali.

Kedua, pemakaian obyek memungkinkan pengembang (Developer/Programmer) mendapatkan keuntungan dari keamanan Win32. Masing-masing obyek mempunyai daftar kendali akses sendiri (access-control list /ACL) yang menetapkan jenis-jenis tindakan proses dapat berjalan pada obyek.
Operating System menguji suatu obyek ACL setiap kali sebuah aplikasi mencoba untuk menciptakan handle pada obyek.

Windows APIs
SetWindowsHookEx (Referensi USER32.DLL)
HHOOK SetWindowsHookEx(
int idHook, // type of hook to install
HOOKPROC lpfn, // address of hook procedure
HINSTANCE hMod, // handle of application instance
DWORD dwThreadId // identity of thread to install hook for
);


CallNextHookEx (Referensi USER32.DLL)
LRESULT CallNextHookEx(
HHOOK hhk, // handle to current hook
int nCode, // hook code passed to hook procedure
WPARAM wParam, // value passed to hook procedure
LPARAM lParam // value passed to hook procedure
);


UnhookWindowsHookEx (Referensi USER32.DLL)
BOOL UnhookWindowsHookEx(
HHOOK hhk // handle of hook procedure to remove
);


Proof of Concept
Jalankan program Enable Hook, Anda akan melihat icon kecil di tray icon dengan caption “MRHPx Enable Hook OFF”. Program Enable Hook ini telah diuji pada beberapa aplikasi yang menggunakan proteksi Password maupun Serial Number pada saat installasi, salah satunya adalah DigiFish AncientOcean v1.01. Tanpa Serial Number yang benar Anda tidak akan dapat melakukan installasi program karena tombol “Next” dalam status disable (Screen. 1)
Screen 1

Setelah itu coba Anda klik kiri dengan mouse, program Enable Hook yang berada di tray icon sampai icon dan statusnya berubah menjadi ON (Screen. 2). Tanda berarti OFF, dan tanda berarti ON. Lalu coba klik tombol “Next” disable yang berada di jendela installasi program tadi.
Bagaimana? Statusnya berubah menjadi Enable dan bisa di klik dengan mouse bukan?
Screen 2

Kesimpulan
Mengapa tombol “Next” yang semula disable berubah menjadi enable? Padahal Serial Number masih kosong, tidak diisi sama sekali? Jawabannya adalah karena di dalam “Handles and Objects” sebuah aplikasi bisa meraih Obyek-Jendela handle yang ada. Sama halnya dengan Anda tidak perlu mengganti channel TV manual, sampai harus jalan bolak-balik dari tempat duduk Anda ke meja TV jika sudah ada remote control di tangan Anda. Jadi meskipun diisi Password dan Serial Number yang benar ataupun tidak benar sekalipun, installasi akan tetap berjalan lancar. Sampai disini, Anda sudah melihat kehebatan Win32 Hook bukan. Jadi jangan pernah menganggap remeh Win32 APIs Hook sebelum mempelajarinya. Bahkan proteksi FLEXlm yang terkenal itupun takluk karena hal ini. Untuk para developer, apakah masih yakin proteksi program installer Anda ini benar-benar aman?? Silahkan berkreasi dan berekspresi dengan Win32 APIs. Terima kasih semoga bermanfaat.
Download Disini