--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
my profile FaCeBoK

Name : Riyan Yazid M.A
Birthday : 14 Desember 1998
Blood   : gak tau
Horoscope : Sagitarius
Tinggi Badan : gak tau
Sekolah :Smk Letris Indonesia 2 , Tanggerang selatan


Julukan : Riyan
Twitter :  Click 

Facebook :   Click 

[Created By Sank Jawara Cheater ]
Buku Tamu
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[     Created : Sank Jawara Cheater     ]

-->

Kamis, 29 Mei 2014

0 [C++] Membuat Address Logger

Tools yang dibutuhkan :
1. FindPattern
2. Address Sygnature
1. FindPattern
Tambahkan code ini ke projectmu agar bisa menggunakan FindPattern(…);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
‘E9′ *15480523*         ‘JMP’ *23456789*
‘FF15′ *98104000*    ‘CALL DWORD PTR DS:’[0xDEAD]*
‘ = Static
* = Dinamyc
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 tinggalkan pesan :D
Posted Image
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
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 :
1
2
3
4
5
6
7
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
FAQ:
Q: Pada FindPattern mengapa dwLen kita isi dengan 0×500000?
A: Karena kita akan mencari address yang berada pada 0x01002FF5, maka dwLen harus diisi lebih besar dari address yang akan dicari.
01003000 |. 6A 01 PUSH 1
Q: Mengapa menjadikan 01 static sedangkan di ollydbg diantara 6A dan 01 ada spasi?
A: Karena 01 itu bukan byte berbentuk address sehingga kecil kemungkinan akan berubah saat game patch
Tips : Mencari sygnature dapat dilakukan dengan bantuan sygmaker
http://n3.vc/11A2

Ditulis Oleh : ksknf ~ Tips dan Trik Blogspot

> Sobat Hacking-Cheat sedang membaca artikel tentang [C++] Membuat Address Logger. Oleh Admin, Sobat diperbolehkan mengcopy paste atau menyebar-luaskan artikel ini, namun jangan lupa untuk meletakkan link dibawah ini sebagai sumbernya

:: Get this widget ! ::

0 Comments

Bagaimana Pendapat Anda ?