Bvural41 1
Bvural41
Fethi Polat 1
Fethi Polat
Mt2Hizmet 1
Mt2Hizmet
Scarlet 1
Scarlet
Hikaye Ekle

Metin2 Get Function Addres

  • Konuyu başlatan Konuyu başlatan mchtblk
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 4
  • Görüntüleme Görüntüleme 1K

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Merhaba arkadaşlar genel bir konu olarak paylaşıyorum herkes yazılanlardan bilgilensin ve yardımlaşşın istiyorum,

Benim ilk olarak sorunum örnek
Dumpeden çıkan GetMainCharacterPosition - 4B5F90 adresi ile fonksiyona atlama yapıyorum


sorun şu diğer fonksiyonlar gibi direk mov ecx den başlayıp call fonksiyonu ile çağıramıyorum, bu fonksiyonda işlemi nasıl yapmalıyım ?

Getname,GetMainCharacterPosition,GetRace,GetJob,GetEXP Bunların örnek olarak fonksiyon adresini bulmak istiyorum
 
GetMainCharacterPosition bir python objesi döndürdüğü için kendi projende de python kütüphanesi kullanman lazım bu konuda bir çalışmam olmadığı için yardımcı olamıyorum fakat aşağıdaki örnek kod ile dump ederek bulduğun adreslerdeki fonksiyonlara çağrı yaparak döndürdüğü değeri c değişkenine atayabilirsin

C++:
//credit:musicinstructor from elitepvpers
int GetInstanceType(long vid)
{
    PyObject* args = PyTuple_New(1);
    PyTuple_SetItem(args, 0, PyInt_FromLong(vid));

    PyObject* ret = PyObject_Call(PyObject_GetAttrString(PyImport_ImportModule("chr"), "GetInstanceType"), args, NULL);

    int result = PyInt_AsLong(ret);
    Py_DECREF(ret);
    Py_XDECREF(args);
    return result;
}
 
GetMainCharacterPosition bir python objesi döndürdüğü için kendi projende de python kütüphanesi kullanman lazım bu konuda bir çalışmam olmadığı için yardımcı olamıyorum fakat aşağıdaki örnek kod ile dump ederek bulduğun adreslerdeki fonksiyonlara çağrı yaparak döndürdüğü değeri c değişkenine atayabilirsin

C++:
//credit:musicinstructor from elitepvpers
int GetInstanceType(long vid)
{
    PyObject* args = PyTuple_New(1);
    PyTuple_SetItem(args, 0, PyInt_FromLong(vid));

    PyObject* ret = PyObject_Call(PyObject_GetAttrString(PyImport_ImportModule("chr"), "GetInstanceType"), args, NULL);

    int result = PyInt_AsLong(ret);
    Py_DECREF(ret);
    Py_XDECREF(args);
    return result;
}


öncelikle teşekkür ederim ama bu fonksiyonu kullanıyorum ama çok sağlam değil çünkü nadir serverlerde çalışıyor bu sistem. bununla evet bir adrese erişebiliyorum fakat pek sağlam sonuç vermiyor başka serverlerde
 
C:
struct d3dvector {
    float x;
    float y;
    float z;
}d3dvector;



d3dvector* a;
DWORD call_add;
__asm{
    push a
    call call_add;
}

a.x a.y a.z şeklinde erişebilirsin daha sonra
 
Son düzenleme:

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst