-
-
[旧帖] [求助] 这样作完ecx里的值还能代表什么意义? 0.00雪花
-
发表于: 2010-4-5 12:48 2159
-
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里的值还能代表什么意义.
谁能帮忙解释下这段代码作了什么?
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里的值还能代表什么意义.
谁能帮忙解释下这段代码作了什么?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
- [求助]upx静态脱壳成功,但运行不了,求大神帮忙看看 7990
- [求助]hwnd和cwnd的偏移有人知道吗? 4175
- [求助]od附加进程olly advanced出错 4027
- [求助]脱壳求助 13024
- 一个小问题 3357
看原图
赞赏
雪币:
留言: