Categories > Coding > C++ >
LuaVM::load scanning
Posted
I use eyestep to scan roblox addies. Only two of my functions are broken:
update_getstate
update_lvml
Here is my code:
#include "Eyestep/eyestep_utility.cpp"
#include "Globals.h"
namespace Updater
{
static void update_print()
{
int print_call = EyeStep::util::nextCall(EyeStep::scanner::scan_xrefs("Video recording stopped")[0], false, false);
uintptr_t print_address = base + EyeStep::util::raslr(print_call - 0x400000);
Addresses::r_print = (Addresses::r_print_t)print_address;
}
static void update_lvml()
{
int lvm_call_maybe = EyeStep::util::prevCall(EyeStep::scanner::scan_xrefs("oldResult, moduleRef = ...")[0]);
uintptr_t lvm_addy = base + EyeStep::util::raslr(lvm_call_maybe - 0x400000);
Addresses::r_luavm_load = (Addresses::r_luavm_load_t)lvm_addy;
}
static void update_taskdefer()
{
int tdefer_maybe = EyeStep::util::nextCall(EyeStep::scanner::scan_xrefs("Maximum re-entrancy depth (\%i) exceeded calling task.defer")[0], false, false);
uintptr_t tdefer_addy = base + EyeStep::util::raslr(tdefer_maybe - 0x400000);
Addresses::r_taskdefer = (Addresses::r_taskdefer_t)tdefer_addy;
}
static void update_getscheduler()
{
auto taskschedulera = EyeStep::util::getPrologue(EyeStep::scanner::scan("55 8B EC 64 A1 ?? ?? ?? ?? 6A ?? 68 ?? ?? ?? ?? 50 64 89 25 ?? ?? ?? ?? 83 EC ?? 64 A1 ?? ?? ?? ?? 8B 08 A1 ?? ?? ?? ?? 3B 81 08 00 00 00 7F ?? A1 ?? ?? ?? ?? 8B 4D F4 64 89 0D ?? ?? ?? ?? 8B E5 5D C3 8D 4D E4 E8 ?? ?? ?? ?? 68 ?? ?? ?? ?? 8D 45 E4 50 E8 ?? ?? ?? ?? 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 C4 ?? 83 3D ?? ?? ?? ?? ?? 75 ?? 68 ?? ?? ?? ??")[0]);
uintptr_t taskscheduler = base + EyeStep::util::raslr(taskschedulera - 0x400000);
Addresses::r_getscheduler = (Addresses::r_getscheduler_t)taskscheduler;
}
// dont work
static void update_getstate()
{
auto getstate_siggy = EyeStep::util::getPrologue(EyeStep::scanner::scan("55 8B EC 8B 45 08 8B 00 83 F8 ?? 77 ?? FF 24 85 ?? ?? ?? ?? B8 ?? ?? ?? ?? 03 C8")[0]);
uintptr_t getstate = base + EyeStep::util::raslr(getstate_siggy - 0x400000);
Addresses::r_getstate = (Addresses::r_getstate_t)getstate;
}
static void update_all()
{
update_print();
update_lvml();
update_taskdefer();
update_getscheduler();
update_getstate();
}
}
Replied
If you don't understand these people, find getstate in IDA. Disassemble the function and find something that looks similar to this:
return (uintptr_t) 256 + this + 256;
Not sure because I don't directly call the state, I just use the getstate. You're choice after all.
Cancel
Post
hecker dude ngl i hecked 5 ips in 1 second also luaU_loadbiglongjuicythingy(rL);
Users viewing this thread:
( Members: 0, Guests: 1, Total: 1 )
Cancel
Post