-
-
[求助]IAT的修复问题
-
发表于:
2007-11-8 20:17
3488
-
▲ 目标经Armadillo保护
保护系统授权等级(专业版)
【程序所使用保护模式】
标准保护 或 最小保护模式
使用 输入表乱序 程序保护模式
使用 策略代码衔接 程序保护模式
【备份密钥设置】
固定的备份密钥
【程序压缩设置】
最好/最慢地压缩方式
【其它保护设置】
▲ 版本号 4.40
1.找到OEP-->第一个call 处F7步入-->又是call,F8到下一个call再F7步入,进到以下地址:
00406A4C - FF25 8437D800 JMP DWORD PTR DS:[D83784]
; kernel32.GetModuleHandleA
// 取此调用函数的地址 D83784
00406A52 8BC0 MOV EAX,EAX
00406A54 - FF25 6C37D800 JMP DWORD PTR DS:[D8376C]
; kernel32.LocalAlloc
2.OD转存区,CTRL+G,弹出输入框,选VA/API项,输入0D83784:
00D83778 00C1746A
00D8377C 77C42378 GDI32.CreateBitmap
00D83780 77D16A5F USER32.EnumWindows
00D83784 77E5AD86 kernel32.GetModuleHandleA // 直接找到这个地址
00D83788 77D17964 USER32.IsZoomed
00D8378C 00C1746C
上翻下翻后确定IAT开始地址为00D83778,结束地址为00D8378C,得出RVA和SIZE(好小啊,才14),可填进Import Fix(包括OEP),自动找IAT,什么有用信息都没找到,获取输入表,又说无法读取此进程内存?!
请教为什么不能用Import Fix自动找IAT呢,而我换了几个函数调用来确定IAT,SIZE都好小,填进Import Fix都是说无法读取此进程内存?!
我看过很多大大们的教程如何破这种标准壳,可每篇教程都是最后直接用Import Fix自动找IAT,我的却总找不到,输入RVA和SIZE也还是不行。。。。而且用ArmInline修复了也不行。。。。
请教是我哪步做错了呢?还是少做了或多做了哪步?
感谢大大们,先谢了!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)