对于大部分想要利用缓冲区溢出的人来说,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;}

获得jmp esp地址相关推荐

  1. 轻松将jmp esp方式 改写为jmp ebx方式

    转载:Q版黑客溢出教程一书 写这篇文章,希望能给想我一样的初学缓冲区溢出的菜鸟一些帮助,因为到现在的确还没找到介绍这类的文章.首先,介绍在堆栈溢出中,我们的两种利用方式-jmp esp和jmp ebx ...

  2. 缓冲区溢出(栈溢出)实验 之 JMP ESP

    3.缓冲区溢出之JMP ESP 本文属于原创,如有错误请指正.其中引用他人的部分已经标出,如涉及版权问题请联系本人 这里不得不讲一讲JMP ESP的原理了,在实验之前我一直没看懂他是如何试下跳转ESP ...

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

    通过jmp esp利用栈溢出,首先我们要找出jmp esp 的地址,因为系统不同,通用jmp esp的地址可能不同,下面的代码是找出jmp esp的地址的: #include<windows.h ...

  4. 利用JMP ESP植入SHELLCODE

    当我们使用构造shellcode覆盖返回地址跳转到shellcode植入点的位置进行攻击时,常常很难找到该地址的具体位置,无法到达目标计算机上去调试,因此更常用的是利用JMP ESP指令来进行攻击. ...

  5. CVE-2010-3333

    环境 windows xp sp3 office 2003 sp0 windbg ollydbg vmware 12.0 0x00 RTF格式 RTF是Rich TextFormat的缩写,意即富文本 ...

  6. 矛与盾:二进制漏洞攻防思想对抗

    0×0二进制漏洞 二进制漏洞是可执行文件(PE.ELF文件等)因编码时考虑不周,造成的软件执行了非预期的功能.二进制漏洞早期主要以栈溢出为主,那时候操作系统和软件厂商还没有相应的安全意识,漏洞利用在当 ...

  7. 进制转换c++代码_跟小黑学漏洞利用开发之16进制字符转换

    Hello Every Boby! 又是一篇缓冲区漏洞利用的文章,本文我们将继续使用vulnserver漏洞练习程序中-HTER指令,它与前一篇Unicode类似.LTER缓冲区转换为Unicode, ...

  8. 64位虚拟机下asm()语法_一步步学写Windows下的Shellcode

    如何在WIndows下编写一个shellcode?为什么会问这个问题,前段时间在做win下的Exploit,但是都是使用大佬写的shellcode,无法实现个人的一些需求.而网络上编写shellcod ...

  9. 16进制的两位数转换不了 matlab_跟小黑学漏洞利用开发之16进制字符转换

    Hello Every Boby! 又是一篇缓冲区漏洞利用的文章,本文我们将继续使用vulnserver漏洞练习程序中-HTER指令,它与前一篇Unicode类似.LTER缓冲区转换为Unicode, ...

最新文章

  1. Tomcat软件的目录结构、作用
  2. Python:通过远程监控用户输入来获取淘宝账号和密码的实验(一)
  3. 如何查看oracle 查版本号
  4. nn.AdaptiveAvgPool1d()
  5. word样式基准_「word技巧」简单的排版技巧—给word文档添加各种样式边框线
  6. 基于LSTM的序列预测: 飞机月流量预测
  7. 嵌入式C语言之位运算 ..|.~.
  8. gulp教程之gulp-minify-css【gulp-clean-css】
  9. 小程序 ajax 加载,小程序实战-小程序网络请求异步加载
  10. 134_Power BI Report Server之某消费品运营数据监控
  11. SQL删除数据delete
  12. python print不换行输出_python中print如何不换行输出
  13. c语言栈的实现以及操作_C++语言实现顺序栈
  14. 超快速的端到端实例分割模型,手把手教你用opencv部署Yolact
  15. WebSocket 协议 RFC 文档(全中文翻译) 1
  16. linux ncm网络性能优化,USB linux NCM usbnet驱动详解
  17. Android 调用12306接口,聚合数据Android SDK 12306火车票查询订票演示示例 编辑
  18. Normalized Gini Coefficient
  19. 计算机的发展经历的变革主要基于,计算机应用基础试题
  20. 手机上如何使用Termux当终端,以及开启SSH服务的步骤

热门文章

  1. [译] 帮助你成为一名成功的 Web 开发工程师的 21 步
  2. HTML基础知识(常见元素、列表、链接元素、图片元素)
  3. 《软件工程导论》课后习题解答
  4. ubuntu 开发板ping通虚拟机挂载nfs服务器
  5. web.xml 中的listener、 filter、servlet 加载顺序
  6. Mysql数据库安全管理配置
  7. MySQL 导出命令
  8. Ubuntu下将Sublime Text设置为默认编辑器
  9. php发邮箱验证码找回密码,织梦dede会员通过邮箱找回密码方法
  10. php实现第三方邮箱登录_PHP实现用户异地登录提醒功能的方法