首页
社区
课程
招聘
[求助]变形 Md5 求助 (自己已经解决)
发表于: 2005-9-13 10:35 4389

[求助]变形 Md5 求助 (自己已经解决)

2005-9-13 10:35
4389
Md5也能这样玩?这个仅仅是算法的一部分,我看不是标准的MD5,动态修改Md5的4个常数?请路过的高人指点一下模型,先谢了。

006650D8   /$  55           push ebp
006650D9   |.  8BEC         mov ebp,esp
006650DB   |.  53           push ebx
006650DC   |.  56           push esi
006650DD   |.  8B5D 08      mov ebx,[arg.1]
006650E0   |.  33D2         xor edx,edx
006650E2   |.  8D43 44      lea eax,dword ptr ds:[ebx+44]
006650E5   |>  8B08         /mov ecx,dword ptr ds:[eax]
006650E7   |.  8948 10      |mov dword ptr ds:[eax+10],ecx
006650EA   |.  42           |inc edx
006650EB   |.  83C0 04      |add eax,4
006650EE   |.  83FA 04      |cmp edx,4
006650F1   |.^ 7C F2        \jl short Temp.006650E5                     ;  MD5的4个常数
006650F3   |.  33F6         xor esi,esi                                     ;  i=0
006650F5   |>  8BC6         /mov eax,esi
006650F7   |.  83E0 03      |and eax,3
006650FA   |.  83E8 01      |sub eax,1                                      ;  Switch (cases 0..3)
006650FD   |.  72 0A        |jb short Temp.00665109
006650FF   |.  74 27        |je short Temp.00665128
00665101   |.  48           |dec eax
00665102   |.  74 43        |je short Temp.00665147
00665104   |.  48           |dec eax
00665105   |.  74 5F        |je short Temp.00665166
00665107   |.  EB 7A        |jmp short Temp.00665183
00665109   |>  56           |push esi                                       ; /Arg6; Case 0 of switch 006650FA
0066510A   |.  8B53 60      |mov edx,dword ptr ds:[ebx+60]                  ; |
0066510D   |.  52           |push edx                                       ; |Arg5
0066510E   |.  8B4B 5C      |mov ecx,dword ptr ds:[ebx+5C]                  ; |
00665111   |.  51           |push ecx                                       ; |Arg4
00665112   |.  8B43 58      |mov eax,dword ptr ds:[ebx+58]                  ; |
00665115   |.  50           |push eax                                       ; |Arg3
00665116   |.  8B53 54      |mov edx,dword ptr ds:[ebx+54]                  ; |
00665119   |.  52           |push edx                                       ; |Arg2
0066511A   |.  53           |push ebx                                       ; |Arg1
0066511B   |.  E8 84000000  |call Temp.006651A4                         ; \Temp.006651A4
00665120   |.  83C4 18      |add esp,18
00665123   |.  8943 54      |mov dword ptr ds:[ebx+54],eax
00665126   |.  EB 5B        |jmp short Temp.00665183
00665128   |>  56           |push esi                                       ; /Arg6; Case 1 of switch 006650FA
00665129   |.  8B4B 5C      |mov ecx,dword ptr ds:[ebx+5C]                  ; |
0066512C   |.  51           |push ecx                                       ; |Arg5
0066512D   |.  8B43 58      |mov eax,dword ptr ds:[ebx+58]                  ; |
00665130   |.  50           |push eax                                       ; |Arg4
00665131   |.  8B53 54      |mov edx,dword ptr ds:[ebx+54]                  ; |
00665134   |.  52           |push edx                                       ; |Arg3
00665135   |.  8B4B 60      |mov ecx,dword ptr ds:[ebx+60]                  ; |
00665138   |.  51           |push ecx                                       ; |Arg2
00665139   |.  53           |push ebx                                       ; |Arg1
0066513A   |.  E8 65000000  |call Temp.006651A4                         ; \Temp.006651A4
0066513F   |.  83C4 18      |add esp,18
00665142   |.  8943 60      |mov dword ptr ds:[ebx+60],eax
00665145   |.  EB 3C        |jmp short Temp.00665183
00665147   |>  56           |push esi                                       ; /Arg6; Case 2 of switch 006650FA
00665148   |.  8B43 58      |mov eax,dword ptr ds:[ebx+58]                  ; |
0066514B   |.  50           |push eax                                       ; |Arg5
0066514C   |.  8B53 54      |mov edx,dword ptr ds:[ebx+54]                  ; |
0066514F   |.  52           |push edx                                       ; |Arg4
00665150   |.  8B4B 60      |mov ecx,dword ptr ds:[ebx+60]                  ; |
00665153   |.  51           |push ecx                                       ; |Arg3
00665154   |.  8B43 5C      |mov eax,dword ptr ds:[ebx+5C]                  ; |
00665157   |.  50           |push eax                                       ; |Arg2
00665158   |.  53           |push ebx                                       ; |Arg1
00665159   |.  E8 46000000  |call Temp.006651A4                         ; \Temp.006651A4
0066515E   |.  83C4 18      |add esp,18
00665161   |.  8943 5C      |mov dword ptr ds:[ebx+5C],eax
00665164   |.  EB 1D        |jmp short Temp.00665183
00665166   |>  56           |push esi                                       ; /Arg6; Case 3 of switch 006650FA
00665167   |.  8B53 54      |mov edx,dword ptr ds:[ebx+54]                  ; |
0066516A   |.  52           |push edx                                       ; |Arg5
0066516B   |.  8B4B 60      |mov ecx,dword ptr ds:[ebx+60]                  ; |
0066516E   |.  51           |push ecx                                       ; |Arg4
0066516F   |.  8B43 5C      |mov eax,dword ptr ds:[ebx+5C]                  ; |
00665172   |.  50           |push eax                                       ; |Arg3
00665173   |.  8B53 58      |mov edx,dword ptr ds:[ebx+58]                  ; |
00665176   |.  52           |push edx                                       ; |Arg2
00665177   |.  53           |push ebx                                       ; |Arg1
00665178   |.  E8 27000000  |call Temp.006651A4                         ; \Temp.006651A4
0066517D   |.  83C4 18      |add esp,18
00665180   |.  8943 58      |mov dword ptr ds:[ebx+58],eax
00665183   |>  46           |inc esi                                        ;  Default case of switch 006650FA
00665184   |.  83FE 40      |cmp esi,40
00665187   |.^ 0F8C 68FFFFF>\jl Temp.006650F5
0066518D   |.  33D2         xor edx,edx
0066518F   |.  8D43 54      lea eax,dword ptr ds:[ebx+54]
00665192   |>  8B08         mov ecx,dword ptr ds:[eax]
00665194   |.  0148 F0      add dword ptr ds:[eax-10],ecx
00665197   |.  42           inc edx
00665198   |.  83C0 04      add eax,4
0066519B   |.  83FA 04      cmp edx,4
0066519E   |.^ 7C F2        jl short Temp.00665192
006651A0   |.  5E           pop esi
006651A1   |.  5B           pop ebx
006651A2   |.  5D           pop ebp
006651A3   \.  C3           retn

006651A4   /$  55           push ebp
006651A5   |.  8BEC         mov ebp,esp
006651A7   |.  51           push ecx
006651A8   |.  53           push ebx
006651A9   |.  56           push esi
006651AA   |.  8B45 1C      mov eax,[arg.6]
006651AD   |.  8B5D 18      mov ebx,[arg.5]
006651B0   |.  8B4D 08      mov ecx,[arg.1]
006651B3   |.  8BD0         mov edx,eax
006651B5   |.  C1FA 04      sar edx,4
006651B8   |.  8BF2         mov esi,edx
006651BA   |.  83EE 01      sub esi,1                                       ;  Switch (cases 0..3)
006651BD   |.  72 0A        jb short Temp.006651C9
006651BF   |.  74 27        je short Temp.006651E8
006651C1   |.  4E           dec esi
006651C2   |.  74 44        je short Temp.00665208
006651C4   |.  4E           dec esi
006651C5   |.  74 5B        je short Temp.00665222
006651C7   |.  EB 7A        jmp short Temp.00665243
006651C9   |>  8BF0         mov esi,eax                                     ;  Case 0 of switch 006651BA
006651CB   |.  83E6 0F      and esi,0F
006651CE   |.  8B4CB1 04    mov ecx,dword ptr ds:[ecx+esi*4+4]
006651D2   |.  8B75 10      mov esi,[arg.3]
006651D5   |.  F7D6         not esi
006651D7   |.  23DE         and ebx,esi
006651D9   |.  03CB         add ecx,ebx
006651DB   |.  8B5D 10      mov ebx,[arg.3]
006651DE   |.  235D 14      and ebx,[arg.4]
006651E1   |.  0BCB         or ecx,ebx
006651E3   |.  014D 0C      add [arg.2],ecx
006651E6   |.  EB 5B        jmp short Temp.00665243
006651E8   |>  8D3480       lea esi,dword ptr ds:[eax+eax*4]                ;  Case 1 of switch 006651BA
006651EB   |.  83C6 B1      add esi,-4F
006651EE   |.  83E6 0F      and esi,0F
006651F1   |.  8B4CB1 04    mov ecx,dword ptr ds:[ecx+esi*4+4]
006651F5   |.  8BF3         mov esi,ebx
006651F7   |.  F7D6         not esi
006651F9   |.  2375 14      and esi,[arg.4]
006651FC   |.  235D 10      and ebx,[arg.3]
006651FF   |.  03CE         add ecx,esi
00665201   |.  0BCB         or ecx,ebx
00665203   |.  014D 0C      add [arg.2],ecx
00665206   |.  EB 3B        jmp short Temp.00665243
00665208   |>  8D3440       lea esi,dword ptr ds:[eax+eax*2]                ;  Case 2 of switch 006651BA
0066520B   |.  83C6 A5      add esi,-5B
0066520E   |.  83E6 0F      and esi,0F
00665211   |.  035CB1 04    add ebx,dword ptr ds:[ecx+esi*4+4]
00665215   |.  8B4D 10      mov ecx,[arg.3]
00665218   |.  334D 14      xor ecx,[arg.4]
0066521B   |.  33D9         xor ebx,ecx
0066521D   |.  015D 0C      add [arg.2],ebx
00665220   |.  EB 21        jmp short Temp.00665243
00665222   |>  8BF0         mov esi,eax                                     ;  Case 3 of switch 006651BA
00665224   |.  C1E6 03      shl esi,3
00665227   |.  2BF0         sub esi,eax
00665229   |.  81C6 B0FEFFF>add esi,-150
0066522F   |.  83E6 0F      and esi,0F
00665232   |.  F7D3         not ebx
00665234   |.  235D 10      and ebx,[arg.3]
00665237   |.  8B4CB1 04    mov ecx,dword ptr ds:[ecx+esi*4+4]
0066523B   |.  03CB         add ecx,ebx
0066523D   |.  334D 14      xor ecx,[arg.4]
00665240   |.  014D 0C      add [arg.2],ecx
00665243   |>  8D1490       lea edx,dword ptr ds:[eax+edx*4]                ;  Default case of switch 006651BA
00665246   |.  8B0485 8CE56>mov eax,dword ptr ds:[eax*4+67E58C]
0066524D   |.  83E2 03      and edx,3
00665250   |.  33DB         xor ebx,ebx
00665252   |.  0345 0C      add eax,[arg.2]
00665255   |.  8A9A 8CE6670>mov bl,byte ptr ds:[edx+67E68C]
0066525B   |.  8945 FC      mov [local.1],eax
0066525E   |.  8BCB         mov ecx,ebx
00665260   |.  8B55 FC      mov edx,[local.1]
00665263   |.  8B45 FC      mov eax,[local.1]
00665266   |.  D3E2         shl edx,cl
00665268   |.  B9 20000000  mov ecx,20
0066526D   |.  2BCB         sub ecx,ebx
0066526F   |.  D3E8         shr eax,cl
00665271   |.  0BD0         or edx,eax
00665273   |.  0355 10      add edx,[arg.3]
00665276   |.  8BC2         mov eax,edx
00665278   |.  5E           pop esi
00665279   |.  5B           pop ebx
0066527A   |.  59           pop ecx
0066527B   |.  5D           pop ebp
0066527C   \.  C3           retn

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 442
活跃值: (1221)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
2
MD5  4个常数来源

006650AC   /$  55           push ebp
006650AD   |.  8BEC         mov ebp,esp
006650AF   |.  33D2         xor edx,edx
006650B1   |.  8B45 08      mov eax,[arg.1]
006650B4   |.  C740 44 6745>mov dword ptr ds:[eax+44],1234567
006650BB   |.  C740 48 EFCD>mov dword ptr ds:[eax+48],89ABCDEF
006650C2   |.  C740 4C 98BA>mov dword ptr ds:[eax+4C],FEDCBA98
006650C9   |.  C740 50 1032>mov dword ptr ds:[eax+50],76543210
006650D0   |.  8950 64      mov dword ptr ds:[eax+64],edx
006650D3   |.  5D           pop ebp
006650D4   \.  C3           retn
2005-9-13 10:44
0
雪    币: 233
活跃值: (130)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
显然不是md5
2005-9-14 09:20
0
雪    币: 442
活跃值: (1221)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
4
肯定是,而且很标准
2005-9-14 09:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
没看出来有什么不妥的地方,几个函数没变啊,跟一般的不一样的就是把常数和位移数放在一个表里,
2005-9-14 13:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
本来md5就是这样子的,这样写可能程序会小一些,呵呵
2005-9-14 13:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
第一部分的四个分支,实际上是a,b,c,d 的四个排列,后面的四个是不同的非线性函数。
2005-9-14 13:47
0
雪    币: 442
活跃值: (1221)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
8
我认为是标准Md5,但计算结果不一样?郁闷

这个例子的4个常数 是否是第二组? 但计算结果还不是我所需要的.

    State[0] := $67452301;
    State[1] := $EFCDAB89;
    State[2] := $98BADCFE;
    State[3] := $10325476;   

//   State[0] := $01234567;
//   State[1] := $89ABCDEF;
//   State[2] := $FEDCBA98;
//   State[3] := $76543210;
2005-9-14 15:00
0
雪    币: 442
活跃值: (1221)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
9
字符串
018B67D8  4B 50 35 30 4A 53 2D 49 30 31 30 30 30 32 37 37  
018B67E8  33 31 30 31 31 35 37 35 34 37 39 38 30 30 34 30  
018B67F8  30 30                                            

函数计算结果:
018B6818  1C 54 7B 88 A2 D6 FA 7B C8 51 29 B8 8F FD B6 49  

标准函数计算结果:
MD5:         91EC2C4A2CEB89EA34279B060D63608A

2005-9-14 15:28
0
雪    币: 442
活跃值: (1221)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
10
贴一个标准Md5函数,上面的好像变换了常数和Hash过程
00679B28   /$  55                    push ebp
00679B29   |.  8BEC                  mov ebp,esp
00679B2B   |.  53                    push ebx
00679B2C   |.  56                    push esi
00679B2D   |.  8B5D 08               mov ebx,[arg.1]
00679B30   |.  33D2                  xor edx,edx
00679B32   |.  8D43 40               lea eax,dword ptr ds:[ebx+40]
00679B35   |>  8B08                  /mov ecx,dword ptr ds:[eax]
00679B37   |.  8948 10               |mov dword ptr ds:[eax+10],ecx
00679B3A   |.  42                    |inc edx
00679B3B   |.  83C0 04               |add eax,4
00679B3E   |.  83FA 04               |cmp edx,4
00679B41   |.^ 7C F2                 \jl short TempDump.00679B35                     ;  MD5 4个标准常数
00679B43   |.  33F6                  xor esi,esi                                     ;  0
00679B45   |>  8BC6                  /mov eax,esi
00679B47   |.  83E0 03               |and eax,3
00679B4A   |.  83E8 01               |sub eax,1                                      ;  Switch (cases 0..3)
00679B4D   |.  72 0A                 |jb short TempDump.00679B59
00679B4F   |.  74 27                 |je short TempDump.00679B78
00679B51   |.  48                    |dec eax
00679B52   |.  74 43                 |je short TempDump.00679B97
00679B54   |.  48                    |dec eax
00679B55   |.  74 5F                 |je short TempDump.00679BB6
00679B57   |.  EB 7A                 |jmp short TempDump.00679BD3
00679B59   |>  56                    |push esi                                       ; /Arg6; Case 0 of switch 00679B4A
00679B5A   |.  8B53 5C               |mov edx,dword ptr ds:[ebx+5C]                  ; |
00679B5D   |.  52                    |push edx                                       ; |Arg5
00679B5E   |.  8B4B 58               |mov ecx,dword ptr ds:[ebx+58]                  ; |
00679B61   |.  51                    |push ecx                                       ; |Arg4
00679B62   |.  8B43 54               |mov eax,dword ptr ds:[ebx+54]                  ; |
00679B65   |.  50                    |push eax                                       ; |Arg3
00679B66   |.  8B53 50               |mov edx,dword ptr ds:[ebx+50]                  ; |
00679B69   |.  52                    |push edx                                       ; |Arg2
00679B6A   |.  53                    |push ebx                                       ; |Arg1
00679B6B   |.  E8 48020000           |call TempDump.00679DB8                         ; \TempDump.00679DB8
00679B70   |.  83C4 18               |add esp,18
00679B73   |.  8943 50               |mov dword ptr ds:[ebx+50],eax
00679B76   |.  EB 5B                 |jmp short TempDump.00679BD3
00679B78   |>  56                    |push esi                                       ; /Arg6; Case 1 of switch 00679B4A
00679B79   |.  8B4B 58               |mov ecx,dword ptr ds:[ebx+58]                  ; |
00679B7C   |.  51                    |push ecx                                       ; |Arg5
00679B7D   |.  8B43 54               |mov eax,dword ptr ds:[ebx+54]                  ; |
00679B80   |.  50                    |push eax                                       ; |Arg4
00679B81   |.  8B53 50               |mov edx,dword ptr ds:[ebx+50]                  ; |
00679B84   |.  52                    |push edx                                       ; |Arg3
00679B85   |.  8B4B 5C               |mov ecx,dword ptr ds:[ebx+5C]                  ; |
00679B88   |.  51                    |push ecx                                       ; |Arg2
00679B89   |.  53                    |push ebx                                       ; |Arg1
00679B8A   |.  E8 29020000           |call TempDump.00679DB8                         ; \TempDump.00679DB8
00679B8F   |.  83C4 18               |add esp,18
00679B92   |.  8943 5C               |mov dword ptr ds:[ebx+5C],eax
00679B95   |.  EB 3C                 |jmp short TempDump.00679BD3
00679B97   |>  56                    |push esi                                       ; /Arg6; Case 2 of switch 00679B4A
00679B98   |.  8B43 54               |mov eax,dword ptr ds:[ebx+54]                  ; |
00679B9B   |.  50                    |push eax                                       ; |Arg5
00679B9C   |.  8B53 50               |mov edx,dword ptr ds:[ebx+50]                  ; |
00679B9F   |.  52                    |push edx                                       ; |Arg4
00679BA0   |.  8B4B 5C               |mov ecx,dword ptr ds:[ebx+5C]                  ; |
00679BA3   |.  51                    |push ecx                                       ; |Arg3
00679BA4   |.  8B43 58               |mov eax,dword ptr ds:[ebx+58]                  ; |
00679BA7   |.  50                    |push eax                                       ; |Arg2
00679BA8   |.  53                    |push ebx                                       ; |Arg1
00679BA9   |.  E8 0A020000           |call TempDump.00679DB8                         ; \TempDump.00679DB8
00679BAE   |.  83C4 18               |add esp,18
00679BB1   |.  8943 58               |mov dword ptr ds:[ebx+58],eax
00679BB4   |.  EB 1D                 |jmp short TempDump.00679BD3
00679BB6   |>  56                    |push esi                                       ; /Arg6; Case 3 of switch 00679B4A
00679BB7   |.  8B53 50               |mov edx,dword ptr ds:[ebx+50]                  ; |
00679BBA   |.  52                    |push edx                                       ; |Arg5
00679BBB   |.  8B4B 5C               |mov ecx,dword ptr ds:[ebx+5C]                  ; |
00679BBE   |.  51                    |push ecx                                       ; |Arg4
00679BBF   |.  8B43 58               |mov eax,dword ptr ds:[ebx+58]                  ; |
00679BC2   |.  50                    |push eax                                       ; |Arg3
00679BC3   |.  8B53 54               |mov edx,dword ptr ds:[ebx+54]                  ; |
00679BC6   |.  52                    |push edx                                       ; |Arg2
00679BC7   |.  53                    |push ebx                                       ; |Arg1
00679BC8   |.  E8 EB010000           |call TempDump.00679DB8                         ; \TempDump.00679DB8
00679BCD   |.  83C4 18               |add esp,18
00679BD0   |.  8943 54               |mov dword ptr ds:[ebx+54],eax
00679BD3   |>  46                    |inc esi                                        ;  Default case of switch 00679B4A
00679BD4   |.  83FE 40               |cmp esi,40
00679BD7   |.^ 0F8C 68FFFFFF         \jl TempDump.00679B45
00679BDD   |.  33D2                  xor edx,edx
00679BDF   |.  8D43 50               lea eax,dword ptr ds:[ebx+50]
00679BE2   |>  8B08                  mov ecx,dword ptr ds:[eax]
00679BE4   |.  0148 F0               add dword ptr ds:[eax-10],ecx
00679BE7   |.  42                    inc edx
00679BE8   |.  83C0 04               add eax,4
00679BEB   |.  83FA 04               cmp edx,4
00679BEE   |.^ 7C F2                 jl short TempDump.00679BE2
00679BF0   |.  5E                    pop esi
00679BF1   |.  5B                    pop ebx
00679BF2   |.  5D                    pop ebp
00679BF3   \.  C3                    retn

00679DB8   /$  55                    push ebp
00679DB9   |.  8BEC                  mov ebp,esp
00679DBB   |.  83C4 F8               add esp,-8
00679DBE   |.  53                    push ebx
00679DBF   |.  56                    push esi
00679DC0   |.  8B45 1C               mov eax,[arg.6]
00679DC3   |.  8B4D 08               mov ecx,[arg.1]
00679DC6   |.  8BD0                  mov edx,eax
00679DC8   |.  8BD8                  mov ebx,eax
00679DCA   |.  C1FA 04               sar edx,4
00679DCD   |.  83E3 0F               and ebx,0F
00679DD0   |.  895D FC               mov [local.1],ebx
00679DD3   |.  8BDA                  mov ebx,edx
00679DD5   |.  83EB 01               sub ebx,1                                       ;  Switch (cases 0..3)
00679DD8   |.  72 0A                 jb short TempDump.00679DE4
00679DDA   |.  74 23                 je short TempDump.00679DFF
00679DDC   |.  4B                    dec ebx
00679DDD   |.  74 42                 je short TempDump.00679E21
00679DDF   |.  4B                    dec ebx
00679DE0   |.  74 5E                 je short TempDump.00679E40
00679DE2   |.  EB 7C                 jmp short TempDump.00679E60
00679DE4   |>  8B75 10               mov esi,[arg.3]                                 ;  Case 0 of switch 00679DD5
00679DE7   |.  8B5D 10               mov ebx,[arg.3]
00679DEA   |.  F7D6                  not esi
00679DEC   |.  2375 18               and esi,[arg.5]
00679DEF   |.  235D 14               and ebx,[arg.4]
00679DF2   |.  0BDE                  or ebx,esi
00679DF4   |.  8B75 FC               mov esi,[local.1]
00679DF7   |.  031CB1                add ebx,dword ptr ds:[ecx+esi*4]
00679DFA   |.  015D 0C               add [arg.2],ebx
00679DFD   |.  EB 61                 jmp short TempDump.00679E60

00679DFF   |>  8B75 18               mov esi,[arg.5]                                 ;  Case 1 of switch 00679DD5
00679E02   |.  8B5D 10               mov ebx,[arg.3]
00679E05   |.  F7D6                  not esi
00679E07   |.  2375 14               and esi,[arg.4]
00679E0A   |.  235D 18               and ebx,[arg.5]
00679E0D   |.  0BDE                  or ebx,esi
00679E0F   |.  8B75 FC               mov esi,[local.1]
00679E12   |.  8D34B6                lea esi,dword ptr ds:[esi+esi*4]
00679E15   |.  46                    inc esi
00679E16   |.  83E6 0F               and esi,0F
00679E19   |.  031CB1                add ebx,dword ptr ds:[ecx+esi*4]
00679E1C   |.  015D 0C               add [arg.2],ebx

00679E1F   |.  EB 3F                 jmp short TempDump.00679E60
00679E21   |>  8B5D FC               mov ebx,[local.1]                               ;  Case 2 of switch 00679DD5
00679E24   |.  8D1C5B                lea ebx,dword ptr ds:[ebx+ebx*2]
00679E27   |.  83C3 05               add ebx,5
00679E2A   |.  83E3 0F               and ebx,0F
00679E2D   |.  8B0C99                mov ecx,dword ptr ds:[ecx+ebx*4]
00679E30   |.  8B5D 10               mov ebx,[arg.3]
00679E33   |.  335D 14               xor ebx,[arg.4]
00679E36   |.  335D 18               xor ebx,[arg.5]
00679E39   |.  03CB                  add ecx,ebx
00679E3B   |.  014D 0C               add [arg.2],ecx
00679E3E   |.  EB 20                 jmp short TempDump.00679E60
00679E40   |>  8B5D FC               mov ebx,[local.1]                               ;  Case 3 of switch 00679DD5
00679E43   |.  8BF3                  mov esi,ebx
00679E45   |.  C1E3 03               shl ebx,3
00679E48   |.  2BDE                  sub ebx,esi
00679E4A   |.  83E3 0F               and ebx,0F
00679E4D   |.  8B0C99                mov ecx,dword ptr ds:[ecx+ebx*4]
00679E50   |.  8B5D 18               mov ebx,[arg.5]
00679E53   |.  F7D3                  not ebx
00679E55   |.  0B5D 10               or ebx,[arg.3]
00679E58   |.  335D 14               xor ebx,[arg.4]
00679E5B   |.  03CB                  add ecx,ebx
00679E5D   |.  014D 0C               add [arg.2],ecx
00679E60   |>  8BC8                  mov ecx,eax                                     ;  Default case of switch 00679DD5
00679E62   |.  8D1495 D8656800       lea edx,dword ptr ds:[edx*4+6865D8]
00679E69   |.  83E1 03               and ecx,3
00679E6C   |.  8B0485 D8646800       mov eax,dword ptr ds:[eax*4+6864D8]
00679E73   |.  0345 0C               add eax,[arg.2]
00679E76   |.  33DB                  xor ebx,ebx
00679E78   |.  8A1C0A                mov bl,byte ptr ds:[edx+ecx]
00679E7B   |.  8945 F8               mov [local.2],eax
00679E7E   |.  8B55 F8               mov edx,[local.2]
00679E81   |.  8BCB                  mov ecx,ebx
00679E83   |.  D3E2                  shl edx,cl
00679E85   |.  B9 20000000           mov ecx,20
00679E8A   |.  8B45 F8               mov eax,[local.2]
00679E8D   |.  2BCB                  sub ecx,ebx
00679E8F   |.  D3E8                  shr eax,cl
00679E91   |.  0BD0                  or edx,eax
00679E93   |.  0355 10               add edx,[arg.3]
00679E96   |.  8BC2                  mov eax,edx
00679E98   |.  5E                    pop esi
00679E99   |.  5B                    pop ebx
00679E9A   |.  59                    pop ecx
00679E9B   |.  59                    pop ecx
00679E9C   |.  5D                    pop ebp
00679E9D   \.  C3                    retn
2005-9-15 14:16
0
游客
登录 | 注册 方可回帖
返回
//