对汇编的概念没大弄懂,别笑话。。。
一下是一段winlicense中smartactivate里的vc实例在od中的代码
00401020 > \55 push ebp
00401021 . 8BEC mov ebp, esp
00401023 . 83EC 40 sub esp, 40
00401026 . 53 push ebx
00401027 . 56 push esi
00401028 . 57 push edi
00401029 . 8D7D C0 lea edi, dword ptr [ebp-40]
0040102C . B9 10000000 mov ecx, 10
00401031 . B8 CCCCCCCC mov eax, CCCCCCCC
00401036 . F3:AB rep stos dword ptr es:[edi]
00401038 . 6A 00 push 0
0040103A . E8 83C80000 call <jmp.&WinlicenseSDK.#7>
0040103F . 83F8 01 cmp eax, 1
00401042 75 1F jnz short 00401063
00401044 . 8BF4 mov esi, esp
00401046 . 6A 00 push 0 ; /Style = MB_OK|MB_APPLMODAL
00401048 . 68 48204200 push 00422048 ; |Title = "Winlicense"
0040104D . 68 1C204200 push 0042201C ; |Text = "This application has been activated"
00401052 . 6A 00 push 0 ; |hOwner = NULL
00401054 . FF15 08A34200 call dword ptr [<&USER32.MessageBoxA>>; \MessageBoxA
问题是push 0 中的这个0是什么意思? 应该是传递参数吧? 整个messagebox中就这么4个参数? 还有就是call messagebox后他会依次把压入的部分给放出来吗?晕,写到一半才发现这个可以在od中查看到的。。。 不过还是求解。。。还有就是od中有没有方便的命令去查看esp-40这类数据?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)