Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Wyszukiwanie funkcji Gamemaker
#1
rozproszone gry dla entuzjastów rozpakowują archiwum i plik wykonywalny do katalogu tymczasowego, którego celem jest ten plik wykonywalny. (nazywają to VC_Runner, ale nazwa procesu może się różnić w zależności od gry).       Kod:   class FunctionObject {public: char Nazwa [64]; // 0x0000 void * pfn; // 0x0040 (patrz następny wpis dotyczący prototypu) __int32 nArg; // 0x0044 __int32 nRet; // 0x0048 __int32 nUnk; // 0x004C}; // Rozmiar = 0x0050 klasa Base {public: FunctionObject * Ptr; // 0x0000 __int32 FunctionCount; // 0x0004 __int32 FunkcjeAllocated; // 0x0008}; // Rozmiar = 0x0040 #define BASE_ADDR (0x0091BA74) #define IMAGEBASE (0x400000) #define BASE_OFF (BASE_ADDR - IMAGEBASE) void go (pauza DWORD, PVOID baseAddr) {mfl :: misc :: readproc proc (pid); Podstawa podstawy; size_t addr = (size_t) baseAddr + BASE_OFF; jeśli (proc. asStruct (addr, base)) {std :: vector <FunctionObject> obj (base. FunkcjeAllocated); jeśli (proc. asArray ((size_t) base.Ptr, obj. data (), base. FunkcjeAllocated)) {for (size_t n = 0; n <base. FunctionCount; ++ n) {std :: cout << obj [n]. Nazwa << ", args:" << obj [n]. nArg; if (obj [n]. nRet) std :: cout << ", ret:" << obj [n]. nRet; if (obj [n]. nUnk! = - 1) std :: cout << ", unk:" << obj [n]. nUnk; std :: cout << std :: endl; }}}}   sig, aby znaleźć Register_Function (gdzie rejestrowane są 3 vary z bazy)       Kod:   8B 0D? ? ? ? A1? ? ? ? 3B C8 7C 2B   zrób coś śmiesznego z tym     (lub nie)
Reply
#2
jest szansa, że to Undertale?
Reply
#3
Nie jest.
Reply




Users browsing this thread: 1 Guest(s)