分享

Ted's Blog

 quasiceo 2014-01-15
 开dos控制台部分汇编实现。  
#include   <windows.h>  
  #include   <winbase.h>  
  void   main()  
  {  
  LoadLibrary("msvcrt.dll");  
  __asm   {  
  mov   esp,ebp   ;把ebp的内容赋值给esp  
  push   ebp   ;保存ebp,esp-4  
  mov   ebp,esp   ;给ebp赋新值,将作为局部变量的基指针  
  xor   edi,edi   ;  
  push   edi   ;压入0,esp-4,;作用是构造字符串的结尾\0字符。    
  sub   esp,08h   ;加上上面,一共有12个字节,;用来放"command.com"。    
  mov   byte   ptr   [ebp-0ch],63h   ;  
  mov   byte   ptr   [ebp-0bh],6fh   ;  
  mov   byte   ptr   [ebp-0ah],6dh   ;  
  mov   byte   ptr   [ebp-09h],6Dh   ;  
  mov   byte   ptr   [ebp-08h],61h   ;  
  mov   byte   ptr   [ebp-07h],6eh   ;  
  mov   byte   ptr   [ebp-06h],64h   ;  
  mov   byte   ptr   [ebp-05h],2Eh   ;  
  mov   byte   ptr   [ebp-04h],63h   ;  
  mov   byte   ptr   [ebp-03h],6fh   ;  
  mov   byte   ptr   [ebp-02h],6dh   ;生成串"command.com".  
  lea   eax,[ebp-0ch]   ;  
  push   eax   ;串地址作为参数入栈  
  mov   eax,   0x7801AFC3   ;  
  call   eax   ;调用system  
  }  
  }  
  直接编译看看吧。给你一个上来就可以玩转的源码PP嘻嘻,注释加的多好啊

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多