+...-= WELCOME TO DIGITAL WORLD COMMUNITY =-...+

=====<<DAFTAR GRATIS DI NEGARA DIGITAL WORLD >>====
|Dengan melakukan pendaftaran, berarti anda setuju menjadi | |warga negara digital world community, dengan mata uang DIGI| |points,. yang bisa di barter atau transaksikan melalui menteri. |
===============================================

==============================================
[ INGIN JADI VIP ?, DAFTAr dahulu lalu PM presiden / menteri ] DONASI VIP SENILAI 2 $ DOLLAR ( PAYPAL / Rp.30.000
fitur Vip
1. menjadi menteri ( orang nomor 2 di negara)
2. bisa masuk ke locked forum
3. bonus DIGITAL POINTS ( 300 DIGI )
4. Bebas berpindah2 pangkat / momod ( kreasi pangkat sendiri )
5. bebas berganti ID
6. menjadi menteri selamanya
7. bisa duduk santai tanpa post
8. semua forum ter unlock
9. dapat bertanya tentang rahasia negara
10. berhak menyarankan banned user / unlock user
==============================================

Join the forum, it's quick and easy

+...-= WELCOME TO DIGITAL WORLD COMMUNITY =-...+

=====<<DAFTAR GRATIS DI NEGARA DIGITAL WORLD >>====
|Dengan melakukan pendaftaran, berarti anda setuju menjadi | |warga negara digital world community, dengan mata uang DIGI| |points,. yang bisa di barter atau transaksikan melalui menteri. |
===============================================

==============================================
[ INGIN JADI VIP ?, DAFTAr dahulu lalu PM presiden / menteri ] DONASI VIP SENILAI 2 $ DOLLAR ( PAYPAL / Rp.30.000
fitur Vip
1. menjadi menteri ( orang nomor 2 di negara)
2. bisa masuk ke locked forum
3. bonus DIGITAL POINTS ( 300 DIGI )
4. Bebas berpindah2 pangkat / momod ( kreasi pangkat sendiri )
5. bebas berganti ID
6. menjadi menteri selamanya
7. bisa duduk santai tanpa post
8. semua forum ter unlock
9. dapat bertanya tentang rahasia negara
10. berhak menyarankan banned user / unlock user
==============================================

+...-= WELCOME TO DIGITAL WORLD COMMUNITY =-...+

Would you like to react to this message? Create an account in a few clicks or log in to continue.

negara yg lucu buat lucu-lucuan , dipimpin oleh pemimpin imut-imut , bebas korupsi, jadikan negara bersih kawan


+4
melvita
dieborge
salkas007
VagaGemwart™.HT
8 posters

    Cara Membuat Dll point blank

    VagaGemwart™.HT
    VagaGemwart™.HT
    COMMANDER
    COMMANDER


    Jumlah posting : 219
    DIGITAL POINTS ( DIGI ) : 5616
    REPUTASI : 17
    Join date : 11.01.11
    Age : 79
    Lokasi : headquarters Gemwart™

    Cara Membuat Dll point blank Empty Cara Membuat Dll point blank

    Post  VagaGemwart™.HT Wed Jan 12, 2011 12:34 pm

    Mungkin tanpa disadari kita semua copas dll n exe milik forum sebelah,
    nah maka dari itu untuk tread ini mari kita membahas bagai mana caranya membuat dll dan cara mengetahui sebuah valeu hek asii.silahkan agan-agan berbagi ilmu disini ya, senoga kita bisa membuat dll sendiri dan membawa nama forum ini ke publik heheh,
    nah untuk itu kita harus bekerja sama

    terus terang aq sekarang lagi belajar PHP n scrip blog jadi untuk memikirkan dll dan yang lainnya pikiranku gak mampu, maka dari itu saya mohon bantuannya bagi yang tau bahasa asembler dllnya.silahkan berbagi disini
    nah kaluu php n srip ntar saya shared tapi bukan disini tapi di
    kategori blog n web

    Mengenal Dasar Dasar Assembly
    Setelah Bagus Blog membahas tentang Pengertian Visual Basic dan Sejarah Visual Basic pada artikel sebelumnya tiba saatnya sekarang, kita Mengenal Dasar Dasar Assembly, mari kita belajar satu demi satu

    Dalam mempelajari berbagai teknik - teknik Kraking yang ada, seorang Kraker - baik newbie maupun master - tak akan terlepas dari Assembly. Bahasa permrograman ini merupakan dasar yang penting bagi seseorang untuk dapat mengKrak suatu program. Walaupun begitu, tidak semua hal yang ada di dalam bahasa Assembly ini yang harus diketahui, bagi seorang newbie cukup dengan dapat mengerti dasar - dasar Assembly serta logika yang baik sudah dapt mengKrak program - program dengan Sistem Proteksi yang sederhana.

    Di dalam tutorial ini, aku akan membahas beberapa perintah penting yang merupakan dasar - dasar Assembly, perintah - perintah ini akan sering ditemui ketika kamu mencoba mengKrak suatu program. Sebelum kita melangkah lebih jauh ke bahasa Assembly, mungkin ada baiknya kalo aku menjelaskan sedikit mengenai Register ( buat yang udah tau, bisa kamu lewati ).

    Apa itu Register ? Register adalah sebagian tempat di memory mikroprosesor yang dapat diakses dengan cepat. Di dalam register ini disimpan nilai - nilai yang bagi kita para Kraker sangat penting untuk diperhatikan.

    Bagaimana melihat isi Register ? Dengan memakai SoftICE (silahkan cari di google ), kamu dapat melihat berbagai perubahan yang terjadi dengan isi Register. Untuk itu kamu perlu meng-aktif-kan "Register Window" yang ada di SoftICE dengan mengetikkan perintah WR di dalam lingkungan SoftICE. Di "Register Window" akan terlihat berbagai register beserta isinya. Register yang penting untuk diperhatikan dalam Kraking adalah Register EAX, EBX, ECX, EDX, ESI, EDI, EBP,
    ESP dam EIP.

    EAX, EBX, ECX dan EDX disebut "General Purpose Register". Register ini merupakan Register 32-bit, jika kamu mengKrak program 16-bit maka Register yang terlibat adalah AX, BX, CX dan DX. Register ini dapat dipecah - pecah, seperti gambaran di bawah ini :

    Code:
    misalnya isi EAX adalah 00001234, maka

    *

    EAX = 00 00 12 34 ==> 32 bit

    *

    AX = 12 34 ==> 16 bit

    *

    AH = 12 ==> 8 bit

    *

    AL = 34 ==> 8 bit

    Terlihat bahwa AX terdiri dari AH dan AL, H menunjukkan High ( di bagian Kiri ) dan L berarti Low ( di bagian Kanan ).

    ESI dan EDI adalah "Index Register". Register ini digunakan sebagai penunjuk terhadap suatu lokasi di memory dan biasanya digunakan untuk operasi - operasi String.

    EBP dan ESP adalah "Pointer Register". Kedua Register ini berpasangan dengan Register SS. Apabila ESP ( Stack Pointer ) berpasangan dengan Register SS ( ESP : SS ) maka digunakan untuk menunjuk alamat pada Stack sementara EBP ( Base Pointer ) akan berpasangan dengan Register SS ( EBP : SS ) untuk menunjuk pada alamat memory tempat data.

    EIP adalah "Index Pointer Register" yang berpasangan dengan CS ( CS : EIP ) untuk menunjuk pada alamat memory tempat perintah selanjutnya yang akan di eksekusi.

    Oke setelah penjelasan singkat mengenai Register di atas, kita lanjutkan dengan penjelasan mengenai perintah - perintah dasar Assembly. Perintah - perintah di bawah ini, disusun secara Alphabetical Order......

    1. ADD ( ADD Binary Number )
    Format ADD Operand1, Operand2
    Fungsi Menambahkan Operand1 dengan Operand2, hasilnya akan disimpan di dalam Operand1
    Kalimat Matematika Operand1 = Operand1 + Operand2
    Contoh MOV EAX, 00000001h ; Lihat perintah MOV

    ADD EAX, 00000002h ; EAX = 00000001h + 00000002h = 00000003h

    2. AND ( Logical AND )
    Format AND Operand1, Operand2
    Fungsi Melakukan Operasi Logika AND pada Operand1 dan Operand2, hasilnya akan disimpan di Operand1
    Kalimat Matematika Operand1 = Operand1 AND Operand2
    Contoh MOV EAX, 00001111b ; Lihat perintah MOV

    AND EAX, 11110000b ; EAX = 00001111b AND 11110000b = 00000000b

    3. CALL ( CALL A Procedure )
    Format CALL LokasiProcedure
    Fungsi Memanggil sebuah Procedure.
    Kalimat Matematika -
    Contoh CALL 12345678 ; Memanggil Procedure yang berada pada Offset 12345678

    4. CDQ ( Convert Doubleword To Quadword )
    Format CDQ
    Fungsi Merubah nilai 32-bit dalam EAX menjadi 64-bit dalam EDX : EAX dengan cara mengosongkan isi EDX
    Kalimat Matematika -
    Contoh MOV EAX, 12345678h ; EAX = 12345678h

    CDQ ; EDX : EAX = 00000000 : 12345678h

    5. CMP ( Compare )
    Format CMP Operand1, Operand2
    Fungsi Membandingkan Operand1 dengan Operand2, setelah perintah ini, biasanya akan diikuti dengan sebuah Condtional Jump yang akan menentukan jalur program berikutnya.
    Kalimat Matematika -
    Contoh MOV ECX, 0Ah ; EAX = 0Ah

    MOV EAX, 0Bh ; EBX = 0Bh

    CMP EAX, ECX ; Pembandingan EAX dengan ECX.

    JE 12345678 ; Jika sama, lompat ke Offset 12345678. Jika tidak, lanjutkan ke bawah

    6. DEC ( Decrement )
    Format DEC Operand
    Fungsi Mengurangi nilai Operand dengan 1
    Kalimat Matematika Operand1 = Operand1 - 1
    Contoh MOV EAX, 0Ah ; EAX = 0000000Ah

    DEC EAX ; EAX = 0000000Ah - 00000001h = 00000009h

    7. DIV ( Unsigned Division )
    Format DIV Operand
    Fungsi Membagi nilai yang ada di Register EAX dengan Operand2
    Kalimat Matematika EAX = EAX DIV Operand
    Contoh MOV EAX, 0Ah ; EAX = 0000000Ah

    MOV EBX, 05h ; EBX = 00000005h

    DIV EBX ; EAX = 0000000Ah DIV 00000005h = 00000002h

    8. IDIV ( Signed - Integer - Division )
    Format IDIV Operand
    Fungsi Membagi nilai yang ada di Register EDX : EAX dengan Operand2, hasilnya akan disimpan di EAX sedang sisanya disimpan di EDX
    Kalimat Matematika EDX : EAX = EDX : EAX IDIV Operand
    Contoh MOV EDX, 00h ; EDX = 00000000h

    MOV EAX, 0Fh ; EAX = 0000000Fh

    MOV EBX, 05h ; EBX = 00000005h

    IDIV EBX ; EDX : EAX = 00000000 : 0000000Fh IDIV 00000005h

    ; EAX = 00000003h ( hasil ) EDX = 00000000h ( sisa )

    9. IMUL ( Signed - Integer - Multiplication )
    Format IMUL Operand
    Fungsi Pada program 32 bit, IMUL ini digunakan untuk mengalikan antara nilai yang tersimpan di dalam Register EDX : EAX dengan Operand. Hasilnya akan disimpan di dalam EAX
    Kalimat Matematika EAX = EDX : EAX IMUL Operand
    Contoh MOV EDX, 00h ; EDX = 00000000h

    MOV EAX, 05h ; EAX = 00000005h

    MOV EBX, 0Ah ; EBX = 0000000Ah

    IMUL EBX ; EAX = 00000000 : 00000005 IMUL 0000000A = 00000032h

    10. Conditional Jump

    Conditional Jump adalah perintah dalam Assembler yang digunakan untuk menentukan alur program berikutnya. Conditional Jump ini sebelumnya didahului oleh perintah CMP ( perhatikan contoh di penjelasan no. 5).

    Ada berbagai macam Conditional Jump, di sini aku hanya membahas beberapa Conditional Jump yang sering aku temui ketika mengKrak, untuk perintah - perintah Conditional Jump lainnya, bisa kamu perdalam lagi di buku - buku yang membahas Assembly. Untuk semua penjelasan Conditional Jump di bawah ini, aku akan pake beberapa perintah yang ada sebelum perintah Conditional Jump tersebut dieksekusi.

    MOV EAX, 01h ; EAX = 00000001h

    MOV EBX, 02h ; EBX = 00000002h

    CMP EAX, EBX ; Membandingkan antara EAX dengan EBX

    Format Conditional Jump

    Fungsi
    JA Lokasi Tujuan ( Jump If Above ) Lompat ke Lokasi Tujuan jika EAX lebih besar dari EBX
    JAE Lokasi Tujuan ( Jump If Above or Equal ) Lompat ke Lokasi Tujuan jika EAX lebih besar atau sama dengan EBX
    JNA Lokasi Tujuan ( Jump If Not Above ) Lompat ke Lokasi Tujuan jika EAX tidak lebih besar dari EBX
    JNAE Lokasi Tujuan ( Jump If Not Above or Equal ) Lompat ke Lokasi Tujuan jika EAX tidak lebih besar atau sama dengan EBX
    JB Lokasi Tujuan ( Jump If Below ) Lompat ke Lokasi Tujuan jika EAX lebih kecil dari EBX
    JBE LokasiTujuan ( Jump If Below or Equal ) Fungsinya sama dengan perintah JNA
    JNB Lokasi Tujuan ( Jump If Not Below ) Fungsinya sama dengan perintah JAE
    JNBE LokasiTujuan ( Jump If Not Below or Equal ) Fungsinya sama dengan perintah JA
    JE LokasiTujuan ( Jump If Equal ) Lompat ke Lokasi Tujuan jika EAX sama dengan EBX
    JNE Lokasi Tujuan ( Jump If Not Equal ) Lompat ke Lokasi Tujuan jika EAX tidak sama dengan EBX
    JG LokasiTujuan ( Jump If Greater ) Lompat ke LokasiTujuan jika EAX lebih besar dari EBX
    JGE LokasiTujuan ( Jump If Greater or Equal ) Lompat ke LokasiTujuan jika EAX lebih besar atau sama dengan EBX
    JNG LokasiTujuan ( Jump If Not Greater ) Lompat ke LokasiTujuan jika EAX tidak lebih besar dari EBX
    JNGE LokasiTujuan ( Jump If Not Greater or Equal ) Lompat ke LokasiTujuan jika EAX tidak lebih besar atau sama dengan EBX
    JL LokasiTujuan ( Jump If Less Than ) Fungsinya sama dengan perintah JNGE
    JLE LokasiTujuan ( Jump If Less or Equal ) Fungsinya sama dengan perintah JNG
    JNL LokasiTujuan ( Jump If Not Less Than ) Fungsinya sama dengan perintah JGE
    JNLE LokasiTujuan ( Jump If Not Less or Equal ) Fungsinya sama dengan perintah JG
    JZ Lokasi Tujuan ( Jump If Zero ) Fungsinya sama dengan JE
    JNZ Lokasi Tujuan ( Jump If Not Zero ) Fungsinya sama dengan JNE

    11. JMP LokasiTujuan ( Unconditional Jump )
    Format JMP LokasiTujuan
    Fungsi Perintah JMP ini berbeda dengan perintah - perintah Conditional Jump karena ia tidak memerlukan hasil perbandingan sebelum perintah ini dieksekusi.
    Kalimat Matematika -
    Contoh JMP 12345678 ; Lompat ke Offset 12345678

    12. LEA ( Load Effective Address )
    Format LEA Operand1, LokasiMemory
    Fungsi Untuk mengambil Offset dari LokasiMemory dan menyimpannya di dalam Operand1
    Kalimat Matematika -
    Contoh LEA EAX,

    13. MOV ( Move Data )
    Format MOV Operand1, Operand2
    Fungsi Menyalin isi dari Operand2 kedalam Operand1
    Kalimat Matematika Operand1 = Operand2
    Contoh MOV EAX, 0Ah ; EAX = 0000000Ah

    14. MUL ( Multiplication )
    Format MUL Operand
    Fungsi Mengalikan isi EAX dengan Operand, hasilnya akan disimapn di dalam EDX : EAX
    Kalimat Matematika EDX : EAX = EAX * Operand
    Contoh MOV EAX, 0Ah ; EAX = 0000000Ah

    MUL EAX, 05h ; EDX : EAX = 0000000Ah * 00000005h = 00000000 : 00000032h

    15. NOP ( No Operation )
    Format NOP
    Fungsi Seperti namanya, NOP tidak melakukan Operasi apa - apa, walaupun begitu perintah ini memiliki peran yang cukup penting dalam Kraking. Seperti yang diketahui, salah satu teknik mengKrak sebuah Sistem Proteksi adalah Patching, dalam Patching ini, Kraker harus merubah perintah yang ada di dalam Sistem Proteksi tersebut agar dapat mengKraknya.

    Contoh sederhananya yaitu ketika ada sebuah Conditional Jump yang akan menentukan apakah S/N yang kita masukan valid atau tidak, salah satu cara yang mungkin untuk mengKraknya adalah dengan me-NOP-kan perintah Conditional Jump tersebut. Untuk lebih jealasnya, liat contoh di bawah.
    Kalimat Matematika -
    Contoh MOV EAX, 12345678 ; Offset 12345678 berisi S/N palsu

    MOV EBX, 87654321 ; Offset 87654321 berisi S/N yang asli.

    CMP EAX, EBX ; Bandingkan EAX dengan EBX

    JNE 12344321 ; Jika tidak sama, lompat ke Offset 12344321

    Offset berikutnya menyatakan bahwa S/N yang dimasukan adalah S/N yang valid.

    Offset 12344321 menyatakan bahwa S/N yang kita masukan adalah S/N yang salah..

    Listing di atas menunjukkan dengan jelas bagaimana S/N kita dibandingkan, jika kau ingin dengan sembarang S/N dapat dianggap sukses maka kita bisa me-NOP-kan Conditional Jump di atas sehingga listing perintah di atas menjadi :

    MOV EAX, 12345678 ; Offset 12345678 berisi S/N palsu

    MOV EBX, 87654321 ; Offset 87654321 berisi S/N yang asli.

    CMP EAX, EBX ; Bandingkan EAX dengan EBX

    NOP ; Tidak melakukan pencabangan sehingga S/N apa saja yang dimasukan akan dianggap valid.

    16. OR ( Logical OR )
    Format OR Operand1, Operand2
    Fungsi Melakukan Operasi Logika OR terhadap Operand1 dan Operand2, hasilanya akan disimpan di dalam Operand1
    Kalimat Matematika Operand1 = Operand1 OR Operand2
    Contoh OR EAX, EBX

    17. POP ( POP from Stack )
    Format POP Operand
    Fungsi Mengambil isi dari Stack dan menyimpannya di dalam Operand
    Kalimat Matematika -
    Contoh POP EAX

    18. PUSH ( PUSH onto Stack )
    Format PUSH Operand
    Fungsi Memasukan nilai dari Operand ke dalam Stack
    Kalimat Matematika -
    Contoh PUSH EAX

    19. RET ( Return from Procedure )
    Format RET
    Fungsi Kembali ke Rutin pemanggil Procedure yang sedang berlangsung.
    Kalimat Matematika -
    Contoh 1234 : 00000001 CALL 00001000 ;Memanggil Procedure yang ada di Offset 00001000

    1234 : 00000002 ;Perintah Selanjutnya

    1234 : 00001000 RET ;Alur program akan kembali ke Offset 00000002

    20. SUB ( Subtract Binary Values )
    Format SUB Operand1, Operand2
    Fungsi Mengurangkan nilai dari Operand1 dengan Operand2. Hasilnya kemudian disimpan di dalam Operand1
    Kalimat Matematika Operand1 = Operand1 - Operand2
    Contoh MOV EAX, 0Ah ;EAX = 0Ah ( = 10 decimal )

    MOV EBX, 01h ;EBX = 01h ( = 01 decimal )

    SUB EAX, EBX ;EAX = EAX - EBX = 0Ah - 01h = 09h

    21. TEST ( Test Bits )
    Format TEST Operand1, Operand2
    Fungsi Memeriksa apakah Operand1 sama dengan Operand2 ???
    Kalimat Matematika -
    Contoh MOV EAX, 0Ah ;EAX = 0Ah ( = 10 decimal )

    MOV EBX, 01h ;EBX = 01h ( = 01 decimal )

    TEST EAX, EBX ;Apakah EAX = EBX ???

    JE 12344321 ;Jika sama, lompat.

    22. XOR ( Exclusive OR )
    Format XOR Operand1, Operand2
    Fungsi Melakukan operasi logika Exlusive OR antara Operand1 dengan Operand2. Perintah XOR ini juga sering dipakai untuk me-nol-kan suatu register dengan cara XOR Operand1, Operand1
    Kalimat Matematika -
    Contoh XOR EAX, EAX ;Berfungsi untuk me-nol-kan nilai EAX ( EAX = 0 )

    Kalau ada yang mau nambahin silahkan, bahas disini
    dan bagi yang mau belajar membuat dll silahakn klik disini untuk mempelajariya, selamat mencoba

    TUTORIAL MEMBUAT DLL
    Adapun software yang diperlukan sebagai berikut, yang belum punya silakan download di mbah google banyak

    * Visual C++ 2008 Express Edition (free)
    * Injector (Bebas)

    Adapun target game yang ada dalam tutorial ini adalah Point Blank, dengan contoh hack misi mayor.

    Silakan ikuti langkah-langah di bawah ini:

    1. Jalankan Visual C++ 2008 Express Edition, buat sebuah project dengan cara akses menu File - New - Project atau dengan menekan tombol CTRL + SHIFT + N. gambar 1

    2. Pada jendela New Project, pilih Empty Project (1) pada bagian Templates, kemudian pada kolom Name masukkan nama project (2) dan klik tombol OK (3) gambar 2

    3. Project telah berhasil dibuat. Pada bagian Solution Explorer, klik kanan pada nama project (1), kemudian pilih menu Properties (2).gambar 3

    4. Jendela project properties akan tampil. Pada tree menu sebelah kiri, pilih Configuration Properties (1), kemudian bagian opsi Project Defaults, ubah opsi Configuration Type menjadi Dynamic Library (.dll) (2), kemudian tekan tombol OK (3) untuk melakukan perubahan. gambar 4

    5. Pada jendela Add New Item yang tampil, pada bagian templates pilih C++ File (.cpp) (1), beri nama 'Main.cpp' (2) pada bagian kolom Name, kemudian tekan tombol OK (3). gambar 5

    6. Sebuah file bernama 'Main.cpp' berhasil dibuat. Silakan masukkan kode-kode di bawah ini pada file tersebut, kemudian simpan (save). gambar 6

    7. Berikutnya adalah membuat sebuah file bernama Main.cpp untuk memasukkan kode-kode utama, dengan cara pilih direktori Source Files (1) pada bagian Solution Explorer, kemudian klik menu Project - Add New Item (2) atau dengan menekan tombol CTRL + SHIFT + A. gambar 7


    Code:
    #define _CRT_SECURE_NO_WARNINGS
    #include 3windows.h3 ganti 3 dengan
    #include 3tlhelp32.h3 ganti 3 dengan

    // definisikan variable dengan 'window title', 'window classname' dan modul
    char *pProcessWindowTitle = "Point Blank";
    char *pProcessWindowClass = "I3VIEWER";
    char *pProcessModuleName = "PointBlank.i3Exec";

    // etc...
    UINT_PTR uipUserRankValue = 35; // major?
    UINT_PTR uipUserPointsValue = 999999; // OMG!

    UINT_PTR uiptrFinalRank, uiptrFinalPoints;

    bool isInitMmhMemory = true;

    DWORD dwProcessID;
    UINT_PTR uipMmhBaseAddress;
    HANDLE hProcess;

    DWORD GetModuleBase(LPSTR lpModuleName, DWORD dwProcessId)
    {
    MODULEENTRY32 lpModuleEntry = {0};
    HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId);

    if(!hSnapShot)
    return NULL;
    lpModuleEntry.dwSize = sizeof(lpModuleEntry);
    BOOL bModule = Module32First( hSnapShot, &lpModuleEntry );
    while(bModule)
    {
    if(!strcmp( lpModuleEntry.szModule, lpModuleName ) )
    {
    CloseHandle(hSnapShot);
    return (DWORD)lpModuleEntry.modBaseAddr;
    }
    bModule = Module32Next( hSnapShot, &lpModuleEntry );
    }
    CloseHandle( hSnapShot );
    return NULL;
    }

    // DeRef() = credit L. Spiro (MHS)
    UINT_PTR DeRef( UINT_PTR _uiptrPointer ) {
    UINT_PTR uiptrRet;
    if (!::ReadProcessMemory(hProcess, reinterpret_cast(_uiptrPointer), &uiptrRet, sizeof(uiptrRet), NULL)) { return 0UL; }
    return uiptrRet;
    }

    // inisialisasi proses
    void InitApplicationProcess()
    {
    bool isFindWindow = true;
    HWND hWnd = NULL;

    while(isFindWindow)
    {
    if((hWnd = FindWindowA(pProcessWindowClass, pProcessWindowTitle)) != NULL) // jika window ditemukan
    {
    isFindWindow = false;
    }
    Sleep(500);
    }

    GetWindowThreadProcessId(hWnd, &dwProcessID);
    hProcess = OpenProcess(PROCESS_ALL_ACCESS|PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE|PROCESS_QUERY_INFORMATION, FALSE, dwProcessID);
    }

    void MajorMissionHack()
    {
    if(isInitMmhMemory)
    {
    uipMmhBaseAddress = GetModuleBase(pProcessModuleName, dwProcessID);

    // misal: pointer yang didapat = PointBlank.i3Exec+00471234 dengan offset 0xA12, tuliskan seperti di bawah!
    uiptrFinalRank = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User rank pointer - masked, untuk address & offset-nya.
    uiptrFinalPoints = DeRef(uipMmhBaseAddress + 0x4XXXXX) + 0xXXX; // User points pointer - masked, untuk address & offset-nya.

    isInitMmhMemory = false;
    }

    // WriteProcessMemory pada pointer 'rank', berikan nilai uipUserRankValue (35)
    ::WriteProcessMemory(hProcess, reinterpret_cast(uiptrFinalRank), &uipUserRankValue, sizeof(uipUserRankValue), NULL);

    // WriteProcessMemory pada pointer 'points', berikan nilai uipUserPointsValue (999999) LOL!
    ::WriteProcessMemory(hProcess, reinterpret_cast(uiptrFinalPoints), &uipUserPointsValue, sizeof(uipUserPointsValue), NULL);
    }

    void LovelyLoopy()
    {
    // ok, berikan salam dulu!
    MessageBox(0, "DLL berhasil di-inject. Lanjutkan!", "Hello World", MB_OK + MB_ICONASTERISK);

    InitApplicationProcess();

    while(1) // loop selamanya
    {
    if(GetAsyncKeyState(VK_F12)&1) // jika F12 ditekan
    {
    MajorMissionHack(); // panggil fungsi 'MajorMissionHack()'
    Sleep(500);
    }

    Sleep(1);
    }
    }

    BOOL WINAPI DllMain(HMODULE hDll, DWORD dwReason, LPVOID lpReserved)
    {
    DisableThreadLibraryCalls(hDll);

    if(dwReason == DLL_PROCESS_ATTACH)
    {
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)LovelyLoopy, NULL, NULL, NULL);
    }
    else if(dwReason == DLL_PROCESS_DETACH)
    {
    CloseHandle(hProcess);
    }

    return TRUE;
    }

    8. Jika kode sudah disimpan (save), langkah berikutnya adalah membentuk file DLL-nya dengan cara klik menu Build - Build Solution atau dengan menekan tombol F7.gambar 8

    9. Setelah proses build solution, pada jendela Output akan menampilkan hasil dari proses compile/build tersebut, jika tidak ada kesalahan (error) berarti kode-kode sudah benar dan file DLL sudah terbentuk. Jika ternyata ada kesalahan (error), silakan periksa langkah-langkah sebelumnya jika ada yang terlewatkan. gambar 9.

    10. Kemudian buka direktori tempat project anda disimpan, dalam tutorial ini ane simpan di direktori D:\!PROJECTS!\SukaSukaEnte dan buka direktori yang bernama Debug di dalamnya (sesuaikan letak direktori anda).Bisa kita lihat ada beberapa file yang terbentuk, namun yang kita perlukan hanyalah file yang berekstensi .dll, karena file tersebut yang akan kita injeksikan ke proses program/game. Agar tidak membingungkan, sekaligus ane copy-kan file injector-nya (x1nject.exe) ke direktori tersebut. gambar 10

    11. Kemudian jalankan injector (x1nject.exe), ubah pada kolom 'What to inject' dengan nama proses program/game, (contoh: PointBlank.exe), pada bagian 'Add to injection list' tambahkan file .dll yang telah kita buat dengan menekan tombol Browse dan cari pada direktori Debug project kita. Gambar 11

    12. Star PB, Berikutnya kita coba hack misi mayor yang telah kita buat (lihat fungsi LovelyLoopy() dan MajorMissionHack() pada kode untuk lebih jelas), dengan menekan tombol F12 pada keyboard

    1. Pointer & offset pada fungsi MajorMissionHack( ) sengaja tidak tampilkan atau cari sendiri sendiri, Silakan dimodifikasi jika ingin menambahkan fungsi-fungsi lainnya (unlimited ammo, grenade dsb).

    2. Jika tidak bisa running (no action) di OS Windows XP, ternyata ada kesalahan pada argumen fungsi API OpenProcess()
    silakan jika anda menggunakan OS Windows XP, ubah kode pada bagian:

    hProcess=OpenProcess(PROCESS_ALL_ACCESS|PROCESS_VM_OPERATION|
    PROCESS_VM_READ|PROCESS_VM_WRITE|PROCESS_QUERY_INFORMATION, FALSE, dwProcessID);

    Menjadi

    Process=OpenProcess(PROCESS_VM_OPERATION|PROCESS_VM_READ|
    PROCESS_VM_WRITE|PROCESS_QUERY_INFORMATION, FALSE, dwProcessID);

    3.Marilah kita belajar bersama
    Argumen PROCESS_ALL_ACCESS hanya bisa dilakukan di OS Vista dan Windows 7, sementara di Windows XP tidak bisa.
    Untuk melihat penjelasan gambar ss silahkan cari link ini :

    DISINI


    By : VagaGemwart and Gemwart™
    Happy hacking and cheating ^^

    salkas007
    salkas007
    MAJOR
    MAJOR


    Jumlah posting : 73
    DIGITAL POINTS ( DIGI ) : 5104
    REPUTASI : 7
    Join date : 11.01.11
    Age : 30
    Lokasi : kompi rumah

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  salkas007 Wed Jan 12, 2011 4:16 pm

    wew, yg ngerti hacker bgt ini, ane aja puyeng...

    bisa kali kapan" di coba...
    dieborge
    dieborge
    COMMANDER
    COMMANDER


    Jumlah posting : 209
    DIGITAL POINTS ( DIGI ) : 5678
    REPUTASI : 21
    Join date : 11.01.11
    Age : 29
    Lokasi : Buenos Aries

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  dieborge Wed Jan 12, 2011 8:43 pm

    klu masalh buatnya bisa. .
    bagi C++ nya donk. .
    melvita
    melvita
    BRIGADIER
    BRIGADIER


    Jumlah posting : 106
    DIGITAL POINTS ( DIGI ) : 5142
    REPUTASI : -42
    Join date : 13.01.11
    Age : 35
    Lokasi : cibubur, jakarta

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  melvita Thu Jan 13, 2011 2:49 am

    maksih ya atas informasinya big6
    VagaGemwart™.HT
    VagaGemwart™.HT
    COMMANDER
    COMMANDER


    Jumlah posting : 219
    DIGITAL POINTS ( DIGI ) : 5616
    REPUTASI : 17
    Join date : 11.01.11
    Age : 79
    Lokasi : headquarters Gemwart™

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  VagaGemwart™.HT Thu Jan 13, 2011 8:42 am

    dieborge wrote:klu masalh buatnya bisa. .
    bagi C++ nya donk. .

    buat Visual C++ 2008 Express Edition nya lo bisa tanya paman
    banyak kok yg nyediain ^^
    dieborge
    dieborge
    COMMANDER
    COMMANDER


    Jumlah posting : 209
    DIGITAL POINTS ( DIGI ) : 5678
    REPUTASI : 21
    Join date : 11.01.11
    Age : 29
    Lokasi : Buenos Aries

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  dieborge Thu Jan 13, 2011 9:58 pm

    ^ pada ngawur di paman, ,
    VagaGemwart™.HT
    VagaGemwart™.HT
    COMMANDER
    COMMANDER


    Jumlah posting : 219
    DIGITAL POINTS ( DIGI ) : 5616
    REPUTASI : 17
    Join date : 11.01.11
    Age : 79
    Lokasi : headquarters Gemwart™

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  VagaGemwart™.HT Fri Jan 14, 2011 4:41 pm

    putramei91
    putramei91
    WONG DESO
    WONG DESO


    Jumlah posting : 1
    DIGITAL POINTS ( DIGI ) : 4876
    REPUTASI : 0
    Join date : 11.01.11

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  putramei91 Fri Jan 14, 2011 5:11 pm

    ko keluar na kaya gini gan,,,


    1>------ Build started: Project: pkd-online, Configuration: Debug Win32 ------
    1>Compiling...
    1>Main.cpp
    1>c:\documents and settings\rid c@m\my documents\pkd-online\pkd-online\main.cpp(2) : error C2059: syntax error : 'bad suffix on number'
    1>c:\documents and settings\rid c@m\my documents\pkd-online\pkd-online\main.cpp(2) : error C2006: '#include' : expected a filename, found 'constant'
    1>c:\documents and settings\rid c@m\my documents\pkd-online\pkd-online\main.cpp(2) : fatal error C1083: Cannot open include file: '': No such file or directory
    1>Build log was saved at "file://c:\Documents and Settings\Rid c@m\My Documents\pkd-online\pkd-online\Debug\BuildLog.htm"
    1>pkd-online - 3 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

    mohon pencerahan gan,,, sad
    zeradiaz
    zeradiaz
    LIEUTENANT
    LIEUTENANT


    Jumlah posting : 48
    DIGITAL POINTS ( DIGI ) : 5027
    REPUTASI : 3
    Join date : 12.01.11
    Age : 29
    Lokasi : Midtown

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  zeradiaz Sat Jan 15, 2011 12:34 pm

    WINDOWS XP GK BISA YA ??? bid4
    avatar
    m3nkominFo
    KEPALA DESO
    KEPALA DESO


    Jumlah posting : 5
    DIGITAL POINTS ( DIGI ) : 4876
    REPUTASI : 0
    Join date : 15.01.11

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  m3nkominFo Sat Jan 15, 2011 5:48 pm

    puyengggggggggg Cara Membuat Dll point blank 749777
    pekalongan_cheater
    pekalongan_cheater
    CALON BUPATI
    CALON BUPATI


    Jumlah posting : 19
    DIGITAL POINTS ( DIGI ) : 4899
    REPUTASI : 1
    Join date : 16.01.11
    Age : 78
    Lokasi : bekasi

    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  pekalongan_cheater Sun Jan 16, 2011 1:40 pm

    ribet mode on...

    Sponsored content


    Cara Membuat Dll point blank Empty Re: Cara Membuat Dll point blank

    Post  Sponsored content


      Waktu sekarang Fri May 17, 2024 6:13 pm