其他
初试so文件解密
本文为看雪论坛优秀文章
看雪论坛作者ID:无造
本文为看雪安卓高研2w班(5月班)优秀学员作品。
对于APK的逆向来说,第一步往往就是先完成对App中java代码的脱壳;接下来要做的就是静态的逆向分析或者是结合动态的hook等对运行逻辑进行分析;最后,难度大一些的App往往就会进入到so中的函数当中,安全强度大的App甚至是会再次对so进行加壳。
但不论是dex的脱壳,还是so的脱壳,时机都是非常关键的。时机不对,即使是正确的内存地址偏移,dump得到的smali指令流以及汇编代码都可能是不对的,依然是未解密的字节流。
这道题考察的是对elf文件的结构知识的掌握。
这个App对so中函数进行了保护,在被保护的函数的关键逻辑执行前进行解密,执行结束后会再次对关键逻辑进行加密。
这位学员有着扎实的基本功,才能够快速抓住重点,成功拿下flag。
这里是2W班5月的习题。题目中对一个native函数进行了加密,导致IDA无法看到运行时的代码。
加密方式来自于论坛比较久的帖子ThomasKing大佬的简单粗暴的so加解密实现 。照搬了大佬的代码,然后修改了一下加密方式即可完成解密。
通过本题学习到了so文件的格式解析,基础的加解密思路。
ps. 题目附件请点击“阅读原文”下载。
现在,看雪《安卓高级研修班(网课)》9月班开始招生啦!点击查看详情报名吧~
解题过程
看雪ID:无造
https://bbs.pediy.com/user-571058.htm
*本文由看雪论坛 无造 原创,转载请注明来自看雪社区。
推荐文章++++
好书推荐