-
-
[原创]记一次历史悠久的dymas算法的还原过程
-
发表于:
2020-4-17 15:19
5996
-
libcms.so中查找Jni_OnLoad函数,
用frida打印byte_70086的字符串,最后得到e([B)[B的地址为0x208c9, 点进去,并按f5
1、_rbit mas[1]-mas[16], 然后把结果进行反序存放到mas中
2、调用sub_1EB64函数对16为字符进行加密,还原的代码如下:
sub_1EB64 经过了ollvm, 可以在关键块下断点,把结果记录下来,然后根据结果推导出算法,断点的关键块如下:
3:把2的结果,经过case4进行加密,具体算法如下:
4: 把2的结果使用sub_1f6b0函数进行加密, sub_1f6f0算法也是根据动态调试在关键快下断记录过程,然后推到出算法。 其中算法实现为:
10:对3、5、7、9的结果进行异或。
最后对生成的字符串与as的日志相比较, 就能总结出算法。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2020-4-18 12:59
被我只是没人要编辑
,原因: 重新上传图片