能力值:
( LV2,RANK:10 )
|
-
-
51 楼
那么如何根据编译器给出的这个常量值推算出除数呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
52 楼
前边都说了啊
这个数=2^33/被除数+1
所以被除数等于2^33/(这个数-1)
不过除以有2的倍数因子的数时候,后边会跟shr edx,xx一类的指令或者mov xxx,edx
shr xxx,xx
比如除以72
会先除以9,再把商右移3次
|
能力值:
( LV2,RANK:10 )
|
-
-
53 楼
这个贴子看了四遍了,还保存为WORD文档。哈哈
|
能力值:
( LV2,RANK:10 )
|
-
-
54 楼
太厉害了!佩服!
|
能力值:
( LV2,RANK:10 )
|
-
-
55 楼
厉害,学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
56 楼
最后一句没理解到。为什么负数要把结果+1呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
57 楼
很好,学到东西了,虽然这个知识暂时使用不上
|
能力值:
( LV4,RANK:50 )
|
-
-
58 楼
拜帖~~~~~
|
能力值:
( LV3,RANK:20 )
|
-
-
59 楼
说的好,我在调试notepad2透明属性的时候就碰到这个东西,来到这里才知道这个魔数, 。
0040A162 |. 85C0 test eax,eax
0040A164 |. 7C 05 jl short Notepad2.0040A16B
0040A166 |. 83F8 64 cmp eax,64
0040A169 |. 7E 05 jle short Notepad2.0040A170
0040A16B |> B8 4B000000 mov eax,4B
0040A170 |> 69C0 FF000000 imul eax,eax,0FF
0040A176 |. 8BC8 mov ecx,eax
0040A178 |. B8 1F85EB51 mov eax,51EB851F
0040A17D |. F7E9 imul ecx
0040A17F |. C1FA 05 sar edx,5
0040A182 |. 8BC2 mov eax,edx
0040A184 |. C1E8 1F shr eax,1F
0040A187 |. 03D0 add edx,eax
0040A189 |. 6A 02 push 2
0040A18B |. 0FB6CA movzx ecx,dl
0040A18E |. 51 push ecx ; 透明度
0040A18F |. 6A 00 push 0
0040A191 |. 56 push esi ; notepad2句柄
0040A192 |. FFD7 call edi ; user32.SetLayeredWindowAttributes
|
能力值:
( LV2,RANK:10 )
|
-
-
60 楼
很经典的东西,希望更新到snowman的解码模块就好了,脱离IDA F5
|
能力值:
( LV2,RANK:10 )
|
-
-
61 楼
屌,readyu一定是经常反汇编自己的程序看得来的经验。
|
|
|