(start_pb, start_log, start_lua, start_hotfix, target)
| 54 | } |
| 55 | |
| 56 | function il2cpp_init(start_pb, start_log, start_lua, start_hotfix, target) { |
| 57 | if (start_lua || start_hotfix) { |
| 58 | const android_dlopen_ext = Module.findExportByName(null, "android_dlopen_ext"); |
| 59 | if (android_dlopen_ext != null) { |
| 60 | const dlopen = Interceptor.attach(android_dlopen_ext, { |
| 61 | onLeave: function (retval) { |
| 62 | module_xlua = Process.findModuleByName(constants.xlua_so); |
| 63 | if (module_xlua != null) { |
| 64 | dlopen.detach() |
| 65 | if (start_hotfix) { |
| 66 | lua_hotfix.hotfix_lua(target, module_xlua) |
| 67 | } else { |
| 68 | lua_dump.dump_lua(target, module_xlua,"unity_dump_lua_exist") |
| 69 | } |
| 70 | } |
| 71 | } |
| 72 | }); |
| 73 | } |
| 74 | } |
| 75 | while (module_il2cpp == null) { |
| 76 | module_il2cpp = Process.findModuleByName(constants.il2cpp_so); |
| 77 | } |
| 78 | attach_il2cpp(start_pb, start_log) |
| 79 | } |
| 80 | |
| 81 | function attach_il2cpp(start_pb, start_log) { |
| 82 | while (init_export == null) { |
nothing calls this directly
no test coverage detected