首页
社区
课程
招聘
[原创]初试IDA&FRIDA联合调试简单ollvm保护的加密函数源码
发表于: 2020-7-13 12:03 13639

[原创]初试IDA&FRIDA联合调试简单ollvm保护的加密函数源码

2020-7-13 12:03
13639


    这是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 被无造编辑 ,原因:
上传的附件:
收藏
免费 10
支持
分享
最新回复 (8)
雪    币: 20054
活跃值: (4974)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2020-7-14 07:29
0
雪    币: 217
活跃值: (2568)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢分享经验
2020-7-14 23:15
0
雪    币: 529
活跃值: (1040)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享!
2020-7-15 08:36
0
雪    币: 176
活跃值: (6596)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
ollvm混淆强度不是很强的时候,可以通过ida静态分析参数的交叉引用和返回值的来源,定位到与参数相关的函数,然后使用frida hook这些函数,定位到处理参数或生成返回结果的关键函数。
但是ollvm混淆强度比较强的时候,还是需要用到3月学习的trace方法来分析出参数被加密算法计算的过程。
2020-7-16 17:04
1
雪    币: 1240
活跃值: (2176)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
大佬,步骤1,查看1500C函数的返回值时,为什么不能hexdump(this.args0),还要偏移后才能得到结果
2020-7-17 14:58
0
雪    币: 119
活跃值: (1327)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
您好,请问,ida trace下完断点后的时候frida就无法主动调用了,查询资料说是ptrace被占用了,但是视频为什么是成功的???很迷惑!
2022-3-29 22:44
0
雪    币: 162
活跃值: (1054)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
mb_emolffos 您好,请问,ida trace下完断点后的时候frida就无法主动调用了,查询资料说是ptrace被占用了,但是视频为什么是成功的???很迷惑!
frida要先hook,hook后就不占坑了,后面再ida持续占坑
2022-6-22 00:33
0
雪    币: 119
活跃值: (1327)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
骇客技术 frida要先hook,hook后就不占坑了,后面再ida持续占坑
如果frida先hook,然后再利用ida trace会发现原来的地址偏移全部都改变了(frida hook打印的地址不能能用了,不知道为啥)。。。。
2022-11-14 09:22
0
游客
登录 | 注册 方可回帖
返回