其他
记使用Trace还原ollvm混淆的函数
本文为看雪论坛优秀文章
看雪论坛作者ID:neilwu
一、前言
1、题目
https://bbs.pediy.com/thread-260655.htm
2、这篇帖子你会看到什么
3、IDA trace功能
(1)Instruction tracing
https://www.hex-rays.com/products/ida/support/idadoc/1446.shtml
(2)Basic block tracing
https://www.hex-rays.com/products/ida/support/idadoc/1628.shtml
(3)Function tracing
https://www.hex-rays.com/products/ida/support/idadoc/1447.shtml
二、还原ollvm混淆函数过程
1、对应到还原函数 sub_13CE4
2、通过frida进行函数调用
function call_13CE4() {
var base_xxx = Module.findBaseAddress("libnative-lib.so")
if(base_xxx){
var addr_13CE4 = base_xxx.add(0x13CE4)
console.log("0x13CE4 :", addr_13CE4)
var sub_13CE4 = new NativeFunction(addr_13CE4, "void", ["pointer", "int", "pointer", "int", "pointer"])
var input1_str = "pediy_imyang_lXcaTALmow"
var input1_buffer = Memory.allocUtf8String(input1_str)
var input2_str = "www.pediy.com&kanxue"
var input2_buffer = Memory.allocUtf8String(input2_str)
var result = Memory.alloc(0x26);// 38
console.log("input1_str len ", input1_str.length)
console.log("input2_str len ", input2_str.length)
sub_13CE4(input1_buffer,input1_str.length,input2_buffer,input2_str.length,result)
console.log(hexdump(result, {length: result.length}))
}
}
参数1 pediy_imyang_lXcaTALmow
参数2 23
参数3 www.pediy.com&kanxue
参数4 20
参数5 结果地址
79 79 03 09 00 01 a4 b8 b6 c8 9e b4 7f 4f 29 b4 4d 47 c7 38 2f 85 1a d5 76 18 f9 b8 20 c5 d5 52 98 cb 5f 94 1c 8c
3、在0x13CE4和函数结束的位置0x下断点,trace出来函数中汇编
4、分析trace文件
(1)分析参数1
(2)分析参数3
这里的处理和参数1处理的方式相同:
(3)结果生成
图一
图二
图三
图四
A4B8B6C8 9EB47F4F 29B44D47 C7382F85
514d43f9 b6cff93c b6ef9f85 cf506afb ef208329 3ca8f563 63636363 63636363
f5f5f531 514d43f9 b631fba8 3cf77fef f5f5f531 514d43f9 b631fba8 3cf77fef
循环8次
参数1加密后字节会随着循环次进行变化
0次 514d43f9 -> 514d43f9
1次 b6cff93c -> cff93cb6
2次 b6ef9f85 -> 9f85b6ef
3次 cf506afb -> fbcf506a
....
这是有规律的根据循环进行的变化
在第1次和第5次的时候
参数1加密后字节只是做的了变形 未参加加密
参数3加密字节与常量0x0000000068DE32AA进行了加密
其他循环中都是参数1加密后字节与参数3加密字节进行加密操作
X8 = 0x00000000f5f5f531
X9 = 0x0000000514d43f9
W11 = X8 & (X8^X9)
w8 = X9&(X9^X8)
w8 = 0xa4b8b6c8
三、总结
看雪ID:neilwu
https://bbs.pediy.com/user-home-590753.htm
*本文由看雪论坛 neilwu 原创,转载请注明来自看雪社区。
本文参与了#看雪30天发帖打卡挑战#活动。
发帖见证成长,坚持见证不凡。
不仅可以收获进步,还可赢取物质奖励哦!
想要了解更多活动详情,戳 ↓
推荐文章++++
求分享
求点赞
求在看