获得jmp esp地址

对于大部分想要利用缓冲区溢出的人来说,jmp esp就再熟悉不过了,我最近发现网上将如何如何利用它的人太多太多,可是就是没人告诉在shellcode 中到底jmp esp的地址在哪,有些直接给除了它的地址可是由于jmp esp随系统的不同地址也不同,有可能别人能用,你拷下就没办法,于是,我便贴出下面一个实用程序,方便大家,而且值得一提的是如果将程序稍加修改,便可以查找任何机器码所对应汇编代码的地址。注意,文中以ntdll.dll里查找,有可能在ntdll.dll中找不到ffe4(jmp esp的机器码),你可以尝试其他dll,最好是常驻内存的,至于为啥,呵呵,想必大家都知道吧。

#include<windows.h>
#include<iostream.h>#include<tchar.h>
int main()
{
int nRetCode=0;
bool we_load_it=false;
HINSTANCE h;
TCHAR dllname[]=_T("ntdll");       
h=GetModuleHandle(dllname);
if(h==NULL){h=LoadLibrary(dllname);
if(h==NULL){cout<<"ERROR LOADING DLL:"<<dllname<<endl;
return 1;
}
we_load_it=true;
}
BYTE* ptr=(BYTE*)h;
bool done=false;
for(int y=0;!done;y++)
{try
{
if(ptr[y]==0xFF&&ptr[y+1]==0xE4)
{int pos=(int)ptr+y;
cout<<"OPCODE found at 0x"<<hex<<pos<<endl;}}
catch(...)
{
cout<<"END OF"<<dllname<<"MEMORY REACHED"<<endl;
done=true;
}
}
if(we_load_it)
FreeLibrary(h);
return nRetCode;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TreeView无限极分类绑定(从数据库读取数据源)

TreeView这个控件其实我本来不怎么会用到&#xff0c;今天有一个项目要用到&#xff0c;而且是无限极的分类数据绑定&#xff0c;于是就根据自己以前写过的代码别写出了这个无限极分类的例子&#xff0c;呵呵希望能够对大家有所帮助&#xff0c;本人尽量把注释写的详细一些把&a…

为何把牛奶倒入大海

汤姆是生活在米国乌有城城郊的一位奶牛场主&#xff0c;不知何故&#xff0c;方圆数百里&#xff0c;只有这一家奶牛场。汤姆的奶牛场有2000头奶牛&#xff0c;每月产奶2000吨&#xff0c;这牛奶供应给乌有城的市民和周边的农民。牛奶售价是每吨500美元&#xff0c;每吨牛奶的生…

软件工程 软件设计 步骤_好的软件设计特点 软件工程

软件工程 软件设计 步骤For good quality software to be produced, the software design must also be of good quality. Now, the matter of concern is how the quality of good software design is measured? This is done by observing certain factors in software desi…

android游戏黑屏,第五人格游戏进不去黑屏解决办法

小编今天给各位玩家朋友们带来的是第五人格游戏进不去黑屏解决办法&#xff0c;很多的玩家朋友们在第五人格更新后都出现了黑屏、游戏无法进入等情况&#xff0c;这应该怎么办呢&#xff1f;小编把解决方法给大家整理在了下方&#xff0c;感兴趣的小伙伴们快来跟小编一起往下看…

交换输出

描述 输入n(n<100)个数&#xff0c;找出其中最小的数&#xff0c;将它与最前面的数交换后输出这些数。(如果这个第一个数就是最小的数&#xff0c;则保持原样输出&#xff0c;如果最小的数有相同的按照前面的交换) 输入 输入数据有多组&#xff0c;每组占一行&#xff0c…

线性表----顺序表

线性表的定义 线性表是具有相同数据类型的n个数据元素的有限序列&#xff0c; 逻辑特性 除第一个元素外&#xff0c;每个元素只有一个前驱&#xff0c;除最后一个元素外&#xff0c;每个元素都有一个后继 物理结构 线性表的存储结构有顺序存储结构和链式存储结构&#xff…

python各种语言间时间的转化

一 基本知识millisecond 毫秒microsecond 微秒 nanosecond 纳秒1秒1000毫秒 1毫秒1000微秒 1微秒1000纳秒二 perlperl中可以使用time或localtime来获得时间&#xff0c;time返回从1970年1月1日0点的秒数&#xff0c;localtime返回当前时间的字符串表示&#xff0c;或者年月日等…

javascript小技巧

事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x event.…

树、二叉树、二叉搜索树_检查二叉树是否为BST(二叉搜索树)

树、二叉树、二叉搜索树Description: 描述&#xff1a; This article describes how to check whether a given tree is BST or not? This problem came in coding round of Microsoft. 本文介绍如何检查给定的树是否是BST &#xff1f; 这个问题来自微软的编码回合。 Probl…

兄弟郊游问题

描述 兄弟俩骑车郊游&#xff0c;弟弟先出发&#xff0c;每分钟X米&#xff0c;M分钟后&#xff0c;哥哥带一条狗出发。以每分钟Y米的速度去追弟弟&#xff0c;而狗则以每分钟Z米的速度向弟弟跑去&#xff0c;追上弟弟后又立即返回&#xff0c;直到哥哥追上弟弟时&#xff0c;…

栈溢出利用-----jmp esp

通过jmp esp利用栈溢出&#xff0c;首先我们要找出jmp esp 的地址&#xff0c;因为系统不同&#xff0c;通用jmp esp的地址可能不同&#xff0c;下面的代码是找出jmp esp的地址的&#xff1a; #include<windows.h> #include<iostream.h>#include<tchar.h> i…

android 队列上传图片,话说android端七牛图片上传

七牛图片上传业务流程如下图(这是官方的图)&#xff1a;由上图可知&#xff0c;要想实现图片上传&#xff0c;是要三端进行交互的(我刚刚开始以为只要七牛服务器跟客户端交互就行)接下来步骤如下&#xff1a;1、首先肯定是要有一个七牛的账号&#xff0c;并创建一个空间2、客户…

在.NET中得到计算机硬件信息的一些功能

得到显示器分辨率 Dim X As Short System.Windows.Forms.Screen.PrimaryScreen.Bounds.WidthDim Y As Short System.Windows.Forms.Screen.PrimaryScreen.Bounds.HeightMsgBox("您的显示器分辨率是&#xff1a;" & X & " X " & Y) 得到特殊文…

GridView 利用AspNetPager 分页时的自动编号

GridView 利用AspNetPager 分页时的自动编号 <%# (this.WillisPager1.CurrentPageIndex-1) * this.WillisPager1.PageSize Container.DataItemIndex 1%> 转载于:https://www.cnblogs.com/waren168/archive/2011/07/18/2109305.html

bst 删除节点_C ++程序查找具有N个节点的BST数量(加泰罗尼亚编号)

bst 删除节点Problem statement: C program to find number of binary search trees with n nodes. 问题陈述&#xff1a; C 程序查找具有n个节点的二进制搜索树的数量。 Input format: single integer n 输入格式&#xff1a;单整数n Constraints: 0<n<15 约束&#x…

线性表----链式表

定义 线性表的链式存储又称单链表&#xff0c;它是指通过任意的存储单元来存储线性表的数据。注意此时的数据在物理地址上不在连续&#xff0c;内存是动态分配的&#xff0c;而且数据是存放在结点中&#xff0c;结点组成链表&#xff0c;每个节点分为数据域和指针域&#xff0…

奋斗的小蜗牛

描述 传说中能站在金字塔顶的只有两种动物&#xff0c;一种是鹰&#xff0c;一种是蜗牛。一只小蜗牛听了这个传说后&#xff0c;大受鼓舞&#xff0c;立志要爬上金字塔。为了实现自己的梦想&#xff0c;蜗牛找到了老鹰,老鹰告诉它金字塔高H米&#xff0c;小蜗牛知道一个白天自…

android intent实验,Android开发课程实验报告③ intent的使用

Android开发课程实验报告author&#xff1a;065实验四&#xff1a;intent实验报告目录实验目的初学移动应用公开发中的Android开发&#xff0c;实验四的主要内容为intent的使用&#xff0c;通过这一次实验&#xff0c;掌握基本的intent使用方法。具体实验分析实验第一步&#x…

[职场生存]细节和感觉[一]

zhengyun 200701 刚刚进入软件行业的时候&#xff0c;我特别喜欢问那些我眼中的强人一个问题&#xff1a;“怎么让自己比别人更快更强?”那时候真的是感觉“一万年太久&#xff0c;只争朝夕”。 下面挑出其中我认为很重要的两点和大家分享。这两点适用于技术人员乃至于不同行业…

程序开发基础学习四(boost::signal2 函数学习)

在游戏编程中&#xff0c;新的策划需求总是在迭代不停。。。。。。&#xff0c;对于游戏程序员肯定深有感触吧&#xff0c;遇到这种情况咱只能小小的抱怨下&#xff0c;活还得干。尤其是遇到耦合到很多类的时候&#xff0c;要是直接实现不加抽象的话&#xff0c;那咱的代码就要…