kotori2/riru_unity_example

Symbol name pattern of do_dlopen

Closed this issue · 8 comments

Hello,
I have successfully hooked some certain games using your illustrious repo, they all work like a charm, you have my many thanks!
As a consequence, I decided to dig into it deeper to find out how it works and have understood most of them except one point:

void* loader_dlopen = DobbySymbolResolver(nullptr, "__dl__Z9do_dlopenPKciPK17android_dlextinfoPKv");

What confuses me is, where did you get this symbol name pattern exactly?
I have looked into libdl.so as well as searching a bunch of references but got nothing at the end.
I wonder if you don't mind giving me a hint, thanks.

That exactly is it. But where do those weird suffix and prefixes come from?

That exactly is it. But where do those weird suffix and prefixes come from?

https://en.wikipedia.org/wiki/Name_mangling

我超 我是不是上个月看过你博客(x

草,大佬为什么会看我的博客(

That exactly is it. But where do those weird suffix and prefixes come from?

https://en.wikipedia.org/wiki/Name_mangling

我一开始也想到会不会是编译的时候有混淆,所以试着把libdl.so反编译出来看了下,然而发现里面的符号是纯净的。

啊我明白了,在bin/linker64里面

我一开始也想到会不会是编译的时候有混淆

只是因为C++的符号导出的时候需要一个类似转义的操作而已啦……

草,大佬为什么会看我的博客(

之前拆IP来着(

撞上盲点了,光想着动态链接库,忘了还有可执行文件(
问题解决,感谢!