能力值:
( LV2,RANK:10 )
|
-
-
2 楼
Decode2Asm 中 nIndex返回的是机器码指令的大小, nLen 获取是机器码的总长度也就是Decode结构体的大小, 如果获取到的nIndex的长度大于结构体大小,那么解析就会出现问题。
pCode + nIndex - szAsmData ;pCode = pCode + nIndex 循环中 而szAsmData 值没变等于 这样 pCode + nIndex - szAsmData 在下次的时候就等于 pCode + nIndex + nIndex - szAsmData ,因为pCode 大于szAsmData 所以 这个结果肯定是大于2*nIndex的。你再拿这个值去判断的话 就大于了结构体的大小,Decode2Asm就无法解析了 不知道我分析的对不对 ,你可以测试下!这些代码是公开的源代码,应该是借鉴的,并不是作者写的!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
这个我试过,原来的代码确实无法正确执行,会无限执行下去,程序我运行过,你试一下吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
原来的代码确实无法正确执行,会无限执行下去,程序我也运行过了。。
|
|
|