先说一下这个壳(APK见附件):只加固了so,APK没加壳,没有反调试,也没有反hook。APK打开后有个按钮“TEST”,点了之后会加载libsotest.so,然后执行jni对应的函数,函数逻辑就是把Hello World改成TestSO executed
说说做了哪些事情:对抗静态分析:加密源so,隐藏jni入口,在不解密的情况下,没有办法直接通过修改so来修改其中的逻辑。so碎片化加载,修复还原非常困难又耗时。增加动态调试成本:最终的代码加载地址不固定,隐藏elf特征,隐藏jni入口。
还有很多地方可以改进,有兴趣的同学可以研究一下。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)