这是Idea算法中的一部分,有点像IDEACipher函数,哪位有空帮我看看?
006672BC <>/$ 55 push ebp ; IDEACipher 函数??
006672BD |. 8BEC mov ebp,esp
006672BF |. 83C4 F0 add esp,-10
006672C2 |. 53 push ebx
006672C3 |. 56 push esi
006672C4 |. 57 push edi ; 最后关键
006672C5 |. 8B45 0C mov eax,dword ptr ss:[ebp+C] ; Data
006672C8 |. 8B5D 14 mov ebx,dword ptr ss:[ebp+14] ; DK
006672CB |. 8B55 10 mov edx,dword ptr ss:[ebp+10] ; 函数返回
006672CE |. 8955 F4 mov dword ptr ss:[ebp-C],edx
006672D1 |. C745 F0 0800000>mov dword ptr ss:[ebp-10],8
006672D8 |. 66:8B08 mov cx,word ptr ds:[eax] ; 取待解密串字符
006672DB |. 83C0 02 add eax,2
006672DE |. 66:894D FE mov word ptr ss:[ebp-2],cx ; 待解密串中的Word
006672E2 |. 66:8B30 mov si,word ptr ds:[eax]
006672E5 |. 83C0 02 add eax,2
006672E8 |. 66:8B38 mov di,word ptr ds:[eax]
006672EB |. 83C0 02 add eax,2
006672EE |. 66:8B00 mov ax,word ptr ds:[eax]
006672F1 |. 66:8945 FC mov word ptr ss:[ebp-4],ax ; 第4组
006672F5 <>|> 66:8B13 /mov dx,word ptr ds:[ebx] ; 104位
006672F8 |. 83C3 02 |add ebx,2
006672FB |. 52 |push edx ; /Arg3
006672FC |. 66:8B4D FE |mov cx,word ptr ss:[ebp-2] ; |
00667300 |. 51 |push ecx ; |Arg2
00667301 |. 8B45 08 |mov eax,dword ptr ss:[ebp+8] ; |密钥
00667304 |. 50 |push eax ; |Arg1
00667305 |. E8 66FFFFFF |call <FTaxBase.sub_407270> ; \FTaxBase.00667270
0066730A |. 66:8945 FE |mov word ptr ss:[ebp-2],ax
0066730E |. 83C4 0C |add esp,0C
00667311 |. 66:0333 |add si,word ptr ds:[ebx]
00667314 |. 83C3 02 |add ebx,2
00667317 |. 66:033B |add di,word ptr ds:[ebx]
0066731A |. 83C3 02 |add ebx,2
0066731D |. 66:8B13 |mov dx,word ptr ds:[ebx]
00667320 |. 83C3 02 |add ebx,2
00667323 |. 52 |push edx ; /Arg3
00667324 |. 66:8B4D FC |mov cx,word ptr ss:[ebp-4] ; |
00667328 |. 51 |push ecx ; |Arg2
00667329 |. 8B45 08 |mov eax,dword ptr ss:[ebp+8] ; |
0066732C |. 50 |push eax ; |Arg1
0066732D |. E8 3EFFFFFF |call <FTaxBase.sub_407270> ; \FTaxBase.00667270
00667332 |. 66:8945 FC |mov word ptr ss:[ebp-4],ax
00667336 |. 83C4 0C |add esp,0C
00667339 |. 66:897D F8 |mov word ptr ss:[ebp-8],di
0066733D |. 66:337D FE |xor di,word ptr ss:[ebp-2]
00667341 |. 66:8B13 |mov dx,word ptr ds:[ebx]
00667344 |. 83C3 02 |add ebx,2
00667347 |. 52 |push edx
00667348 |. 57 |push edi
00667349 |. 8B4D 08 |mov ecx,dword ptr ss:[ebp+8]
0066734C |. 51 |push ecx
0066734D |. E8 1EFFFFFF |call <FTaxBase.sub_407270>
00667352 |. 66:8975 FA |mov word ptr ss:[ebp-6],si
00667356 |. 8BF8 |mov edi,eax
00667358 |. 66:3375 FC |xor si,word ptr ss:[ebp-4]
0066735C |. 83C4 0C |add esp,0C
0066735F |. 66:8B03 |mov ax,word ptr ds:[ebx]
00667362 |. 66:03F7 |add si,di
00667365 |. 50 |push eax ; /Arg3
00667366 |. 56 |push esi ; |Arg2
00667367 |. 83C3 02 |add ebx,2 ; |
0066736A |. 8B55 08 |mov edx,dword ptr ss:[ebp+8] ; |
0066736D |. 52 |push edx ; |Arg1
0066736E |. E8 FDFEFFFF |call <FTaxBase.sub_407270> ; \FTaxBase.00667270
00667373 |. 83C4 0C |add esp,0C
00667376 |. 8BF0 |mov esi,eax
00667378 |. 66:03FE |add di,si
0066737B |. 66:3175 FE |xor word ptr ss:[ebp-2],si
0066737F |. 66:317D FC |xor word ptr ss:[ebp-4],di
00667383 |. 66:3375 F8 |xor si,word ptr ss:[ebp-8]
00667387 |. 66:337D FA |xor di,word ptr ss:[ebp-6]
0066738B |. FF4D F0 |dec dword ptr ss:[ebp-10]
0066738E |.^ 0F85 61FFFFFF \jnz <FTaxBase.loc_4072F5>
00667394 |. 66:8B0B mov cx,word ptr ds:[ebx]
00667397 |. 83C3 02 add ebx,2
0066739A |. 51 push ecx ; /Arg3
0066739B |. 66:8B45 FE mov ax,word ptr ss:[ebp-2] ; |
0066739F |. 50 push eax ; |Arg2
006673A0 |. 8B55 08 mov edx,dword ptr ss:[ebp+8] ; |
006673A3 |. 52 push edx ; |Arg1
006673A4 |. E8 C7FEFFFF call <FTaxBase.sub_407270> ; \FTaxBase.00667270
006673A9 |. 66:8945 FE mov word ptr ss:[ebp-2],ax
006673AD |. 83C4 0C add esp,0C
006673B0 |. 66:033B add di,word ptr ds:[ebx]
006673B3 |. 83C3 02 add ebx,2
006673B6 |. 66:0333 add si,word ptr ds:[ebx]
006673B9 |. 83C3 02 add ebx,2
006673BC |. 66:8B0B mov cx,word ptr ds:[ebx]
006673BF |. 51 push ecx ; /Arg3
006673C0 |. 66:8B45 FC mov ax,word ptr ss:[ebp-4] ; |
006673C4 |. 50 push eax ; |Arg2
006673C5 |. 8B55 08 mov edx,dword ptr ss:[ebp+8] ; |
006673C8 |. 52 push edx ; |Arg1
006673C9 |. E8 A2FEFFFF call <FTaxBase.sub_407270> ; \FTaxBase.00667270
006673CE |. 66:8945 FC mov word ptr ss:[ebp-4],ax
006673D2 |. 83C4 0C add esp,0C
006673D5 |. 66:8B45 FE mov ax,word ptr ss:[ebp-2]
006673D9 |. 8B4D F4 mov ecx,dword ptr ss:[ebp-C]
006673DC |. 66:8901 mov word ptr ds:[ecx],ax
006673DF |. 8345 F4 02 add dword ptr ss:[ebp-C],2
006673E3 |. 8B55 F4 mov edx,dword ptr ss:[ebp-C]
006673E6 |. 66:893A mov word ptr ds:[edx],di
006673E9 |. 8345 F4 02 add dword ptr ss:[ebp-C],2
006673ED |. 8B4D F4 mov ecx,dword ptr ss:[ebp-C]
006673F0 |. 66:8931 mov word ptr ds:[ecx],si
006673F3 |. 8345 F4 02 add dword ptr ss:[ebp-C],2
006673F7 |. 66:8B55 FC mov dx,word ptr ss:[ebp-4]
006673FB |. 8B45 F4 mov eax,dword ptr ss:[ebp-C]
006673FE |. 66:8910 mov word ptr ds:[eax],dx
00667401 |. 5F pop edi
00667402 |. 5E pop esi
00667403 |. 5B pop ebx
00667404 |. 8BE5 mov esp,ebp
00667406 |. 5D pop ebp
00667407 \. C3 retn
===============================
00667270 <>/$ 55 push ebp
00667271 |. 8BEC mov ebp,esp
00667273 |. 8B55 10 mov edx,dword ptr ss:[ebp+10]
00667276 |. 8B45 0C mov eax,dword ptr ss:[ebp+C]
00667279 |. 66:85C0 test ax,ax
0066727C |. 74 33 je short <FTaxBase.loc_4072B1>
0066727E |. 66:85D2 test dx,dx
00667281 |. 74 23 je short <FTaxBase.loc_4072A6>
00667283 |. 0FB7C0 movzx eax,ax
00667286 |. 0FB7D2 movzx edx,dx
00667289 |. F7EA imul edx
0066728B |. 8BD0 mov edx,eax
0066728D |. C1E8 10 shr eax,10
00667290 |. 66:3BC2 cmp ax,dx
00667293 |. 76 08 jbe short <FTaxBase.loc_40729D>
00667295 |. 8D4A 01 lea ecx,dword ptr ds:[edx+1]
00667298 |. 66:2BC8 sub cx,ax
0066729B |. EB 05 jmp short <FTaxBase.loc_4072A2>
0066729D <>|> 8BCA mov ecx,edx
0066729F |. 66:2BC8 sub cx,ax
006672A2 <>|> 8BC1 mov eax,ecx
006672A4 |. 5D pop ebp
006672A5 |. C3 retn
006672A6 <>|> 66:BA 0100 mov dx,1
006672AA |. 66:2BD0 sub dx,ax
006672AD |. 8BC2 mov eax,edx
006672AF |. 5D pop ebp
006672B0 |. C3 retn
006672B1 <>|> 66:B8 0100 mov ax,1
006672B5 |. 66:2BC2 sub ax,dx
006672B8 |. 5D pop ebp
006672B9 \. C3 retn
==========================
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!