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
1.06k stars 205 forks source link

iOS Tester #44

Closed busmanl30 closed 3 years ago

busmanl30 commented 3 years ago

Hey, I’m willing to try this for iOS and work with you so this script can be universal, do you have any outside contacts, you can add me on discord busmanl30#3931 thank you

vfsfitvnm commented 3 years ago

Hi, thanks for the interest, however ios is already supported (https://github.com/vfsfitvnm/frida-il2cpp-bridge/commit/fbd96e7ec9b364b7d4bb4c1e019b25edaf4ebf58)...

busmanl30 commented 3 years ago

Just looked at Code an not all games have a unity framework, sometimes it’s just in the built in binary itself

busmanl30 commented 3 years ago

Also another thing, can this dump a globalmeta from memory?

vfsfitvnm commented 3 years ago

Just looked at Code an not all games have a unity framework, sometimes it’s just in the built in binary itself

I actually check that here: https://github.com/vfsfitvnm/frida-il2cpp-bridge/blob/master/src/il2cpp/base.ts#L60

Also another thing, can this dump a globalmeta from memory?

No, kind of useless

busmanl30 commented 3 years ago

Oh because sometimes I prefer having an Ida script ajd with that most of the time when I use il2cppdunoer I can get the static pointers of a class and it would be ClassName__TypeInfo

vfsfitvnm commented 3 years ago

Relying on stock typedefs will lead to problems. It's just so easy to modify them (e.g adding or swapping fields), vendors will start doing so more frequently. That's why I had to find alternative ways to retrieve some important data. I don't want to deal with global-metadata for the same reason. It's too easy to mess it up, even once it's deobfuscated, decrypted, etc.

However, I have a similar thing on my roadmap that will improve static analysis (https://github.com/vfsfitvnm/frida-il2cpp-bridge/commit/7a666dc93b6d85ca45c15b1a761870fd4ade237d). Screenshot_20211019_105001

busmanl30 commented 3 years ago

I mean it wasn’t what I meant, I use a static pointer so i I don’t need to hook, which in iOS can sometimes be detected so I find a static route and just create a thread, this way it works on non jailbroken devices too since hooking isn’t possible without a jailbreak, I’ll show you what I’m talking about when I’m home

vfsfitvnm commented 3 years ago

Closing because of no updates