[mark] first shellcode
好久没写博客了,今天终于搞出了第一个shellcode,以此mark一下。
#include "stdafx.h"
#include <Windows.h>
#include <tchar.h> int _tmain(int argc, _TCHAR* argv[]) {
HMODULE hm = LoadLibrary(_T("kernel32.dll"));
int addr = (int)GetProcAddress(hm, "WinExec");
int exitaddr = (int)GetProcAddress(hm, "ExitProcess");
printf("the address is %2x\r\nthe exitaddris %2x", addr, exitaddr); char buf[] = {
"\x33\xc0" //xor eax,eax
"\x50" //push eax
"\xb8\x2e\x65\x78\x65" //mov eax,0x6578652e
"\x50" //push eax
"\xb8\x63\x61\x6c\x63" //mov eax,0x636c6163
"\x50" //push eax
"\x89\xe0" //mov eax,esp
"\x6a\x05" //push 0x5
"\x50" //push eax
"\xb8\xa0\xf8\x0a\x77" //mov eax,770af8a0
"\xff\xd0" //call eax
"\x33\xc0" // xor eax, eax
"\x50" //push eax
"\xb8\xb0\xad\x07\x77" //mov eax,7707adb0
"\xff\xd0" //call eax
};
/*
char buf[] = {
0x33, 0xc0, //xor eax,eax
0x50 , //push eax
0xb8, 0x2e, 0x65, 0x78, 0x65, //mov eax,0x6578652e
0x50, //push eax
0xb8, 0x63, 0x61, 0x6c, 0x63, //mov eax,0x636c6163
0x50, //push eax
0x89, 0xe0, //mov eax,esp
0x6a, 0x05, //push 0x5
0x50, //push eax
0xb8, 0xa0, 0xf8, 0x0a, 0x77, //mov eax,770af8a0
0xff, 0xd0, //call eax
0x33, 0xc0, // xor eax, eax
0x50, //push eax
0xb8, 0xb0, 0xad, 0x07, 0x77, //mov eax,7707adb0
0xff, 0xd0 //call eax
};
*/
__asm{
lea ecx, buf
call ecx
} /* __asm{
xor eax, eax
push eax
mov eax, 0x6578652E
push eax
mov eax, 0x636C6163
push eax
mov eax, esp
push 5
push eax
mov eax, 0x770af8a0
call eax
}
*/
//WinExec("calc.exe", SW_SHOW);
ExitProcess(0);
return 0; }
[mark] first shellcode的更多相关文章
- java.io.IOException: mark/reset not supported
java.io.IOException: mark/reset not supported at java.io.InputStream.reset(InputStream.java:348) at ...
- 逆向工程学习第二天--动手开发自己的第一个shellcode
一个简单的c语言添加windows管理员账号的小程序,之前在渗透的时候经常用到,现在拿它来做自己的第一个shellcode. C代码: #pragma comment(lib, "netap ...
- [mark] 使用Sublime Text 2时如何将Tab配置为4个空格
在Mac OS X系统下,Sublime Text是一款比较赞的编辑器. 作为空格党的自觉,今天mark一下使用Sublime Text 2时如何将Tab配置为4个空格: 方法来自以下两个链接: ht ...
- 【原创】内核ShellCode注入的一种方法
标 题: [原创]内核ShellCode注入的一种方法 作 者: organic 时 间: 2013-05-04,04:34:08 链 接: http://bbs.pediy.com/showthre ...
- 【逆向篇】分析一段简单的ShellCode——从TEB到函数地址获取
其实分在逆向篇不太合适,因为并没有逆向什么程序. 在http://www.exploit-db.com/exploits/28996/上看到这么一段最简单的ShellCode,其中的技术也是比较常见的 ...
- 特邀美国EMC实战专家Mark来华授课
“轻松搞定EMC-PCB和系统设计”课程介绍 本次课程特邀美国EMC领域权威专家Mark Montrose主讲,将涵盖满足产品电磁兼容性和信号完整性的基本原理.课程涉及多个领域,不仅仅针对PCB设计, ...
- 逆向工程学习第三天--另外一个ShellCode
上周自己打造的添加用户的shellcode太长,不过当时主要目的是为了锻炼手动asm,熟悉一些复杂的参数类型如何手动进行构造,然后通过堆栈传递. 接下来就打造一个弹计算器的shellcode来进行接下 ...
- 如何撤销 PhpStorm/Clion 等 JetBrains 产品的 “Mark as Plain Text” 操作 ?
当把某个文件“Mark as Plain Text”时,该文件被当做普通文本,就不会有“代码自动完成提示”功能,如下图所示: 但是呢,右键菜单中貌似没有 相应的撤销 操作, 即使是把它删除,再新建一个 ...
- vim - mark
Using markshttp://vim.wikia.com/wiki/Using_marks1. There is no visible indication of where marks are ...
随机推荐
- FineReport中如何对cpt模板加密
1. 描述 FR客户使用FineReport报表并将其集成到自己的产品中,然后提供给最终用户使用,最终用户可以预览FR模板,但是不能打开模板进行设计修改. FineReport提供了cpt模板Des加 ...
- Visual Studio自动添加头部注释 -C#开发2010-2013验证
在团队开发中,头部注释是必不可少的.但在开发每次新建一个类都要复制一个注释模块也很不爽,所以得想个办法让开发工具自动生成我们所需要的模板.....操作方法如下: 找你的vs安装目录, 比如我的是在D盘 ...
- POJ 2195 Going Home (带权二分图匹配)
POJ 2195 Going Home (带权二分图匹配) Description On a grid map there are n little men and n houses. In each ...
- 谈谈HashMap与HashTable
谈谈HashMap与HashTable HashMap 我们一直知道HashMap是非线程安全的,HashTable是线程安全的,可这是为什么呢?先聊聊HashMap吧,想要了解它为什么是非线程安全的 ...
- STL—对象的构造与析构
STL内存空间的配置/释放与对象内容的构造/析构,是分开进行的. 对象的构造.析构 对象的构造由construct函数完成,该函数内部调用定位new运算符,在指定的内存位置构造对象 ...
- css动画属性--轮播图效果
通过css的动画属性实现轮播图的显示效果 代码如下: 主体部分: <div id="move"> <ul> <li><img src=&q ...
- MyBatis+mysql 简单分页
注意:limit不能跟动态内容 <select id="fenYe" parameterType="int" resultType="com.x ...
- Swift 轻量级网络层设计
前言 普遍我们的网络层设计的时候直接是如下结构APIManager.post(url, parameter,completeHandle),服务器配置在APIManager.m文件中进行配置.这样一个 ...
- 共享---samba
1. 虚拟机,可以采用共享文件夹 2. windows之间可以使用网络邻居共享 3. windows与linux,linux与linux之间建立samba服务器 4. 安装samba服务器 r ...
- [补档][Tvyj 1729]文艺平衡树
[Tvyj 1729]文艺平衡树 题目 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结 ...