scans the memory of a running roblox process and looks for byte patterns inside the main module. prints the address and offset of each match.
Originally developed by ducks. Currently updated, maintained, and expanded by metix.
- finds the roblox process by name (
RobloxPlayerBeta.exe) - gets the base address and size of the main module
- walks through all committed, readable memory regions
- for each pattern, scans region by region and prints the result
currently shipped with beaucoup patterns fdp :
luaD_throw
ScriptContextResume
GetLuaStateForInstance
LuaF_Newproto
IdentityPtr
FireTouchInterest
rbx_print
KTable
PushInstance
OpcodeLookupTable
Luau_Execute
LuaH_DummyNode
LuaO_NilObject
GetIdentityStruct
Impersonator
Rawscheduler
newgcoblock
newclasspage
newpage
FireProximityPrompt
- visual studio or any msvc-compatible compiler
- roblox must be running before you launch the scanner
open in visual studio, make sure you're targeting x64, then build and run.
- launch roblox
- run the compiled binary as administrator
- output will look like:
Roblox PID: 12345
Module Base Address: 0x0
[luaD_throw] Pattern found at address: 0x0 (offset: 0x0)
[OpcodeLookupTable] Pattern found at address: 0x0 (offset: 0x0)
if a pattern isn't found it'll tell you how many regions it scanned.
in main(), add an entry to the patterns vector:
{"48 89 5C 24 ? 57 48 83 EC 20", "myFunction"},use ?? or ? for wildcard bytes.
- patterns break on roblox updates, you'll need to rescan and update them
- only scans
MEM_COMMITregions, skipsPAGE_GUARDandPAGE_NOACCESS
lazy to update it! update it by yourself
updated for : version-acc4b74f79e743b9