-
-
[原创]初试IDA&FRIDA联合调试简单ollvm保护的加密函数源码
-
发表于:
2020-7-13 12:03
13639
-
[原创]初试IDA&FRIDA联合调试简单ollvm保护的加密函数源码
这是3W班5月的习题。题目要求是 e函数需要逆向出源码。yang老师本意应该是训练下trace的汇编代码阅读能力,但是由于ollvm混淆开的比较低,所以IDA的反汇编代码也是可以阅读,当时偷懒就没有专心去阅读trace了。
通过本题初次尝试了还原so文件代码,在没有开太多混淆的情况下还是可以使用IDA配合frida还原,像之前3月题目混淆开的高一点这种方式就要搞死掉了。
还原代码
解题思路
本来想使用IDA Trace,拿到日志后,没有直接定位到计算的地方,所以整个还原是使用IDA动态调试和Frida来完成的。
步骤1:查看函数e

函数e中直接使用了sub_1500C,传入v42就是bytes数组,v41就是我们返回的秘钥
使用Frida可验证,这里返回值存储的位置需要注意。
步骤2:查看sub_1500C

sub_1500C中计算了加密字符串长度,然后引入了新字符串f8bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4K6t1$3j5h3#2H3i4K6y4n7K9$3q4F1P5s2g2W2i4@1f1K6i4K6R3H3i4K6R3J5i4@1f1@1i4@1t1&6i4K6S2n7i4@1f1#2i4K6V1H3i4K6S2q4i4@1f1%4i4K6W2n7i4@1t1@1i4@1f1$3i4K6S2q4i4@1p5#2i4@1f1^5i4@1t1H3i4K6R3K6i4@1f1%4i4K6V1@1i4@1p5^5M7%4g2T1i4K6g2X3x3e0y4o6c8e0c8Q4c8e0S2Q4b7f1g2Q4b7e0q4Q4c8e0N6Q4b7f1g2Q4z5e0N6Q4c8e0g2Q4z5p5q4Q4b7e0m8Q4c8e0g2Q4b7f1k6Q4z5o6k6Q4c8e0y4Q4z5o6m8Q4z5o6t1`.
参数列表
x0 字符串pediy_imyang_abcdefghij
x1 字符串长度
[培训]科锐逆向工程师培训第53期2025年7月8日开班!
最后于 2020-7-13 13:33
被无造编辑
,原因: