能力值:
( LV4,RANK:50 )
|
-
-
2 楼
同一个模块里的不同函数,他的模块基址肯定一样的
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
你指的同一模块是否就是 kernel32.dll 这个整体,还是 kernel32.dll 又分为几大模块组成,然后几大模块下面又有很多不同函数组成?
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
我在分析 nooby 的 tmd_iat.osc 脚本时发现
mov tmdbase, 9C0000 //OEP
gpa "ExitThread","kernel32.dll"
gmi $RESULT, MODULEBASE
mov kernel32base, $RESULT
...
mov tmp, tmdbase
findaddr:
find tmp, kernel32base //在OEP地址处查找 kernel32.dll :: call
cmp $RESULT, 0
je findmagic //循环中若无法查到则跳到 findmagic
mov tmp, $RESULT //查到的地址给 tmp
bphws tmp, "r" //tmp 设 读取硬件断点
inc tmp //tmp加一
jmp findaddr //循环查询
------------------------------------------------------------------------
现在就出现这样的情况: tmd 2.0.9.0和2.1.0.0 版本的 OEP 区段(这个区段已经跳过原伪装EP) 中没有查到 kernel32.dll :: call
这是一处关键,如果找不到就无法设置硬件断点,那么一旦shift+f9 就直接运行程序了
|
|
|