vfsfitvnm / frida-il2cpp-bridge

A Frida module to dump, trace or hijack any Il2Cpp application at runtime, without needing the global-metadata.dat file.
https://github.com/vfsfitvnm/frida-il2cpp-bridge/wiki
MIT License
946 stars 194 forks source link

ackward compatibility with frida-compile V10.2.4. #303

Closed bcmdy closed 1 year ago

bcmdy commented 1 year ago

Avoid using the "??=" operator to ensure backward compatibility with older versions of frida-compile.

vfsfitvnm commented 1 year ago

Hi! I'm not a fan of backwards compatibility - is there a specific reason why you are still using frida-compile@10.2.4 (a 2 years old release)?

ExternalAddress4401 commented 1 year ago

Somewhat around that time frida compile moved to ESM and along with that broke a lot and became bare boned. I had so so SO much trouble attempting to get newer frida compiles to build my project that I ended up giving up and created a disgusting custom build config for ESbuild.

I totally understand why someone would want to use the old version but @bcmdy might want to look into different tools.

bcmdy commented 1 year ago

If the build generates an _.js file, Il2Cpp commands cannot be recognized and code completion functionality is also disabled.

image

However, everything will return to normal as long as the _.js file is deleted.

image

Finally, I really dislike this type of error message, even though the script itself is executable.

image

Taking everything into consideration, frida-compile version 10.2.4 is the one that I find more comfortable to use.

https://github.com/bcmdy/frida-il2cpp-script-test

350030173 commented 1 year ago

i have the same problem

kosticyn commented 1 year ago

@bcmdy Add "include": ["index.ts"] in your tsconfig.json. And IntelliSense will work.

vfsfitvnm commented 1 year ago

@kosticyn Correct. Alternatively, you could use compilerOptions.allowJs: false or "exclude": ["_.js"]. You guys have a faulty TS config file - my bad for not updating the wiki!

bcmdy commented 1 year ago

If "allowJs": false: image image Therefore, I suggest configuring tsconfig.json as follows: { "compilerOptions": { "target": "esnext", "lib": [ "es2022" ], "experimentalDecorators": true, "module": "esnext", "allowJs": true, "noEmit": true, "esModuleInterop": false, "moduleResolution": "nodenext", "strict": true, "sourceMap": true }, "files": [ "index.ts" ] }

Although it is already functional, I still think that using frida-compile V10.2.4 is better. After all, the javascript files it compiles have no errors and no invalid characters.