UNPKG

frida-il2cpp-bridge-my

Version:

(my:Support IOS)Frida module to dump, manipulate and hijack any IL2CPP application at runtime with a high level of abstraction.

102 lines (101 loc) 3.94 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var _Il2CppType_1; Object.defineProperty(exports, "__esModule", { value: true }); exports._Il2CppType = void 0; const decorator_cache_getter_1 = require("decorator-cache-getter"); const api_1 = require("../api"); const decorators_1 = require("../decorators"); const native_struct_1 = require("../native-struct"); const utils_1 = require("../utils"); const class_1 = require("./class"); const generic_class_1 = require("./generic-class"); const type_enum_1 = require("./type-enum"); let _Il2CppType = _Il2CppType_1 = class _Il2CppType extends native_struct_1.NativeStruct { static get offsetOfTypeEnum() { return api_1.Api._typeOffsetOfTypeEnum(); } get aliasForFrida() { switch (this.typeEnum) { case type_enum_1._Il2CppTypeEnum.VOID: return "void"; case type_enum_1._Il2CppTypeEnum.BOOLEAN: return "bool"; case type_enum_1._Il2CppTypeEnum.CHAR: return "char"; case type_enum_1._Il2CppTypeEnum.I1: return "int8"; case type_enum_1._Il2CppTypeEnum.U1: return "uint8"; case type_enum_1._Il2CppTypeEnum.I2: return "int16"; case type_enum_1._Il2CppTypeEnum.U2: return "uint16"; case type_enum_1._Il2CppTypeEnum.I4: return "int32"; case type_enum_1._Il2CppTypeEnum.U4: return "uint32"; case type_enum_1._Il2CppTypeEnum.I8: return "int64"; case type_enum_1._Il2CppTypeEnum.U8: return "uint64"; case type_enum_1._Il2CppTypeEnum.R4: return "float"; case type_enum_1._Il2CppTypeEnum.R8: return "double"; default: return "pointer"; } } get class() { return new class_1._Il2CppClass(api_1.Api._classFromType(this.handle)); } get dataType() { return utils_1.getOrNull(api_1.Api._typeGetDataType(this.handle), _Il2CppType_1); } get genericClass() { return utils_1.getOrNull(api_1.Api._typeGetGenericClass(this.handle), generic_class_1._Il2CppGenericClass); } get isByReference() { return api_1.Api._typeIsByReference(this.handle); } get name() { return api_1.Api._typeGetName(this.handle); } get typeEnum() { return api_1.Api._typeGetTypeEnum(this.handle); } }; __decorate([ decorator_cache_getter_1.cache ], _Il2CppType.prototype, "aliasForFrida", null); __decorate([ decorator_cache_getter_1.cache ], _Il2CppType.prototype, "class", null); __decorate([ decorator_cache_getter_1.cache ], _Il2CppType.prototype, "dataType", null); __decorate([ decorator_cache_getter_1.cache ], _Il2CppType.prototype, "genericClass", null); __decorate([ decorator_cache_getter_1.cache ], _Il2CppType.prototype, "isByReference", null); __decorate([ decorator_cache_getter_1.cache ], _Il2CppType.prototype, "name", null); __decorate([ decorator_cache_getter_1.cache ], _Il2CppType.prototype, "typeEnum", null); __decorate([ decorator_cache_getter_1.cache ], _Il2CppType, "offsetOfTypeEnum", null); _Il2CppType = _Il2CppType_1 = __decorate([ decorators_1.nonNullHandle ], _Il2CppType); exports._Il2CppType = _Il2CppType;