方法 - ShellCode测试
机器码->汇编
1 // ShellCode测试.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <windows.h>
#include <iostream> using namespace std; typedef void*(*LPFN_FUNC_1)();
void Sub_1(); int main()
{
Sub_1(); return ;
} void Sub_1()
{ char ShellCode[] = { }; ShellCode[] = 0xEB;
ShellCode[] = ;
ShellCode[] = 0x10;
ShellCode[] = 0x00;
ShellCode[] = 0x00;
ShellCode[] = 0x00;
ShellCode[] = 0x8b;
ShellCode[] = 0xc1;
ShellCode[] = 0x48;
ShellCode[] = 0x8d;
ShellCode[] = 0x58;
ShellCode[] = 0xAA;
ShellCode[] = 0x49;
ShellCode[] = 0x89;
ShellCode[] = 0xd9;
ShellCode[] = 0x48;
ShellCode[] = 0x8d;
ShellCode[] = 0x58;
ShellCode[] = 0xBB;
ShellCode[] = 0x49;
ShellCode[] = 0x89;
ShellCode[] = 0xd8;
ShellCode[] = 0x48;
ShellCode[] = 0x31;
ShellCode[] = 0xd2;
ShellCode[] = 0x48;
ShellCode[] = 0x31;
ShellCode[] = 0xd1;
ShellCode[] = 0x48;
ShellCode[] = 0x8b;
ShellCode[] = 0x58;
ShellCode[] = 0xCC;
ShellCode[] = 0xff;
ShellCode[] = 0xd3;
ShellCode[] = 0x48;
ShellCode[] = 0x83;
ShellCode[] = 0xc4;
ShellCode[] = 0x20;
ShellCode[] = 0x5b;
ShellCode[] = 0xc3; VOID* VirtualAddress = (VOID*)VirtualAlloc(
NULL, sizeof(ShellCode), MEM_COMMIT, PAGE_EXECUTE_READWRITE); if (VirtualAddress == NULL)
{
return;
} memcpy(VirtualAddress, ShellCode, sizeof(ShellCode)); ((LPFN_FUNC_1)VirtualAddress)(); VirtualFree(VirtualAddress, sizeof(ShellCode), MEM_RELEASE);
VirtualAddress = NULL;
} /* EB char
0-127 正数
128-255 负数
*/
1.下断点

2.调试->反汇编

3.进入VirtualAddress (F11)

还有一些软件,x86下我用这个作为参考:
链接:http://pan.baidu.com/s/1c2Elh52 密码:2utn

方法 - ShellCode测试的更多相关文章
- 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。
22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...
- Winform中修改WebBrowser控件User-Agent的方法(已经测试成功)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- Fundebug前端JavaScript插件更新至1.6.0,新增test()方法用于测试
摘要: 1.6.0新增fundebug.test()方法用于测试,请大家及时更新. 默认情况下,Fundebug 插件能够自动捕获未处理的错误(uncaught error).另外,开发者也可以通过使 ...
- spring3.0框架检测方法运行时间测试(转)
主要利用了Spring AOP 技术,对想要统计的方法进行横切处理,方法执行前开始计时,方法执行后停止计时,得到计时方法就是该方法本次消耗时间. 步骤: 首先编写自己的Interceptor类来实现M ...
- TDD学习笔记【三】---是否需针对非public方法进行测试?
前言 在Visual Studio 2012 中,针对Unit Test 的部分,有一个重要的变动: 原本针对「测试对象非public 的部分」,开发人员可通过Visual Studio 2010 自 ...
- QT连接多种数据库f方法及测试
QT提供了对多种数据库的访问支持,对SQL Server也可以通过ODBC来进行访问.要想顺利访问SQL Server. 首先要保证以下几点:1. QT编译时已经编译了QtSql2. 编译了ODBC插 ...
- JavaScript数组去重方法及测试结果
最近看到一些人的去面试web前端,都说碰到过问JavaScript数组去重的问题,我也学习了一下做下总结. 实际上最有代表性也就三种方法:数组双重循环,对象哈希,排序后去重. 这三种方法我都做了性能测 ...
- 阶段5 3.微服务项目【学成在线】_day18 用户授权_06-方法授权-方法授权测试-无权限异常处理
现在没权限返回的信息 控制台抛出的异常是这个 : 不允许访问,这是Spring Security跑出来的 我们在异常处理器里面打个断点看一下 重新测试,就跳转到了异常捕获类这里. 这是异常的类型 这里 ...
- sd卡脱机烧写系统的方法(测试成功)
一.sd卡烧写系统的基本思路: (1)把uboot.bin烧写到sd卡 (2)把image整个文件夹复制到sd卡 (3)开发板从sd卡启动,就开始自动烧写到nandflash中了. 二.烧写uboot ...
随机推荐
- Go Example--指针
package main import ( "fmt" ) func zeroval(ival int) { ival = 0 } func zeroptr(iptr *int) ...
- LeetCode – Number of Islands II
A 2d grid map of m rows and n columns is initially filled with water. We may perform an addLand oper ...
- PureComponent的作用及一些使用陷阱
默认渲染行为的问题 在React Component的生命周期中,有一个shouldComponentUpdate方法.这个方法默认返回值是true. 这意味着就算没有改变组件的props或者stat ...
- zabbix怎么把英文界面换成中文
虽然能勉勉强强能看懂大部分英文,但感觉还是直接换中文方便上手一点
- MySQL InnoDB Engine--数据预热
##========================================##在MySQL 5.7版本中引入将Innodb Buffer中数据备份和回复的新特性,具体原理时将Buffer p ...
- socket服务器编程的一般思路
socket bind 创建一个listern线程 为每一个连接的client创建一个线程
- ML(3)——线性回归
在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性 ...
- [转]DB2错误代码大全
DB2 SQLSTATE 消息 异常 一2008-03-31 13:17SQLSTATE 消息本节列示 SQLSTATE 及其含义.SQLSTATE 是按类代码进行分组的:对于子代码,请参阅相应的表. ...
- C# 委托、lambda表达式和事件
什么是委托?委托就是持有一个或多个方法的对象,并且该对象可以执行,可以传递. using System; using System.Collections.Generic; using System. ...
- ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel
本文简单介绍一下在母版页中使用UpdatePanel控件,翻译自官方文档. 主要内容 1.添加UpdatePanel控件到Content Page 2.通过Master Page刷新UpdatePan ...