c和汇编混合编程----shellcode----弹出计算器
先用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----弹出计算器相关推荐
- shellcode---c和汇编混合编程---弹出cmd
首先用C/C++语言实现弹出cmd #include "stdio.h" #include "windows.h"int main(int argc, char ...
- C和汇编混合编程---栈平衡
最近在搞C和汇编混合编程,对栈平衡有点小理解,记录一下 当我们调用一个API或者子程序时时,API和子程序可以理解为函数,我们不必在返回的时候平衡栈里面的函数参数,但C语言库函数要我们自己平衡栈数据, ...
- C和汇编混合编程----实现浮点数的加减乘除
加法 C程序: #include "stdio.h"int main() {float a=1.0;float b=2.34;float c;c=a+b;printf(" ...
- ARM中C和汇编混合编程及示例
在嵌入式系统开发中,目前使用的主要编程语言是C和汇编,C++已经有相应的编译器,但是现在使用还是比较少的.在稍大规模的嵌入式软件中,例如含有OS,大部分的代码都是用C编写的,主要是因为C语言的结构比较 ...
- arm export 汇编_C/C++与汇编混合编程有什么好处?
1.导语 当需要C/C++与汇编混合编程时,可以有以下两种处理策略: 若汇编代码较短,则可在C/C++源文件中直接内嵌汇编语言实现混合编程. 若汇编代码较长,可以单独写成汇编文件,最后以汇编文件的形式 ...
- arm汇编和c语言混合编程实验报告,实验三C语言和ARM汇编混合编程指导书.doc
实验三C语言和ARM汇编混合编程指导书 实验三 1. 实验目的 掌握C语言和ARM汇编混合编程方法. 2. 实验设备 硬件:PC 机 一台 软件:Windows98/XP/2000 系统,ADS 1. ...
- 51汇编与c语言混合编程,C51与汇编混合编程详解
C51与汇编混合编程详解 0750long | 2009-07-09 12:45:42 阅读:1257 发布文章 C51与汇编混合编程详解 C51和汇编混合编程(1)-C语言中嵌入汇编 1.在 ...
- 嵌入式c语言汇编混合编程,嵌入式C语言和汇编语言的混合编程
此文章简单介绍 单片机 C语言和汇编语言混合编程的例子.主要用单片机汇编语言编写DS1302的底层驱动,在C语言里通过调用汇编语言,从而实现C和汇编的混合编程. ;汇编语言源文件 ;========= ...
- arm学习笔记五(c/c++与arm汇编混合编程)
混合编程 常见方式: 1 在c/c++程序中嵌入汇编指令 语法格式: __asm { 汇编语言程序 } 2 在汇编程序中访问c/c++定义的全局变量 示 ...
最新文章
- Linux系统的大小端模式
- css涟漪光圈扩散_CSS动画实例:圆的涟漪扩散
- java学习(59):static修饰内部类
- FullCalendar 四:FullCalendar应用——新建日程事件
- 使用for循环嵌套实现乘法口诀表
- JS实现子类调用父类的同名函数函数
- 下列描述中 哪些符合java语言的特征_coreJavaBasic试题带答案
- GDI+ Graphics类
- python机器学习之决策树详解
- acer switch 10 linux,acer switch 10好不好
- CF1427F Boring Card Game
- Cisco交换机密码破解
- 清华牛人总结的数据分析笔记
- 恒大通关世界500强:一家房企的进阶路与中国民营企业的边界探索
- teamviewer被检测为商业用途解决方法
- 2020厦门国际银行数创金融杯建模大赛(一)----赛题说明数据重塑Baseline
- Http协议和Python调试过程
- zippo蚀刻计算机键盘,【图片】蚀刻机自己填漆【zippo吧】_百度贴吧
- 【网络】Wireshark对远程主机抓包|过滤|原理
- python 小游戏——外星人入侵源码倾情奉献
热门文章
- MVC 之var与dynamic
- 赞!15个来自 CodePen 的酷炫 CSS 动画效果
- 小程序各种姿势实现登录
- Flexible 弹性盒子模型之CSS flex-shrink 属性
- css渲染(一) 字体
- H5_ 多媒体video,autio使用示例
- 2.12 Hivet中order by,sort by、distribute by和cluster by
- Css Sprites 多张图片整合在一张图片上
- html输入完账号密码才能跳转,HTML输入字段跳转
- jmeter找不到java.dll_Windows下Jmeter安装出现Not able to find Java executable or version问题解决方案...