ConstReadonlyalloc: NativeFunction<NativePointer, [number | UInt64]>ReadonlyarrayGetLength: NativeFunction<number, [NativePointerValue]>ReadonlyarrayNew: NativeFunction<NativePointer, [NativePointerValue, number]>ReadonlyassemblyGetImage: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassForEach: NativeFunction<void, [NativePointerValue, NativePointerValue]>ReadonlyclassFromName: NativeFunction<ReadonlyclassFromObject: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetArrayClass: NativeFunction<NativePointer, [NativePointerValue, number]>ReadonlyclassGetArrayElementSize: NativeFunction<number, [NativePointerValue]>ReadonlyclassGetAssemblyName: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetBaseType: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetDeclaringType: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetElementClass: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetFieldFromName: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlyclassGetFields: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlyclassGetFlags: NativeFunction<number, [NativePointerValue]>ReadonlyclassGetImage: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetInstanceSize: NativeFunction<number, [NativePointerValue]>ReadonlyclassGetInterfaces: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlyclassGetMethodFromName: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue, number]>ReadonlyclassGetMethods: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlyclassGetName: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetNamespace: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetNestedClasses: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlyclassGetParent: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetStaticFieldData: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetType: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyclassGetValueTypeSize: NativeFunction<number, [NativePointerValue, NativePointerValue]>ReadonlyclassHasReferences: NativeFunction<number, [NativePointerValue]>ReadonlyclassInitialize: NativeFunction<void, [NativePointerValue]>ReadonlyclassIsAbstract: NativeFunction<number, [NativePointerValue]>ReadonlyclassIsAssignableFrom: NativeFunction<number, [NativePointerValue, NativePointerValue]>ReadonlyclassIsBlittable: NativeFunction<number, [NativePointerValue]>ReadonlyclassIsEnum: NativeFunction<number, [NativePointerValue]>ReadonlyclassIsGeneric: NativeFunction<number, [NativePointerValue]>ReadonlyclassIsInflated: NativeFunction<number, [NativePointerValue]>ReadonlyclassIsInterface: NativeFunction<number, [NativePointerValue]>ReadonlyclassIsSubclassOf: NativeFunction<number, [NativePointerValue, NativePointerValue, number]>ReadonlyclassIsValueType: NativeFunction<number, [NativePointerValue]>ReadonlydomainGet: NativeFunction<NativePointer, []>ReadonlydomainGetAssemblies: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlydomainGetAssemblyFromName: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlyfieldGetClass: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyfieldGetFlags: NativeFunction<number, [NativePointerValue]>ReadonlyfieldGetName: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyfieldGetOffset: NativeFunction<number, [NativePointerValue]>ReadonlyfieldGetStaticValue: NativeFunction<void, [NativePointerValue, NativePointerValue]>ReadonlyfieldGetType: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyfieldSetStaticValue: NativeFunction<void, [NativePointerValue, NativePointerValue]>Readonlyfree: NativeFunction<void, [NativePointerValue]>ReadonlygcCollect: NativeFunction<void, [number]>ReadonlygcCollectALittle: NativeFunction<void, []>ReadonlygcDisable: NativeFunction<void, []>ReadonlygcEnable: NativeFunction<void, []>ReadonlygcGetHeapSize: NativeFunction<Int64, []>ReadonlygcGetMaxTimeSlice: NativeFunction<Int64, []>ReadonlygcGetUsedSize: NativeFunction<Int64, []>ReadonlygcHandleFree: NativeFunction<void, [number]>ReadonlygcHandleGetTarget: NativeFunction<NativePointer, [number]>ReadonlygcHandleNew: NativeFunction<number, [NativePointerValue, number]>ReadonlygcHandleNewWeakRef: NativeFunction<number, [NativePointerValue, number]>ReadonlygcIsDisabled: NativeFunction<number, []>ReadonlygcIsIncremental: NativeFunction<number, []>ReadonlygcSetMaxTimeSlice: NativeFunction<void, [number | Int64]>ReadonlygcStartIncrementalCollection: NativeFunction<void, []>ReadonlygcStartWorld: NativeFunction<void, []>ReadonlygcStopWorld: NativeFunction<void, []>ReadonlygetCorlib: NativeFunction<NativePointer, []>ReadonlyimageGetAssembly: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyimageGetClass: NativeFunction<NativePointer, [NativePointerValue, number]>ReadonlyimageGetClassCount: NativeFunction<number, [NativePointerValue]>ReadonlyimageGetName: NativeFunction<NativePointer, [NativePointerValue]>Readonlyinitialize: NativeFunction<void, [NativePointerValue]>ReadonlylivenessAllocateStruct: NativeFunction<ReadonlylivenessCalculationBegin: NativeFunction<ReadonlylivenessCalculationEnd: NativeFunction<void, [NativePointerValue]>ReadonlylivenessCalculationFromStatics: NativeFunction<void, [NativePointerValue]>ReadonlylivenessFinalize: NativeFunction<void, [NativePointerValue]>ReadonlylivenessFreeStruct: NativeFunction<void, [NativePointerValue]>ReadonlymemorySnapshotCapture: NativeFunction<NativePointer, []>ReadonlymemorySnapshotFree: NativeFunction<void, [NativePointerValue]>ReadonlymemorySnapshotGetClasses: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlymemorySnapshotGetObjects: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlymethodGetClass: NativeFunction<NativePointer, [NativePointerValue]>ReadonlymethodGetFlags: NativeFunction<number, [NativePointerValue, NativePointerValue]>ReadonlymethodGetName: NativeFunction<NativePointer, [NativePointerValue]>ReadonlymethodGetObject: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlymethodGetParameterCount: NativeFunction<number, [NativePointerValue]>ReadonlymethodGetParameterName: NativeFunction<NativePointer, [NativePointerValue, number]>ReadonlymethodGetParameters: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlymethodGetParameterType: NativeFunction<NativePointer, [NativePointerValue, number]>ReadonlymethodGetReturnType: NativeFunction<NativePointer, [NativePointerValue]>ReadonlymethodIsGeneric: NativeFunction<number, [NativePointerValue]>ReadonlymethodIsInflated: NativeFunction<number, [NativePointerValue]>ReadonlymethodIsInstance: NativeFunction<number, [NativePointerValue]>ReadonlymonitorEnter: NativeFunction<void, [NativePointerValue]>ReadonlymonitorExit: NativeFunction<void, [NativePointerValue]>ReadonlymonitorPulse: NativeFunction<void, [NativePointerValue]>ReadonlymonitorPulseAll: NativeFunction<void, [NativePointerValue]>ReadonlymonitorTryEnter: NativeFunction<number, [NativePointerValue, number]>ReadonlymonitorTryWait: NativeFunction<number, [NativePointerValue, number]>ReadonlymonitorWait: NativeFunction<void, [NativePointerValue]>ReadonlyobjectGetClass: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyobjectGetSize: NativeFunction<number, [NativePointerValue]>ReadonlyobjectGetVirtualMethod: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>ReadonlyobjectInitialize: NativeFunction<void, [NativePointerValue, NativePointerValue]>ReadonlyobjectNew: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyobjectUnbox: NativeFunction<NativePointer, [NativePointerValue]>ReadonlyresolveInternalCall: NativeFunction<NativePointer, [NativePointerValue]>ReadonlystringGetChars: NativeFunction<NativePointer, [NativePointerValue]>ReadonlystringGetLength: NativeFunction<number, [NativePointerValue]>ReadonlystringNew: NativeFunction<NativePointer, [NativePointerValue]>ReadonlythreadAttach: NativeFunction<NativePointer, [NativePointerValue]>ReadonlythreadDetach: NativeFunction<void, [NativePointerValue]>ReadonlythreadGetAttachedThreads: NativeFunction<NativePointer, [NativePointerValue]>ReadonlythreadGetCurrent: NativeFunction<NativePointer, []>ReadonlythreadIsVm: NativeFunction<number, [NativePointerValue]>ReadonlytypeEquals: NativeFunction<number, [NativePointerValue, NativePointerValue]>ReadonlytypeGetClass: NativeFunction<NativePointer, [NativePointerValue]>ReadonlytypeGetName: NativeFunction<NativePointer, [NativePointerValue]>ReadonlytypeGetObject: NativeFunction<NativePointer, [NativePointerValue]>ReadonlytypeGetTypeEnum: NativeFunction<number, [NativePointerValue]>ReadonlyvalueTypeBox: NativeFunction<NativePointer, [NativePointerValue, NativePointerValue]>
The core object where all the necessary IL2CPP native functions are held.
frida-il2cpp-bridgeis built around this object by providing an easy-to-use abstraction layer: the user isn't expected to use it directly, but it can in case of advanced use cases.The exports depends on the Unity version, hence some of them may be unavailable; moreover, they are searched by name (e.g.
il2cpp_class_from_name) hence they might get stripped, hidden or renamed by a nasty obfuscator.However, it is possible to override or set the handle of any of the exports using Il2Cpp.$config.exports: