首页 电脑 电脑学堂 查看内容

汇编就是精简

2009-4-2 11:10 522 0

摘要: 一个最简单的弹出消息框框代码: .386.model flat,stdcalloption casemap:none include windows.incinclude user32.incin...
关键词: nbsp ExitProcess PUSH MessageBox incinclude 消息 libincludelib 0040101A 00401020 32

一个最简单的弹出消息框框代码: .386.model flat,stdcalloption casemap:none include windows.incinclude user32.incinclude kernel32.incinclude gdi32.inc includelib gdi32.libincludelib user32.libincludelib kernel32.libinclude macro.asm .data .data? .codestart:  invoke MessageBox,NULL,CTXT('luanx'),CTXT('hello'),0  invoke ExitProcess,0end start 然后用MASMPlus编译成EXE的,拿C32Asm反汇编瞧瞧,如此短小,呵呵。注意入栈顺序是从右到左,那反汇编的就反着来看: ::00401000::  6A 00                  PUSH 0                                 ::00401002::  68 05304000       PUSH 403005   ;将消息提示标题入栈::00401007::  68 00304000       PUSH 403000   ;将消息提示内容入栈::0040100C::  6A 00                 PUSH 0       ::0040100E::  E8 07000000       CALL 0040101A ;调用MessageBox::00401013::  6A 00                  PUSH 0                   ::00401015::  E8 06000000       CALL 00401020  ;调用ExitProcess::0040101A::  FF25 08204000     JMP [402008]    ;跳到MessageBox::00401020::  FF25 00204000     JMP [402000]    ;跳到ExitProcess
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部