先说一下这个壳(APK见附件):只加固了so,APK没加壳,没有反调试,也没有反hook。APK打开后有个按钮“TEST”,点了之后会加载libsotest.so,然后执行jni对应的函数,函数逻辑就是把Hello World改成TestSO executed
说说做了哪些事情:对抗静态分析:加密源so,隐藏jni入口,在不解密的情况下,没有办法直接通过修改so来修改其中的逻辑。so碎片化加载,修复还原非常困难又耗时。增加动态调试成本:最终的代码加载地址不固定,隐藏elf特征,隐藏jni入口。
还有很多地方可以改进,有兴趣的同学可以研究一下。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课