什么是安卓SO文件

关于SO的动态注册在这里补上一篇科普贴

so文件是unix(一个系统的名字)的动态连接库,是二进制文件,作用相当于windows下的.dll文件。
补充:
在Android中调用动态库文件(*.so)都是通过jni的方式。
Android中加载so文件的提供的API:
void System.load(String pathName);
说明:pathName:文件名+文件路径;

也就是说Java层的代码太容易被逆向或者破解了,由于一些底层的算法,
比如说账号登陆的算法,不想被外界看到就需要这种底层的SO文件,在SO层内部对密码进行加密,
然后对内外都留有接口,方便SO层跟Java层之间互相通信,或者是互相调用。

我们导入一个SO文件到IDA进行查看

(1)Exports窗口是导出表(方便Java层能调用SO层的函数)
(2)Imports窗口是导入表(方便SO层调用Java层的函数)

IDA界面

小贴士:如果找不到IDA里面看不到这两个窗口的话

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容