能力值:
( LV2,RANK:10 )
|
-
-
2 楼
不知道 对不对 首先有符号数除法是向下取整的,比如5/2 为 2 ,假如负数的话,向下取整 -5/2 为-3,其实我们应该想要的是-2 所以加了1
|
能力值:
( LV13,RANK:385 )
|
-
-
3 楼
如果只是还原 直接 2^33 / 780903145 (2E8BA2E9) 向上取整. 如果追究原理看下<<C++ 反汇编与逆向分析技术揭秘.>> 最后的add edx,ecx 其实是调整符号位. 上面通过计算之后,如果结果是负数 那么 add edx,ecx ecx = 1 edx = 负数 相当于是 负数+1 如果不是负数的话.那么ecx = 0. edx = 0 add edx,ecx 就等于什么也没做. 算是一个调整吧. 具体看下上面推荐的那本书吧.
|
|
|