00550E50 /$ 51 push ecx
00550E51 |. 3D 00100000 cmp eax, 1000 ;eax = 23F4
00550E56 |. 8D4C24 08 lea ecx, dword ptr [esp+8]
00550E5A |. 72 14 jb short 00550E70
00550E5C |> 81E9 00100000 /sub ecx, 1000
00550E62 |. 2D 00100000 |sub eax, 1000
00550E67 |. 8501 |test dword ptr [ecx], eax
00550E69 |. 3D 00100000 |cmp eax, 1000
00550E6E |.^ 73 EC \jnb short 00550E5C
00550E70 |> 2BC8 sub ecx, eax
00550E72 |. 8BC4 mov eax, esp
00550E74 |. 8501 test dword ptr [ecx], eax
00550E76 |. 8BE1 mov esp, ecx
00550E78 |. 8B08 mov ecx, dword ptr [eax]
00550E7A |. 8B40 04 mov eax, dword ptr [eax+4]
00550E7D |. 50 push eax ; LiveBadu.005161FF
00550E7E \. C3 retn
这就是一个函数过程, 其中我们看到00550E56行处ecx = esp + 8, 但后面将他减1000,我没懂, 这样作完ecx里的值还能代表什么意义.
谁能帮忙解释下这段代码作了什么?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课