ShellCode的编写就是将函数或变量在内存中的间接地址改为函数或变量在内存中的直接地址,直接调用!

以MessageBox函数为例进行讲解如下

新建shellcode.cpp:

编写代码如下:

运行结果:

将VC代码转换成汇编指令:

内存数据图:

函数的真实地址找到之后,修改代码如下:

将以上汇编指令转换成二进制数据:

内存数据图:

将0x0040103C~0x00401049之间的二进制数据复制出来

如下:

6A 00 6A 00 6A 00 6A 00 B8 1E FD 0B 75 FF D0

最终shellcode代码:

运行结果:

最新文章

  1. 移动端web开发基础概念
  2. Velocity(7)——#foreach指令
  3. Turing Tree_线段树&树状数组
  4. Express 4 更新改变文档
  5. CSS控制a标签链接的四种状态
  6. 论文笔记之:Multiple Object Recognition With Visual Attention
  7. 记录sublime text2的技巧
  8. 【原】Kryo序列化篇
  9. Codevs 3287 货车运输 2013年NOIP全国联赛提高组(带权LCA+并查集+最大生成树)
  10. 利用ARM批量自动化创建SSD多磁盘RAID0虚拟机
  11. 单实例支撑每天上亿个请求的SSDB
  12. lock订单号
  13. Lucene5.5.4入门以及基于Lucene实现博客搜索功能
  14. GTD:让大脑用来思考,而不是用来记事!
  15. 彻底解决MacOS上应用程序快捷键冲突的问题,自定义快捷键设置
  16. mac连接windows远程桌面及文件复制
  17. Scala学习(六)练习
  18. 如何取出word文档里的图片
  19. 1007 Maximum Subsequence Sum (25)(25 point(s))
  20. 基于 HTML5 Canvas 的 Web SCADA 组态电机控制面板

热门文章

  1. 如何卸载烦人的2007组件,windows提供的解决方案
  2. Vacant Seat(Atcoder-C-交互式题目)
  3. Docker Container开机自动启动
  4. Dizcuz站点部署-包教会
  5. 一个很实用的css技巧简析
  6. Day 1 模拟
  7. python 读取 execl 文件 之 xlrd 模块
  8. HTML、CSS笔记
  9. JS基础入门篇(十二)—JSON和Math
  10. blender 2.8 [学习笔记-04] 编辑模式-网格拆分