shellcode---c和汇编混合编程---弹出cmd
首先用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;
}
注意:
- 如何引用字符串
char *str="cmd.exe";
......
mov eax,str
- 如何引用字符数据
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
- 用机器码的时候,不知道为什么有时候弹不出来,用汇编弹出之后再用机器码可以弹出,但是程序是没错的,不知道是不是VC++的原因
shellcode---c和汇编混合编程---弹出cmd相关推荐
- c和汇编混合编程----shellcode----弹出计算器
先用c和汇编混合编程成功弹出计算器(在VC++里运行) #include "stdio.h" #include "windows.h"int main(int ...
- 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.在 ...
- Windows下Java调用BAT批处理不弹出cmd窗口
常规Windows下Java调用BAT方式肯定会弹出cmd窗口 Runtime.getRuntime().exec("cmd.exe /C start D:\\test.bat") ...
- 关于win弹出cmd命令行问题
关于win弹出cmd 出现命令行问题 一般是全屏打游戏的时候突然弹出来 比如APEX 如果你有到网站下载盗版游戏的记录,就需要注意了 极有可能是被修改了注册表 解决方法 火绒,什么什么查不到这个病毒 ...
最新文章
- Linux 套接字编程 套接字选项SO_BINDTODEVICE 绑定接口 示例
- c语言位运算 求1个整数的二进制数有多少个1
- 如果某个字段值相同则触发器新增_Thrift IDL新增字段导致版本不一致引发的惨案...
- 一个平庸程序员的自白
- yii mysql gii_Yii Gii使用
- Boost - 序列化 (Serialization)
- 基于http的netty demo
- Android Studio(5)--创建 Android 库
- ToF是否是噱头?小米王腾发长文详解...
- CCF201812-2 小明放学(100分)【序列处理】
- html样式格式文件的后缀名是( ),什么是HTML格式?什么是CSS格式?
- latex 琐粹记录
- Android IntentService deprecated|笔记
- 【小游戏】2D游戏黄金矿工GoldMiner(关卡模式)
- LPC1788 引脚分析
- ELO(埃洛匹配分制度)Java篇
- 项目笔记一-----------------iphone官网仿制
- u盘装机维护系统工具图文解说
- 广告效果聚类分析(KMeans)
- 实景三维如何助力智能应急?