首先用C/C++语言实现弹出cmd

#include "stdio.h"
#include "windows.h"int main(int argc, char* argv[])
{printf("begin\n");HINSTANCE libHandle;char *dll="kernel32.dll";libHandle=LoadLibrary(dll);WinExec("cmd.exe",SW_SHOW);return 0;}

用到winExec函数

将winExec执行的操作转成汇编,然后在弹出cmd窗口

#include "stdio.h"
#include "windows.h"{printf("begin\n");HINSTANCE libHandle;char *dll="kernel32.dll";libHandle=LoadLibrary(dll);char *str="cmd.exe";//WinExec("cmd.exe",SW_SHOW);__asm{sub esp,0x454xor ebx,ebxpush ebxmov eax,strpush 5                ;5=SW_SHOWpush eaxcall dword ptr [WinExec]mov esp,0x450}return 0;}

找到汇编语言的机器码

复制到一个文本编辑器中,依次找出来

修改程序:

#include "stdio.h"
#include "windows.h"char shellcode[]="\x81\xEC\x54\x04\x00\x00\x33\xDB\x53\x8B\x45\xF4\x6A\x05\x50\xFF\x15\x14\xA2\x42\x00\xBC\x50\x04\x00\x00";
int main(int argc, char* argv[])
{printf("begin\n");HINSTANCE libHandle;char *dll="kernel32.dll";libHandle=LoadLibrary(dll);char *str="cmd.exe";__asm{lea eax,shellcodecall eax}return 0;
}


注意:

  1. 如何引用字符串
char *str="cmd.exe";
......
mov eax,str
  1. 如何引用字符数据
char shellcode[]="\x81\xEC\x54\x04\x00\x00\x33\xDB\x53\x8B\x45\xF4\x6A\x05\x50\xFF\x15\x14\xA2\x42\x00\xBC\x50\x04\x00\x00";
.....
lea eax,shellcode
  1. 用机器码的时候,不知道为什么有时候弹不出来,用汇编弹出之后再用机器码可以弹出,但是程序是没错的,不知道是不是VC++的原因

shellcode---c和汇编混合编程---弹出cmd相关推荐

  1. c和汇编混合编程----shellcode----弹出计算器

    先用c和汇编混合编程成功弹出计算器(在VC++里运行) #include "stdio.h" #include "windows.h"int main(int ...

  2. C和汇编混合编程---栈平衡

    最近在搞C和汇编混合编程,对栈平衡有点小理解,记录一下 当我们调用一个API或者子程序时时,API和子程序可以理解为函数,我们不必在返回的时候平衡栈里面的函数参数,但C语言库函数要我们自己平衡栈数据, ...

  3. C和汇编混合编程----实现浮点数的加减乘除

    加法 C程序: #include "stdio.h"int main() {float a=1.0;float b=2.34;float c;c=a+b;printf(" ...

  4. ARM中C和汇编混合编程及示例

    在嵌入式系统开发中,目前使用的主要编程语言是C和汇编,C++已经有相应的编译器,但是现在使用还是比较少的.在稍大规模的嵌入式软件中,例如含有OS,大部分的代码都是用C编写的,主要是因为C语言的结构比较 ...

  5. arm export 汇编_C/C++与汇编混合编程有什么好处?

    1.导语 当需要C/C++与汇编混合编程时,可以有以下两种处理策略: 若汇编代码较短,则可在C/C++源文件中直接内嵌汇编语言实现混合编程. 若汇编代码较长,可以单独写成汇编文件,最后以汇编文件的形式 ...

  6. arm汇编和c语言混合编程实验报告,实验三C语言和ARM汇编混合编程指导书.doc

    实验三C语言和ARM汇编混合编程指导书 实验三 1. 实验目的 掌握C语言和ARM汇编混合编程方法. 2. 实验设备 硬件:PC 机 一台 软件:Windows98/XP/2000 系统,ADS 1. ...

  7. 51汇编与c语言混合编程,C51与汇编混合编程详解

    C51与汇编混合编程详解 0750long | 2009-07-09 12:45:42    阅读:1257 发布文章 C51与汇编混合编程详解 C51和汇编混合编程(1)-C语言中嵌入汇编 1.在 ...

  8. Windows下Java调用BAT批处理不弹出cmd窗口

    常规Windows下Java调用BAT方式肯定会弹出cmd窗口 Runtime.getRuntime().exec("cmd.exe /C start D:\\test.bat") ...

  9. 关于win弹出cmd命令行问题

    关于win弹出cmd 出现命令行问题 一般是全屏打游戏的时候突然弹出来 比如APEX 如果你有到网站下载盗版游戏的记录,就需要注意了 极有可能是被修改了注册表 解决方法 火绒,什么什么查不到这个病毒 ...

最新文章

  1. Linux 套接字编程 套接字选项SO_BINDTODEVICE 绑定接口 示例
  2. c语言位运算 求1个整数的二进制数有多少个1
  3. 如果某个字段值相同则触发器新增_Thrift IDL新增字段导致版本不一致引发的惨案...
  4. 一个平庸程序员的自白
  5. yii mysql gii_Yii Gii使用
  6. Boost - 序列化 (Serialization)
  7. 基于http的netty demo
  8. Android Studio(5)--创建 Android 库
  9. ToF是否是噱头?小米王腾发长文详解...
  10. CCF201812-2 小明放学(100分)【序列处理】
  11. html样式格式文件的后缀名是( ),什么是HTML格式?什么是CSS格式?
  12. latex 琐粹记录
  13. Android IntentService deprecated|笔记
  14. 【小游戏】2D游戏黄金矿工GoldMiner(关卡模式)
  15. LPC1788 引脚分析
  16. ELO(埃洛匹配分制度)Java篇
  17. 项目笔记一-----------------iphone官网仿制
  18. u盘装机维护系统工具图文解说
  19. 广告效果聚类分析(KMeans)
  20. 实景三维如何助力智能应急?

热门文章

  1. Vuejs开发环境搭建及热更新
  2. 使用CSS实现无滚动条滚动
  3. 父类作为方法的形参以及父类作为方法返回值
  4. 04 linux用户群组和权限
  5. 运维人员日常工作(转自老男孩)
  6. jQuery基础--样式篇(3)
  7. jquery 获取easyui combobox选中的值
  8. PHP 性能分析: Xhprof Xhgui
  9. JAVA异常处理、常用类、反射、集合
  10. 缓存应用--Memcached分布式缓存简介(二)