A proof of concept importless way to modify Il2Cpp Unity games.
Warning
This code is messy.
- Open
GameAssembly.dll
in IDA. - Find the
il2cpp_domain_get
export. - Follow control flow until you find a function like this:
- Get the address of that static variable.
- Open
GameAssembly.dll
in IDA. - Find the
il2cpp_domain_get_assemblies
export. - Follow the control flow until you find a function like this:
- Get the address of that static variable.
- Open
GameAssembly.dll
in IDA. - Search for the string
global-metadata.dat
. - Open the function that contains said string.
- Find the static variable with this math:
- Get the address of that static variable.
- Open
GameAssembly.dll
in IDA. - Search for the string
global-metadata.dat
. - Open the function that contains said string.
- Find the first static variable.
- Get the address of that static variable.
- Open
GameAssembly.dll
in IDA. - Search for the string
global-metadata.dat
. - Open the function that contains said string.
- Find the second static variable.
- Get the address of that static variable.
- Open
GameAssembly.dll
in IDA. - Search for the string
global-metadata.dat
. - Open the function that contains said string.
- Find the static variable with this math.
- Get the address of that static variable.
- Open
GameAssembly.dll
in IDA. - Search for the string
__Generated
. - Open the function that contains said string.
- Find the static variable that is used in all these calls.
- Get the address of that static variable.