HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
Merhabalar, bir fonksiyonu hook'layarak parametrelerini çekmeye çalışıyorum. Fakat bilgim yetersiz kaldı diyebilirim. Bazı denemeler yaptım fakat ya crash alıyorum ya da sonsuz döngüye sebep oluyorum. Örnek olarak şu şekildeki bir fonksiyonu hooklayarak parametrelerine nasıl ulaşabiliriz? Bunu yapmanın doğru yolu nedir?
Şimdiden ilginize teşekkür ederim..
C++:
module_addr = 0x123456;
module_instance = reinterpret_cast<DWORD>(module_addr);
typedef bool(__thiscall* tModuleFunc)(void* This, int arg1, int arg2);
static DWORD func_addr = 0x112233;
static tModuleFunc ModuleFunc;
ModuleFunc = (tModuleFunc)(func_addr);
void ShowArgs(int arg1, int arg2){
std::cout << arg1= << arg1 << std::endl;
std::cout << arg2= << arg2 << std::endl;
}
static bool CallModuleFunc(int arg1, int arg2)
{
try
{
return ModuleFunc((void)module_instance, arg1, arg2);
}
catch (...)
{
return false;
}
}
static bool HookCallModuleFunc(int arg1, int arg2)
{
try
{
ShowArgs(arg1, arg2);
return ModuleFunc((void)module_instance, arg1, arg2);
}
catch (...)
{
return false;
}
}
Şimdiden ilginize teşekkür ederim..
En Çok Reaksiyon Alan Mesajlar
Rica ederim. alttaki resimdeki gibi structlar genelde pushda aktarılan verinin 4 azı 4 fazlası c fazlası vb. vb. şekilde ilerliyor. Yani push u bulduktan sonra 4 arttırarak 4 azaltarak en kötü deneme yanılma yöntemiyle bulabilirsin istediğin sonucu.Teşekkürler, peki push edilen bir struct ise?
Öğeyi görmek için üye olmalısınız.
Burada push ebp de aktarılan veride 4 eksiğinde server auth portu 8 azında channel portu c azında server ipsi aktarılıyor. Anlatmak istediğimi anlamışsındır.
Fonksiyonun değerlerinin pushlarda gönderildiği yeri bul. Oraya hook atarak ve kendi naked asmni yazarak pushlardan geçen valueleri dışarıya aktarabilirsin. Örnek olarak şöyle bir fonksiyon yapabilirsin:
DWORD ebp_valuesi_bul;
void __declspec(naked) ebp_value_bulucu()
{
__asm
{
mov ebp_valuesi_bul, ebp
push ebp
jmp dword ptr ds:[geridön]
}
}
Böylelikle push ebp nin üzerinden geçen value senin belirlediğin dışarıya aktarmak istediğin ebp_valuesi_bul isimli fonksiyona da yazdırılacak ve böylelikle valuesini bulabileceksin. En son da ebp_valuesi_bul değerini dışarıya nasıl aktaracağın sana kalmış.
YouTube da boyle bir video buldum , cheat engine ile toplama fonksiyonu buluyor , ikinci aşama tiklama ile toplamayi buluyor , 3 aşama registerlerdeki valueleri ve stack 'i inceleyerek Toplama fonksiyonunu istedigi itemin value ve id sini kullanarak , fonksiyona hook atiyor filitreli toplama hilesi yapiyor . belki gidiş yolu ve hook işine yarayabilir diye paylastim.
@mod hatta bu video yu hile kodlama indexi konusunda paylasirsaniz cok guzel bir kaynak olabilir
@Replicant
Öğeyi görmek için üye olmalısınız.
Fonksiyonun değerlerinin pushlarda gönderildiği yeri bul. Oraya hook atarak ve kendi naked asmni yazarak pushlardan geçen valueleri dışarıya aktarabilirsin. Örnek olarak şöyle bir fonksiyon yapabilirsin:
DWORD ebp_valuesi_bul;
void __declspec(naked) ebp_value_bulucu()
{
__asm
{
mov ebp_valuesi_bul, ebp
push ebp
jmp dword ptr ds:[geridön]
}
}
Böylelikle push ebp nin üzerinden geçen value senin belirlediğin dışarıya aktarmak istediğin ebp_valuesi_bul isimli fonksiyona da yazdırılacak ve böylelikle valuesini bulabileceksin. En son da ebp_valuesi_bul değerini dışarıya nasıl aktaracağın sana kalmış.
DWORD ebp_valuesi_bul;
void __declspec(naked) ebp_value_bulucu()
{
__asm
{
mov ebp_valuesi_bul, ebp
push ebp
jmp dword ptr ds:[geridön]
}
}
Böylelikle push ebp nin üzerinden geçen value senin belirlediğin dışarıya aktarmak istediğin ebp_valuesi_bul isimli fonksiyona da yazdırılacak ve böylelikle valuesini bulabileceksin. En son da ebp_valuesi_bul değerini dışarıya nasıl aktaracağın sana kalmış.
YouTube da boyle bir video buldum , cheat engine ile toplama fonksiyonu buluyor , ikinci aşama tiklama ile toplamayi buluyor , 3 aşama registerlerdeki valueleri ve stack 'i inceleyerek Toplama fonksiyonunu istedigi itemin value ve id sini kullanarak , fonksiyona hook atiyor filitreli toplama hilesi yapiyor . belki gidiş yolu ve hook işine yarayabilir diye paylastim.
@mod hatta bu video yu hile kodlama indexi konusunda paylasirsaniz cok guzel bir kaynak olabilir
@Replicant
@mod hatta bu video yu hile kodlama indexi konusunda paylasirsaniz cok guzel bir kaynak olabilir
@Replicant
Teşekkürler, peki push edilen bir struct ise?Fonksiyonun değerlerinin pushlarda gönderildiği yeri bul. Oraya hook atarak ve kendi naked asmni yazarak pushlardan geçen valueleri dışarıya aktarabilirsin. Örnek olarak şöyle bir fonksiyon yapabilirsin:
DWORD ebp_valuesi_bul;
void __declspec(naked) ebp_value_bulucu()
{
__asm
{
mov ebp_valuesi_bul, ebp
push ebp
jmp dword ptr ds:[geridön]
}
}
Böylelikle push ebp nin üzerinden geçen value senin belirlediğin dışarıya aktarmak istediğin ebp_valuesi_bul isimli fonksiyona da yazdırılacak ve böylelikle valuesini bulabileceksin. En son da ebp_valuesi_bul değerini dışarıya nasıl aktaracağın sana kalmış.
Rica ederim. alttaki resimdeki gibi structlar genelde pushda aktarılan verinin 4 azı 4 fazlası c fazlası vb. vb. şekilde ilerliyor. Yani push u bulduktan sonra 4 arttırarak 4 azaltarak en kötü deneme yanılma yöntemiyle bulabilirsin istediğin sonucu.Teşekkürler, peki push edilen bir struct ise?
Burada push ebp de aktarılan veride 4 eksiğinde server auth portu 8 azında channel portu c azında server ipsi aktarılıyor. Anlatmak istediğimi anlamışsındır.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 6
- Görüntüleme
- 294
- Cevaplar
- 3
- Görüntüleme
- 365
- Cevaplar
- 13
- Görüntüleme
- 1K
