续
跟进0046BA2A处CALL来到:
0046B908 55 push ebp
0046B909 8BEC mov ebp,esp
0046B90B 83C4 DC add esp,-24
0046B90E 53 push ebx
0046B90F 56 push esi
0046B910 33C9 xor ecx,ecx
0046B912 894D DC mov dword ptr ss:[ebp-24],ecx
0046B915 894D E0 mov dword ptr ss:[ebp-20],ecx
0046B918 894D F8 mov dword ptr ss:[ebp-8],ecx
0046B91B 894D F4 mov dword ptr ss:[ebp-C],ecx
0046B91E 8BF2 mov esi,edx
0046B920 8945 FC mov dword ptr ss:[ebp-4],eax
0046B923 8B45 FC mov eax,dword ptr ss:[ebp-4]
0046B926 E8 DD8EF9FF call Unpacked.00404808
0046B92B 33C0 xor eax,eax
0046B92D 55 push ebp
0046B92E 68 CEB94600 push Unpacked.0046B9CE
0046B933 64:FF30 push dword ptr fs:[eax]
0046B936 64:8920 mov dword ptr fs:[eax],esp
0046B939 8BC6 mov eax,esi
0046B93B E8 288AF9FF call Unpacked.00404368
0046B940 8D45 E0 lea eax,dword ptr ss:[ebp-20]
0046B943 8B4D FC mov ecx,dword ptr ss:[ebp-4] ; 机器码送ECX
0046B946 BA E4B94600 mov edx,Unpacked.0046B9E4
0046B94B E8 1C8DF9FF call Unpacked.0040466C
0046B950 8B45 E0 mov eax,dword ptr ss:[ebp-20]
0046B953 8D55 E4 lea edx,dword ptr ss:[ebp-1C]
0046B956 E8 EDBCFFFF call Unpacked.00467648
0046B95B 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
0046B95E 8D55 F8 lea edx,dword ptr ss:[ebp-8]
0046B961 E8 56BDFFFF call Unpacked.004676BC ; 跟进~~~~~~~~,最终得一字符串191bbf78cd24da75f4da7d784915708e
0046B966 8D45 F4 lea eax,dword ptr ss:[ebp-C] //返回到这里~~~~~
0046B969 E8 FA89F9FF call Unpacked.00404368
0046B96E 8B45 F8 mov eax,dword ptr ss:[ebp-8] ; 191bbf78cd24da75f4da7d784915708e送EAX
0046B971 E8 AA8CF9FF call Unpacked.00404620 ; 测试191bbf78cd24da75f4da7d784915708e是否为空,如果不是则长度送EAX
0046B976 8BD8 mov ebx,eax ; EAX送EBX
0046B978 83FB 01 cmp ebx,1 ; EBX和1比较
0046B97B 7C 1F jl short Unpacked.0046B99C ; 小于就跳
0046B97D 8D45 DC lea eax,dword ptr ss:[ebp-24] ; 否则,依次计算
0046B980 8B55 F8 mov edx,dword ptr ss:[ebp-8] ; 191bbf78cd24da75f4da7d784915708e送EDX
0046B983 8A541A FF mov dl,byte ptr ds:[edx+ebx-1] ; [edx+ebx-1]送DL
0046B987 E8 BC8BF9FF call Unpacked.00404548
0046B98C 8B55 DC mov edx,dword ptr ss:[ebp-24]
0046B98F 8D45 F4 lea eax,dword ptr ss:[ebp-C] ; [ebp-C]送EAX
0046B992 E8 918CF9FF call Unpacked.00404628
0046B997 4B dec ebx ; EBX减一
0046B998 85DB test ebx,ebx ; 是否为0
0046B99A ^ 75 E1 jnz short Unpacked.0046B97D ; 不为0就继续,以上这段循环就是将刚才得到的字符串倒序,得:e807519487d7ad4f57ad42dc87fbb191(真码)。
0046B99C 8BC6 mov eax,esi
0046B99E 8B55 F4 mov edx,dword ptr ss:[ebp-C] ; e807519487d7ad4f57ad42dc87fbb191(真码)送EDX
0046B9A1 E8 168AF9FF call Unpacked.004043BC
0046B9A6 33C0 xor eax,eax
0046B9A8 5A pop edx
0046B9A9 59 pop ecx
0046B9AA 59 pop ecx
0046B9AB 64:8910 mov dword ptr fs:[eax],edx
0046B9AE 68 D5B94600 push Unpacked.0046B9D5
0046B9B3 8D45 DC lea eax,dword ptr ss:[ebp-24]
0046B9B6 BA 02000000 mov edx,2
0046B9BB E8 CC89F9FF call Unpacked.0040438C
0046B9C0 8D45 F4 lea eax,dword ptr ss:[ebp-C]
0046B9C3 BA 03000000 mov edx,3
0046B9C8 E8 BF89F9FF call Unpacked.0040438C
0046B9CD C3 retn