先用c和汇编混合编程成功弹出计算器(在VC++里运行)

#include "stdio.h"
#include "windows.h"int main(int argc, char* argv[])
{printf("begin\n");HINSTANCE libHandle;char *dll="kernel32.dll";libHandle=LoadLibrary(dll);{sub esp,0x454xor ebx,ebxpush ebxmov eax,0x6578652epush eaxmov eax,0x636c6163push eaxmov eax,esppush 5push eaxcall dword ptr [WinExec]mov esp,0x450}return 0;}

设置断点,反汇编

将程序的反汇编复制到一个文本编辑器里,将上面汇编的机器码找出来

在机器码前面加上\x,放到一个字符数据里

char shellcode[]="\x81\xEC\x54\x04\x00\x00\x33\xDB\x53\xB8\x2E\x65\x78\x65\x50\xB8\x63\x61\x6C\x63\x50\x8B\xC4\x6A\x05\x50\xFF\x15\x14\xA2\x42\x00\xBC\x50\x04\x00\x00";

只要取汇编的机器码就行,c的不用管

将上面的程序改成

#include "stdio.h"
#include "windows.h"char shellcode[]="\x81\xEC\x54\x04\x00\x00\x33\xDB\x53\xB8\x2E\x65\x78\x65\x50\xB8\x63\x61\x6C\x63\x50\x8B\xC4\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);__asm{lea eax,shellcodecall eax}return 0;}

在运行,也能弹出计算器

c和汇编混合编程----shellcode----弹出计算器相关推荐

  1. shellcode---c和汇编混合编程---弹出cmd

    首先用C/C++语言实现弹出cmd #include "stdio.h" #include "windows.h"int main(int argc, char ...

  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. 嵌入式c语言汇编混合编程,嵌入式C语言和汇编语言的混合编程

    此文章简单介绍 单片机 C语言和汇编语言混合编程的例子.主要用单片机汇编语言编写DS1302的底层驱动,在C语言里通过调用汇编语言,从而实现C和汇编的混合编程. ;汇编语言源文件 ;========= ...

  9. arm学习笔记五(c/c++与arm汇编混合编程)

    混合编程 常见方式:  1 在c/c++程序中嵌入汇编指令   语法格式: __asm {           汇编语言程序         }  2 在汇编程序中访问c/c++定义的全局变量   示 ...

最新文章

  1. Linux系统的大小端模式
  2. css涟漪光圈扩散_CSS动画实例:圆的涟漪扩散
  3. java学习(59):static修饰内部类
  4. FullCalendar 四:FullCalendar应用——新建日程事件
  5. 使用for循环嵌套实现乘法口诀表
  6. JS实现子类调用父类的同名函数函数
  7. 下列描述中 哪些符合java语言的特征_coreJavaBasic试题带答案
  8. GDI+ Graphics类
  9. python机器学习之决策树详解
  10. acer switch 10 linux,acer switch 10好不好
  11. CF1427F Boring Card Game
  12. Cisco交换机密码破解
  13. 清华牛人总结的数据分析笔记
  14. 恒大通关世界500强:一家房企的进阶路与中国民营企业的边界探索
  15. teamviewer被检测为商业用途解决方法
  16. 2020厦门国际银行数创金融杯建模大赛(一)----赛题说明数据重塑Baseline
  17. Http协议和Python调试过程
  18. zippo蚀刻计算机键盘,【图片】蚀刻机自己填漆【zippo吧】_百度贴吧
  19. 【网络】Wireshark对远程主机抓包|过滤|原理
  20. python 小游戏——外星人入侵源码倾情奉献

热门文章

  1. MVC 之var与dynamic
  2. 赞!15个来自 CodePen 的酷炫 CSS 动画效果
  3. 小程序各种姿势实现登录
  4. Flexible 弹性盒子模型之CSS flex-shrink 属性
  5. css渲染(一) 字体
  6. H5_ 多媒体video,autio使用示例
  7. 2.12 Hivet中order by,sort by、distribute by和cluster by
  8. Css Sprites 多张图片整合在一张图片上
  9. html输入完账号密码才能跳转,HTML输入字段跳转
  10. jmeter找不到java.dll_Windows下Jmeter安装出现Not able to find Java executable or version问题解决方案...