VS2005里面有没有取函数首尾地址的宏,或者其他方法也行
比如汇编里面有个CODE_START equ this byte
首尾加一个,然后相减取取函数长
vs里面有没有类似的方法 本帖最后由 bianfeng 于 2010-7-28 07:51 编辑
取尾地址用内联汇编自定位看看吧
int End;
int Start;
__asm
{
call $+5
pop
add ,5 究竟是+5还是加多少取决于add ,5指令的长度
}
XXXXX
XXXXX
XXXXX
__asm
{
call $+5
pop
sub ,5
}
只适用于函数内,最笨的方法,呵呵。 你说这方法跟我前天晚上睡觉时候想得一模一样
发帖的时候忘说还有没有其他的 首地址应该很直接吧,直接用函数名啊
尾地址要用其他方法了 结帖了,一楼的是个方法就结给他吧 刚发出去悬赏80UB,现在在终于收回点成本了:lol 取函数尾地址有什么用呢?
我觉得,相对来说首地址很明确,就是函数被Call的地址(函数名、函数入口),但是尾地址就不明确了,高级语言里,除非这个函数的是顺序执行的,没有任何分支或循环,否则这个函数的最后一条语句在编译成机器指令后其所在的地址却未必是这个函数体的最高地址,而如果以这个函数出口指令作为函数结束标志也不成,因为一个函数可以有多条Ret指令的。 取函数尾地址有什么用呢?
我觉得,相对来说首地址很明确,就是函数被Call的地址(函数名、函数入口),但 ...
zyyuser 发表于 2010-8-7 22:48 http://www.unpack.cn/images/common/back.gif
把整个函数取出,加密或清除,或者猥琐,虚拟化 学习了。我是新人
页:
[1]