能力值:
( LV5,RANK:60 )
|
-
-
2 楼
大致能看明白就是转化成VC就打住。
|
能力值:
( LV5,RANK:60 )
|
-
-
3 楼
idiv ecx
xor eax, edx
主要是
这两句
|
能力值:
( LV5,RANK:60 )
|
-
-
4 楼
求解答idiv除
|
能力值:
( LV7,RANK:110 )
|
-
-
5 楼
00554E71 |. 51 push ecx
00554E72 |. B9 E8030000 mov ecx, 3E8 ;0x3e8 == 1000
00554E77 |. 99 cdq
00554E78 |. F7F9 idiv ecx ; 除以1000 eax/1000
00554E7A |. 59 pop ecx
00554E7B |. 83E8 05 sub eax, 5 ; 减去5 商减去5
00554E7E |. 894424 04 mov dword ptr [esp+4], eax ; [esp+4]=eax
00554E82 |. 8BC3 mov eax, ebx ; eax=ebx
00554E84 |. BB E8030000 mov ebx, 3E8
00554E89 |. 99 cdq
00554E8A |. F7FB idiv ebx ;eax/0x3e8
00554E8C |. 8BDA mov ebx, edx ; edx是余数,余数给ebx
00554E8E |. 8B4424 04 mov eax, dword ptr [esp+4] ; 存到+4的数据给eax,第一次除法的商
00554E92 |. 99 cdq
00554E93 |. 33C2 xor eax, edx ;第一次除法的商和第二次除法的余数异或
00554E95 |. 2BC2 sub eax, edx ;异或结果再减去余数
只有这一段没法写,被除数是未知的。你看看二个被除数分别是什么值。
|
能力值:
( LV5,RANK:60 )
|
-
-
6 楼
eax 是 一个16进制数字
|
能力值:
( LV5,RANK:60 )
|
-
-
7 楼
mov eax,ebx 上一句是这样的,而ebx的值是4C8十进制的1124
|
能力值:
( LV5,RANK:60 )
|
-
-
8 楼
这个值是根据时间动态变化的
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
int nEcx = 0x3E8;
nArg = nEax / nEcx - 5;
nEbx = nEbx % nEcx;
nEax = abs(nArg);
cdq
xor eax, edx
sub eax, edx
这三句是取绝对值。
补充:
idiv是有符号的除法指令。cdq是将eax的符号位扩展到edx,参与运算,在进行逆向的时候不需要翻译成对应的C代码。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
同上....
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
第一列是地址吗?这是指针么??
|
能力值:
( LV5,RANK:60 )
|
-
-
12 楼
感谢各位结贴
|
|
|