反汇编过来后,算法代码有16410行
这个怎么活哦
算法是一直在做同类计算,但常量参数无规律
无法简化
那么。。 16410行的代码。。 我就算是一行行瞄过去都会死人的
怎么办怎么办????
代码是用od直接复制出来的,能否通过某种转换直接使用?
以下是其中一点点,
代码除了函数最后,没有任何跳转指令,完全是顺序结构
mov eax, [edi]
movzx eax, byte ptr [eax+$15]
imul eax, eax, $0E
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fsubr qword ptr [$01D16B98]
fstp qword ptr [$01D16B98]
wait
mov eax, [edi]
movzx eax, byte ptr [eax+$33]
imul eax, eax, $EC
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fsubr qword ptr [$01D16B98]
fstp qword ptr [$01D16B98]
wait
mov eax, [ebx]
movzx eax, byte ptr [eax+$36]
imul eax, eax, $1E
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fadd qword ptr [$01D16B68]
fstp qword ptr [$01D16B68]
wait
mov eax, [esi]
movzx eax, byte ptr [eax+$2A]
imul eax, eax, $F2
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fmul dword ptr [$00933DE0]
fild qword ptr [$01D16BB4]
faddp st(1), st(0)
fistp qword ptr [$01D16BB4]
wait
mov eax, $01D16BAC
call 00404020
mov eax, [ebx]
movzx eax, byte ptr [eax+$0B]
shl eax, $03
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fsubp st(1), st(0)
mov eax, $01D16BAC
call 00404050
mov eax, $01D16B8C
call 00404020
mov eax, [esi]
movzx eax, byte ptr [eax+$3C]
add eax, eax
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
faddp st(1), st(0)
mov eax, $01D16B8C
call 00404050
mov eax, $01D16B8C
call 00404020
fsub dword ptr [$00933DE4]
mov eax, $01D16B8C
call 00404050
mov eax, $01D16BAC
call 00404020
mov eax, [ebx]
movzx eax, byte ptr [eax+$6D]
shl eax, $04
lea eax, [eax+eax*4]
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fsubp st(1), st(0)
mov eax, $01D16BAC
call 00404050
mov eax, $01D16B8C
call 00404020
mov eax, [edi]
movzx eax, byte ptr [eax+$32]
mov edx, eax
neg eax
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fsubp st(1), st(0)
mov eax, $01D16B8C
call 00404050
mov eax, [edi]
movzx eax, byte ptr [eax+$22]
shl eax, $02
lea eax, [eax+eax*8]
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fsubr qword ptr [$01D16B68]
fstp qword ptr [$01D16B68]
wait
fld qword ptr [$01D16B98]
fadd dword ptr [$00933DE8]
fstp qword ptr [$01D16B98]
wait
mov eax, [edi]
movzx eax, byte ptr [eax+$0086]
imul eax, eax, $C4
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fmul dword ptr [$00933DE0]
fild qword ptr [$01D16BB4]
faddp st(1), st(0)
fistp qword ptr [$01D16BB4]
wait
mov eax, [esi]
movzx eax, byte ptr [eax+$66]
mov edx, eax
neg eax
shl eax, $02
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fsubr qword ptr [$01D16B98]
fstp qword ptr [$01D16B98]
wait
mov eax, [esi]
movzx eax, byte ptr [eax+$0091]
lea eax, [eax+eax*8]
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fmul dword ptr [$00933DE0]
fild qword ptr [$01D16BB4]
faddp st(1), st(0)
fistp qword ptr [$01D16BB4]
wait
mov eax, [edi]
movzx eax, byte ptr [eax+$40]
mov edx, eax
neg eax
lea eax, [eax+eax*2]
lea eax, [eax+eax*4]
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fadd dword ptr [$01D16BA8]
fstp dword ptr [$01D16BA8]
wait
mov eax, $01D16BAC
call 00404020
fsub dword ptr [$00933DEC]
mov eax, $01D16BAC
call 00404050
mov eax, $01D16BAC
call 00404020
fadd dword ptr [$00933DF0]
mov eax, $01D16BAC
call 00404050
mov eax, [ebx]
movzx eax, byte ptr [eax+$60]
imul eax, eax, $F6
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fmul dword ptr [$00933DE0]
fild qword ptr [$01D16BB4]
faddp st(1), st(0)
fistp qword ptr [$01D16BB4]
wait
mov eax, [edi]
movzx eax, byte ptr [eax+$26]
lea eax, [eax+eax*2]
mov [ebp+$FFFFF8EC], eax
fild dword ptr [ebp+$FFFFF8EC]
fsubr dword ptr [$01D16BA8]
fstp dword ptr [$01D16BA8]
wait
mov eax, [ebx]
movzx eax, byte ptr [eax+$0095]
mov edx, eax
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课