上次我分析了一下,debug模式下反汇编后的算法部分代码,天才的您可能觉得不算糟,想再搞点花样,那么本文就能满足你的需求。天书夜读上其实还贴出来了release模式下的代码,它经过vc编译器O2的优化,我初次看到反汇编代码时,还真汗了一把。不过定下心来细细品位还是可以看懂的,尽管正如原书所说,连语句的对应顺序也已经不见了。。。
废话不多说,先贴出代码大伙“饱饱眼福”。。。
00401000 mov eax,dword ptr [esp+4]
00401004 mov edx,dword ptr [esp+0Ch]
00401008 mov ecx,dword ptr [esp+8]
0040100C push ebx
0040100D push esi
0040100E add eax,4
00401011 push edi
00401012 add edx,8
00401015 mov esi,3
0040101A lea ebx,[ebx]
00401020 mov ebx,dword ptr [eax]
00401022 imul ebx,dword ptr [ecx+0Ch]
00401026 mov edi,dword ptr [ecx+18h]
00401029 imul edi,dword ptr [eax+4]
0040102D add edi,ebx
0040102F mov ebx,dword ptr [eax-4]
00401032 imul ebx,dword ptr [ecx]
00401035 add edi,ebx
00401037 mov dword ptr [edx-8],edi
0040103A mov ebx,dword ptr [eax]
0040103C imul ebx,dword ptr [ecx+10h]
00401040 mov edi,dword ptr [ecx+1Ch]
00401043 imul edi,dword ptr [eax+4]
00401047 add edi,ebx
00401049 mov ebx,dword ptr [eax-4]
0040104C imul ebx,dword ptr [ecx+4]
00401050 add edi,ebx
00401052 mov dword ptr [edx-4],edi
00401055 mov ebx,dword ptr [eax+4]
00401058 imul ebx,dword ptr [ecx+20h]
0040105C mov edi,dword ptr [ecx+14h]
0040105F imul edi,dword ptr [eax]
00401062 add edi,ebx
00401064 mov ebx,dword ptr [eax-4]
00401067 imul ebx,dword ptr [ecx+8]
0040106B add edi,ebx
0040106D mov dword ptr [edx],edi
0040106F add eax,0Ch
00401072 add edx,0Ch
00401075 dec esi