Themida-Winlicense3-0 脱壳 修复IAT表
0x1 查壳
发现是Themida-Winlicense3-0以上的壳
0x2过反调试
动调发现有反调试
打开sharpOD64 的 Protect Drx 即可过反调试
成功运行起来
0x3 查找OEP
可以先dump程序,ida分析出oep 然后进入od 下硬件执行断点
0x4 修复IAT表
可以看见许多api被加密过
运行 自写的修复IAT od脚本
可以看见IAT已经修复完成
0x5 再次查壳
发现已经脱掉了
0x6 拉进ida检验
函数都识别出来了
0x7 脚本奉上
VAR OEP
MOV OEP,00A911C0 //输入你的oep地址
VAR temp0
VAR temp1
MOV temp0,00A92FFC //输入IAT表首地址-4
Test:
ADD temp0,4
MOV temp1,[temp0]
CMP temp1,72C00000
JA Test
CMP temp1,0
JE Test
MOV eip,temp1
RTR
MOV [temp0],[esp]
CMP temp0,00A930E0 //输入IAT表结束地址
JAE jmpout
JMP Test
jmpout:
MOV eip,OEP
RET
0x8 总结
脱壳还是老三样
1.过反调试
2.寻找oep
3.修复IAT表
巩固了一下OD脚本的编写,又脱了一个没脱过的壳 芜湖