应用shellcode的简单示例
来源:互联网 发布:重庆宝钻资产管理 知乎 编辑:程序博客网 时间:2024/06/11 04:49
原程序,调用windows计算器:
#include <windows.h>int main(){WinExec("calc.exe",SW_SHOW);return 0;}
用内联汇编代码的方式实现WinExec("calc.exe",SW_SHOW)的功能:
#include <windows.h>int main(){__asm{push ebpmov ebp,espadd esp,-12mov dword ptr [ebp-4],0mov byte ptr [ebp-5],0x65mov byte ptr [ebp-6],0x78mov byte ptr [ebp-7],0x65mov byte ptr [ebp-8],0x2emov byte ptr [ebp-9],0x63mov byte ptr [ebp-10],0x6cmov byte ptr [ebp-11],0x61mov byte ptr [ebp-12],0x63push 5lea eax,dword ptr [ebp-12]push eaxmov eax,0x76542ec9call eaxmov esp,ebppop ebp}return 0;}
把汇编代码对应的机器码定义到shellcode变量,然后在main函数中用汇编代码进行调用:
#include <windows.h>char shellcode[] = "\x55\x8b\xec\x83\xc4\xf4\xc7\x45""\xfc\x00\x00\x00\x00\xc6\x45\xfb""\x65\xc6\x45\xfa\x78\xc6\x45\xf9""\x65\xc6\x45\xf8\x2e\xc6\x45\xf7""\x63\xc6\x45\xf6\x6c\xc6\x45\xf5""\x61\xc6\x45\xf4\x63\x6a\x05\x8d""\x45\xf4\x50\xb8\xc9\x2e\x54\x76""\xff\xd0\x8b\xe5\x5d\xc3";//0x76542ec9是WinExec函数的地址,可能会变。。。int main(){__asm{lea eax,shellcodecall eax}return 0;}
1 0
- 应用shellcode的简单示例
- 简单Shellcode的详细分析
- 触发器的简单应用示例
- 简单shellcode
- shellcode实战编写示例
- AJAX基础应用的简单示例
- 简单应用prototype的Ajax代理示例
- 一个简单的freemarker应用示例
- Notification的一个简单应用代码示例
- Ajax应用简单示例
- 3个月的SHELLCODE研究成果-一个最简单的Shellcode
- 关于一个简单shellcode封装成C语言的形式
- 一个简单的ShellCode执行器&代码(just for fun)
- 从汇编代码提取Shellcode的简单实现
- JAVA接口的应用及工厂模式的简单示例
- Tomcat4/5连接池的设置及简单应用示例
- Tomcat4/5连接池的设置及简单应用示例
- Tomcat4/5连接池的设置及简单应用示例
- 开始开发 Dashboard Widgets,第2章,读书笔记
- 有关于在Extjs4环境中,window窗口下的messageBox弹窗的bug以及解决方案
- 最好用的 Eclipse 插件收藏
- JAVA 大数(BigInteger) 归纳总结 .
- 被忽视的TWaver功能(1)
- 应用shellcode的简单示例
- Codeforces 363C. Fixing Typos
- 如何测试一个网页登陆界面--转
- 杨辉三角
- [转]Android 微信SDK分享功能中的最全过程步骤分析
- Codeforces Round #274 (Div. 2)——B、Towers
- 复活Java 前言
- 20 改进的冒泡排序--双向冒泡排序
- Linux 安装命令