N3 [C++] Membuat Address Logger

Discussion in 'N3 Source Codes dan Tutorials' started by rcd, May 5, 2012.

Discuss [C++] Membuat Address Logger in the N3 Source Codes dan Tutorials area at Nyit-Nyit.Net

  1. rcd 3 SD Level 2

    Messages:
    452
    Likes Received:
    535
    Trophy Points:
    121
    Game:
    Tidak Ada
    Credits : d0m1n1k (FindPattern), Gecko http://n3.vc/11A1, All Member TTK


    1. FindPattern
    Tambahkan code ini ke projectmu agar bisa menggunakan FindPattern(…);

    Code:
    bool Match(const BYTE* pData, const BYTE* bMask, const char* szMask)
    {
    for(;*szMask;++szMask,++pData,++bMask)
    if(*szMask=='x' && *pData!=*bMask )
    return false;
    return (*szMask) == NULL;
    }
    
    DWORD FindPattern(DWORD dwAddress,DWORD dwLen,BYTE *bMask,char * szMask)
    {
    for(DWORD i=0; i < dwLen; i++)
    if(Match( (BYTE*)( dwAddress+i ),bMask,szMask) )
    return (DWORD)(dwAddress+i);
    
    return 0;
    }
    2. Mendapatkan signature dari suatu address
    Mungkin bagian ini adalah hal yang membingungkan bagi pemula ^^ karena berhubungan dengan bytes.
    Setelah kita dapat mengetahui FindPattern hal selanjutnya yang paling penting adalah Sygnature. Sygnature yang akan dipasang di FindPattern harus Static (tidak berubah) bukan Dinamyc (berubah) karena kalau Sygnaturenya salah/dinamyc maka FindPattern tidak akan menemukan address yang akan dicari. Contoh bytes yang Static/Dinamyc seperti ini


    Kenapa E9 bisa dikatakan Static??? ^^ karena E9 tidak akan berubah walaupun game direstart/game patch. Dan sebaliknya Address dalam bentuk byte (Merah) dinamyc karena akan berubah setelah game patch. Gampang nya kalo lihat di Olly ada spasi diantara dua tipe bytes tersebut untuk lebih mudah, liat gambar kalo belom mudeng ^^. (Noh liat yang dikasih gambar panah). Dah mudeng belum beda static sama dinamyc? Kalo belum mudeng silahkan reply di thread :D
    [​IMG]

    Pada tutor kali ini saya akan mencari address yang membuat timer di minesweeper bertambah. Setelah saya breakpoint saya menemukan address ini (tutor mencari asm-nya diskip) : 1002FF5

    Code:
    01002FF5 |. FF05 9C570001		 INC DWORD PTR DS:[100579C]
    01002FFB |. E8 B5F8FFFF			 CALL 010028B5
    01003000 |. 6A 01				 PUSH 1
    Dari address tersebut didapatkan signature : FF 05 ?? ?? ?? ?? E8 ?? ?? ?? ?? 6A 01

    Versi C++ :
    Pattern : \xFF\x05\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x6A\x01
    Mask : xx????x????xx
    Pattern untuk byte yang dinamyc kita tulis dengan 00
    Mask untuk byte yang dinamyc kita tulis dengan ?
    Mask untuk byte yang static kita tulis dengan x

    Contoh Penggunaan :
    Code:
    DWORD dwBase = (DWORD)GetModuleHandle(“minesweeper.exe”);
    DWORD dwLog = FindPattern(dwBase, 0x5000000, (PBYTE)”\xFF\x05\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x6A\x01”, “xx????x????xx”);
    char cbuffer[255];
    sprintf(cbuffer, “Logged Address : 0x%X”, dwLog);
    MessageBox(NULL, cbuffer, “Result”, 0); // Pop-up hasil log lewat msgbox
    // Saat ini ente sudah mendapatkan hasil dari logging terserah mau diapain, mau di hack juga boleh
    MEMwrite((void*)dwLog, (PBYTE)”\x90\x90\x90\x90\x90\x90”,6 );//opsional
    


    Oke itu dulu dari saya, kalo masih ada yang bingung tanyakan saja ^^
    View attachment minesweeper.zip
     
    16 people like this.

    Gunakan jasa Rekber N3 untuk menjamin jual beli anda atau menghindari penipuan dengan meng klik disini
  2. HydroPlus TK 0 Kecil Level 1

    Messages:
    54
    Likes Received:
    5
    Trophy Points:
    33
    KK RCD kelupaan satu orang :D

    Code:
    Findpattern = d0m1n1k
    Olly SigMaker = P47R!CK
    Logger base = Gecko
    
     
  3. azzfarrN3 4 SD Level 2

    Messages:
    554
    Likes Received:
    5
    Trophy Points:
    43
    built pake apa bang ini ?
     
  4. N3Gantengs TK 0 Kecil Level 1

    Messages:
    55
    Likes Received:
    1
    Trophy Points:
    33
    bang RCD, aq mau nanya!!

    cara cari assambleny gimana ya??
    paling ga mudeng aq pada assambleny @_@ :bingung: :dizzy:
     
  5. rcd 3 SD Level 2

    Messages:
    452
    Likes Received:
    535
    Trophy Points:
    121
    Game:
    Tidak Ada
    Microsoft Visual C++
     
  6. sinwae TK 0 Besar Level 1

    Messages:
    177
    Likes Received:
    1
    Trophy Points:
    43
    di dpt dari mana kk
     
  7. Anonymous 5 SD Level 2

    Messages:
    665
    Likes Received:
    38
    Trophy Points:
    54
    Game:
    Tidak Ada
    dapet dari OllyDbg
     
  8. azzfarrN3 4 SD Level 2

    Messages:
    554
    Likes Received:
    5
    Trophy Points:
    43
    >eror.cpp(42): error C3861: 'MEMwrite': identifier not found
    bisa minta tolong ini harus di tambah tambah apa ya ?
     
  9. Anonymous 5 SD Level 2

    Messages:
    665
    Likes Received:
    38
    Trophy Points:
    54
    Game:
    Tidak Ada
    Code:
    void MEMwrite(void *adr, void *ptr, int size)
    {
    DWORD OldProtection;
    VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);
    memcpy(adr,ptr,size);
    VirtualProtect(adr,size,OldProtection, &OldProtection);
    }
    
     
    1 person likes this.
  10. sinwae TK 0 Besar Level 1

    Messages:
    177
    Likes Received:
    1
    Trophy Points:
    43
    kalo misal target game pb itu yang mana yg di cari
     
    1 person likes this.
  11. azzfarrN3 4 SD Level 2

    Messages:
    554
    Likes Received:
    5
    Trophy Points:
    43
    error C2664: 'MEMwrite' : cannot convert parameter 3 from 'const char [2]' to 'int'
    error lagi bang ,
    kaya gini bukan posisinya ?
    void MEMwrite(void *adr, void *ptr, int size)
    {
    DWORD OldProtection;
    VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &OldProtection);
    memcpy(adr,ptr,size);
    VirtualProtect(adr,size,OldProtection, &OldProtection);
    MEMwrite((void*)dwLog, (PBYTE) "\x90\x90\x90\x90\x90\x90","6" );//opsional
    }
     
  12. 1642EQ Sub Mod Pangya Level 4

    Messages:
    586
    Likes Received:
    192
    Trophy Points:
    69
    itu manggil MEMwrite(...) jgn disitu bro,, bisa looping selamanya, untungnya error diparameter ketiga,
    harusnya input tipe int, alias angka 6 saja, bukan string "6".

    itu fungsi MEMwrite(..) bukan fungsi rekursif kan,,
    pindahkan ke tempat lain.


    regards
    1642EQ
     
    1 person likes this.
  13. HydroPlus TK 0 Kecil Level 1

    Messages:
    54
    Likes Received:
    5
    Trophy Points:
    33
    Sigmaker untuk IDA, pw: www.nyit-nyit.net
     

    Attached Files:

  14. apaaja948 Pra TK Level 1

    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    Numpang Nanya Bang RCD
    FindPattend Itu Apakah Bisa Mencari Dengan Offset
    Misal Offsetnya 456003
    Bisa Di Jadikan Seperti ini Atau Tidak
    \x45\x60\x03 , xxx"
    Bisa Gk Bang RCD ^_^ Mohon Pencerahnya :cool:
     
  15. rcd 3 SD Level 2

    Messages:
    452
    Likes Received:
    535
    Trophy Points:
    121
    Game:
    Tidak Ada
    gk bisa kk
     
  16. jazzybecker 4 SD Level 4

    Messages:
    506
    Likes Received:
    156
    Trophy Points:
    70
    Game:
    Tidak Ada
    wkwkkw kalo mau kek gitu, yg bisa di log itu value dari offset itu..
    jadi klo offset geser, otomatis dia nunjuk ke offset yg baru..
     
  17. thebakuras Pra TK Level 1

    Messages:
    34
    Likes Received:
    2
    Trophy Points:
    8
    Bang RCD membuat logger bisa ngga mengunakan Dev-C++ ???
    Maaf Jika Saya Oot ... :Sorry:
     
  18. azzfarrN3 4 SD Level 2

    Messages:
    554
    Likes Received:
    5
    Trophy Points:
    43
    Bang Bisa bantu nggak , ini kenapa ya ko yang keluar addressnya malah 00420000 bukan 00820000 .
    [​IMG]
     
  19. Anonymous 5 SD Level 2

    Messages:
    665
    Likes Received:
    38
    Trophy Points:
    54
    Game:
    Tidak Ada
    ^
    kan di tambah sama
    Code:
    DWORD dwBase = (DWORD)GetModuleHandle(“minesweeper.exe”);
    
    minesweeper.exe + 00420000 = 00820000
     
  20. apaaja948 Pra TK Level 1

    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    Nih Saya Membuat Logger Audition.exe
    Disitu Sii Saya Berhasil
    Tapi KaLo Di AOBnya Itu Saya Ada Yang Salah, Menuju Ke Address F20000
    Maksudnya itu Apa Ya,

    Gni Nie :
    Code:
    //while (!Ready())
    Sleep(500);
    dwStartAddress = 0x400000;
    do {
    dwStartAddress = (DWORD)GetModuleHandle(ModulGame);
    Sleep(100);
    }
    while(!dwStartAddress);
    dwSize = 0x500000;
    DWORD dwPF = FindPattern(dwStartAddress,dwSize,(PBYTE)"\x7D\x3F\x33\x33\x73\x3F\x9A\x99\x59\x3F\x14\xAE\x47\x3F\x00\x00","xxxxxxxxxxxxxx??");
    DWORD dwOTP = FindPattern(dwStartAddress,dwSize,(PBYTE)"\x3F\x1F\x85\x2B\x3F\xCD\xCC\xCC\x3E","xxxxxxxxx");
    DWORD dwBR = FindPattern(dwStartAddress,dwSize,(PBYTE)"\x00\x00\x00\x0F\x00\x00\x00\x1B\x00\x00","???x???x??");
    DWORD dwBU = FindPattern(dwStartAddress,dwSize,(PBYTE)"\x03\x02\x01\x00\x01\x02\x03\x00\x01\x01","xxx?xxx?xx");
    DWORD dwPIN = FindPattern(dwStartAddress,dwSize,(PBYTE)"\x01\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\xFF\xFF\xFF","x???x???x???xxx");
    
    
    adrPF = dwPF - dwStartAddress;
    adrOTP = dwOTP - dwStartAddress;
    adrBR = dwBR - dwStartAddress;
    adrBU = dwBU - dwStartAddress;
    adrPIN = dwPIN - dwStartAddress;
    
    Writelog("#define OFS_PF						    0x%X", adrPF);
    Writelog("#define OFS_OTP							  0x%X", adrOTP);
    Writelog("#define OFS_BR				  0x%X", adrBR);
    Writelog("#define OFS_BU  0x%X", adrBU);
    Writelog("#define OFS_PIN  0x%X", adrPIN);
    
    Malah Addressnya Menuju

    Code:
    #define OFS_PIN 0xF20000
    #define OFS_BR 0xF20000
    #define OFS_OTP 0xF20000
    Yang Salah Apa Coba, Bingung Disitu

    Nie AOB Yang Saya Gunakan

    Code:
    Perfect Normal:
    AOB: 7D 3F 33 33 73 3F 9A 99 59 3F 14 AE 47 3F 00 00
    
    Perfect OTP:
    AOB: 3F 1F 85 2B 3F CD CC CC 3E CD CC 4C 3E 00 00 00 00 42 61 6C
    
    Perfect BR 1 :
    AOB : 03 02 01 00 01 02 03 00 01 01 01 01 00 00 00 00
    
    Perfect BU 1
    AOB: 00 00 00 0F 00 00 00 1B 00 00 00 28 00 00 00 37
    
    Skip Pin 2nd:
    AOB: 01 00 00 00 01 00 00 00 08 00 00 00 FF FF FF
    
    Mohon Pencerah Yang Udh Pro ^_^ :cool:
     

Share This Page