BNM 2.4.0
 
Loading...
Searching...
No Matches
KittyMemoryFinder.cpp

It shows how to use user's finder with KittyMemory library as an example.

#include <BNM/Loading.hpp>
#include "KittyMemory.h"
// An example of replacing a method for searching methods using KittyMemory.
ElfScanner g_il2cppELF{};
void *KittyMemoryFinder(const char *name, void *data) {
auto &scanner = *(ElfScanner *) data;
return (void *) scanner.findSymbol(name);
}
void Example() {
// Tells BNM to use KittyMemoryFinder instead of BNM_dlsym.
BNM::Loading::SetMethodFinder(KittyMemoryFinder, (void *) &g_il2cppELF);
// If loading happens later we enable LateInitHook
// Set g_il2cppELF in any way.
// g_il2cppELF = ...;
// Try to load BNM
BNM_LOG_DEBUG("07: %d", (int) result);
}
bool TryLoadByUsersFinder()
Try load BNM using custom method finder.
void AllowLateInitHook()
Allow BNM to load at any game state.
void SetMethodFinder(MethodFinder finderMethod, void *userData)
Set custom method finder.