axhlzy / Il2CppHookScripts

frida-based libil2cpp.so runtime parsing script
MIT License
530 stars 167 forks source link

Inquiry about file save function and dump function #29

Closed daeinlee closed 10 months ago

daeinlee commented 1 year ago

hello. Thank you for creating a really great program. The game I'm checking has many classes and functions, so if I use functions like "c() == list_classes", wouldn't it be possible to save the list locally as a file?

Also, if you look at the wiki, you don't see the dump function. Has it disappeared now? The game I'm checking generates an error when using il2cppdumper, so I'm asking if I can use the dump function.

daeinlee commented 1 year ago

ReferenceError: 'showAsm' is not defined! Did I do something wrong?

showasM

axhlzy commented 1 year ago

I don't quite understand what you're trying to express. I just retested using 'showAsm,' and it seemed quite normal.

1699881302146

dump function ? You means "Il2Cpp.dump()" ?

1699881401962 1699881409777

It seems like there are no issues with this function call either.

As for the issue with il2cppdumper not producing output, you can manually search for 'codeRegistration' and 'metadataRegistration.'

daeinlee commented 1 year ago

Thank you for your kind response.

I apologize. I realized that I had not fully understood certain parts. My questions also seemed a bit unorganized, so I have arranged them below.

1. "showAsm" Issue I misunderstood how to use it before. After trying again, I confirmed that "showAsm" works well. Thank you.

2. Query about dump On the wiki (https://github.com/axhlzy/Il2CppHookScripts/wiki/API), clicking on the "dumpSo / dumpMem: dump So / dump mem" item does not lead to a description of dump. Instead, it redirects to the top of the page. Therefore, I was unable to obtain information about dump and am asking about it.

3. Query about Il2Cpp.dump After seeing the example picture you provided, I tried using "Il2Cpp.dump()" but encountered an error as shown in the picture below. Can you help me understand what this error is? (It dumps normally in other games.) As additional information, il2CPPDUMPER also did not dump due to an error, and other dumpers also experienced errors.

4. Saving Function Information as an Alternative to Il2Cpp.dump This part corresponds to the question I asked earlier about "wouldn't it be possible to save the list locally as a file?"

Although Il2Cpp.dumps results in an error, the class and function information obtained using i()/c()/m() seem accurate. Therefore, I plan to save the function information as a file using i()/c()/m() instead of dump. (It might take a long time.) If you have time, I would really appreciate any tips you could provide.

Since my knowledge of programming is limited, there may be some parts of my explanation that are hard to understand. Please consider this. Once again, I thank you for creating such a useful program.

axhlzy commented 1 year ago

-> 2.Query about dump "You mentioned this, and I have already added the hyperlink. (PS: For some more straightforward and simple ones, I didn't show screenshots. Just go directly to the source code and search for globalthis.xxx to quickly check how to use it.)

-> 3. Query about Il2Cpp.dump | 4. Saving Function Information as an Alternative to Il2Cpp.dump If it doesn't work, it might be because the game has encryption processes, or maybe the version of frida-il2cpp-bridge used in this project is too old? You can go to the frida-il2cpp-bridge repository, download its latest source code, compile it to get the JS file, attach it, and then use Il2Cpp.dump. As for simply saving logs, there's another more basic method: use frida -o to redirect the output of the logs." 1699932432464

daeinlee commented 1 year ago

"Ah! Thank you very much for your kind response. I will try to make good use of it.

I have already tried using frida-il2cpp-bridge, but the same issue was occurring. It seems like I will have to complete it by logging during the time I spend searching for the tool."

daeinlee commented 1 year ago

I'm really grateful for your help, "axhlzy". Thanks to you, I was able to obtain the entire list of functions.

However, my goal was to acquire the symbols of all functions in the il2cpp segment, but I only managed to obtain a portion of them (about a quarter). The symbols I did acquire closely match the list obtained through ZygiskDump, confirming that l2cppHooker can be a useful tool for dealing with situations where il2cppdumper does not work (although I haven't verified this with other projects, I suspect it will have a similar effect).

I would like to express my sincere gratitude to the developer for creating such a useful tool. I'm interested in other useful features and plan to use them as wel

axhlzy commented 10 months ago

:blush::blush::blush: