Categories > Coding > C++ >

LuaVM::load scanning

Posts: 10

Threads: 5

Joined: Feb, 2023

Reputation: 0

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();
	}
}
  • 0

Posts: 1479

Threads: 95

Joined: Oct, 2019

Reputation: 103

Replied

Real Question Is Why Even Use GetState Just Look At The Default In Its Switch Statement And You'll Have Your State Encryption Easy. As For LuaVM Load I Don't Use EyeStep Enough To Know An Answer Sorry.

  • 0

heckerdude

heckerdude

Posts: 129

Threads: 16

Joined: Aug, 2022

Reputation: 6

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.

  • 0

hecker dude ngl i hecked 5 ips in 1 second also luaU_loadbiglongjuicythingy(rL);

Users viewing this thread:

( Members: 0, Guests: 1, Total: 1 )