能力值:
( LV5,RANK:60 )
|
-
-
2 楼
右击转到上一个,程序中插入
_asm _emit 0xcc
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
你误会了
我的意思是 当你用OD调试一个程序时
在某个函数的头部
会看到OD有提示
说XXXXXXXX XXXXXXXX ...调用了这个函数
我想知道OD是怎么获取这个信息的
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
继续求思路,先谢谢了
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
因为会有代码CALL XXXXX 就是调用这个函数喽
OD按CTRL+A分析的时候就会得到这些地方,就知道喽
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
比如说:
00001000 CALL 00040024 //这是调用函数
....
....
....
00040024 pop ... //这是函数
这样有几处调用就知道了. 是根据地址分析的
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
那 CALL EAX 这样的指令怎么办 忽略?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
call 寄存器和call指针都是无法分析的,你看到的xx调用了此处都是静态calk
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
谢谢大家 最后顶一次 没其他答案就结帖了
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
学习中。。。
|
能力值:
( LV4,RANK:50 )
|
-
-
11 楼
正常用高级语言写的程序, 函数在运行时都有固定位置, 所以一般不会出现call eax的情况
如果内嵌了asm除外.
试想下,某处调用函数是变化的,那设计者到底要实现什么功能呢? 函数指针到是有可能.
一般来说,调用函数是为了实现一个功能,而功能是确定的,函数的位置也是确定的
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
对象中的函数都是不定位置的
|
|
|