当前位置: 首页 > news >正文

国内做的比较好的跨境电商网站产品代理推广方案

国内做的比较好的跨境电商网站,产品代理推广方案,wordpress页面生成器,施秉网站建设一.手动新增节添加代码 1.当预备条件都满足,节表结尾没有相关数据时: 现在我们将ipmsg.exe用winhex打开,在节的最后新增一个节用于存放我们要增加的数据 注意:飞鸽的文件对齐和内存对齐是一致的 先判断节表末尾到第一个节之间…

一.手动新增节添加代码

1.当预备条件都满足,节表结尾没有相关数据时:

现在我们将ipmsg.exe用winhex打开,在节的最后新增一个节用于存放我们要增加的数据

注意:飞鸽的文件对齐和内存对齐是一致的

先判断节表末尾到第一个节之间是否够80字节:可选PE头中SizeOfHeaders值为0x1000,标准PE头中SizeOfOptionalHeader获取可选pe头的大小值为0xE0,NumberOfSections获取节的数量为0x4,DOS头中e_lfanew获取NT的地址为0xE0,PE签名大小0x04,标准PE头大小0x14,通过0x1000 - (0xE0 + 0x4 + 0x14 + 0xE0 + 0x4 * 0x28)= 0xD88获取节表到节之间的空白区大小,因为0xD88 > 0x50,所以可以存下新增节表。在实际操作中,我们肉眼便可判断空间是否足够

我们将.text节表(注意是第一个节表)的40字节复制一份到节表末尾地址0x278:选中.text40字节复制,再选中0x278到后面40字节数据粘贴,这样我们就把.text节表内容复制一份添加到节表末尾作为新节表的40字节

注:winhex中write是覆盖选中数据,paste是插入

接着为了满足Windows格式要求将新增节后面的40字节数据改为0

修改PE标准头中的NumberOfSections值为4 + 1 = 5

先看一下文件对齐和内存对齐都是0x1000,所以我们新增的节大小为了方便后面修改可以设定为0x1000字节大小,这已经足够存放我们想要添加的代码了。(如果文件对齐和内存对齐不一样,那可以选择两个的最小公倍数,方便后面的修改)

接着修改可选PE头中SizeOfImage值:由于我们想要新增节的大小为0x1000(考虑了内存对齐),所以将SizeOfImage + 0x1000即可,0x3D000 + 0x1000 = 0x3E000

然后修改节表中的字段:

Name:名字改为.tttt 2E 74 74 74 74

Misc.VirtualSize:直接写0x1000,即内存中对齐前的长度

VirtualAddress:0x30000 + 0x4000 + 0x4000 + 0x4000 + 0x4000 = 0x3D000 第一个节的VirtualAddress时0x300000,一共四个节,每个节对齐后是0x4000大小,加起来就是0xD0000

SizeOfRawData:0x1000

PointerToRawData:0x2C000 + 0xD000 = 0x39000

属性值不用变,因为复制的.text节表已经满足了可执行的属性

现在我们要在文件第四个节末添加新节,选中节末最后一个数据,右键–edit–paste zero bytes–输入新节的大小十进制大小4096,将其初始化为0

新增节后我们将要添加的代码加到新节中,这里就使用前两节应用的shellcode,就是运行飞鸽后先弹一个框,再正常运行,但是此时还要计算一下E8和E9后面的值:

E8后面的值:X = 0x77D36476 - (0x400000 + 0x3D000 + 0x8 + 0x5) = 0x778F9469 注意0x77D36476为MessageBoxA API地址

E9后面的值:X = 0x400000 + 0x1D26F - (0x400000 + 0x3D000 + 0xD + 0x5) = 0xFFFE025D

所以将完整的代码(硬编码)添加到新节中:

最后将OEP的值改为0x3D000

保存,运行后发现先弹框再正常打开程序,成功

2.节表结尾有数据整体上移的情况

我们打开记事本复件notepad_test.exe,找到节表末,发现这里有一些我们不认识的数据,而且是紧挨着节表的,所以这种情况下我们没法在节表末新增节表

此时我们发现DOS头结尾到PE签名之间是垃圾数据,如果将PE签名一直到节表末之间的所有数据整体上紧挨着DOS头后面,接着将e_lfanew字段值改为0x40,此时节表末便空出来了0xE8 - 0x40 = 0xA8字节内存,足够存放80字节,即两个节表大小了

选中0xE8到0x258的全部数据复制,从0x40开始write覆盖0x258 - 0xE8 = 0x170字节数据,接着将此时节表末尾多空出来的数据改为0,再修改e_lfanew的值为0x40即可。此时0x1B0到0x258之间就空出来了0xA8字节,在这里新增节即可

后面新增节的过程与条件都满足时一模一样,不再演示

二.代码实现新增一个节,并添加代码

三.编程实现扩大最后一个节,并添加代码

 3.整体上移后空间还不够,扩大最后一个节

如果整体上移覆盖DOS Stub后空间还不够两节表宽度,那么就要采用扩大最后一个节的方式。注意不要扩大其他的节,因为如果不是最后一个节扩大的话,其他的节扩大会造成其下面的全部节的数据偏等等诸多问题

需要修改SizeOfImage,比如我想扩大500字节,那么要满足内存对齐,所以SizeOfImage应该 + 0x1000,这里为了方便后面的修改,直接就按照内存对齐来扩大,所以扩大0x1000字节即可

接着就是修改最后一个节表的属性:

VirtualAddress和PointerToRawData的值都不用改变

VirtualSize:SizeOfImage - VirtualAddress + Ex,再内存对齐(这里为了方便,Ex可以直接选文件对齐粒度和内存对齐粒度的最小公倍数,这样就不用再考虑内存对齐了),就是最后注入shellcode时不好判断Ex+原来空白区大小是否足够存下shellcode了,不过可以直接在Ex区域注入shellcode即可,不用考虑原来此节的空白区

SizeOfRawData:因为文件对齐一般都为0x200或0x1000,这里直接等于VirtualSize即可(因为VirtualSize此时肯定即是0x200的整数倍,也是0x1000的整数倍)

因为扩大节的目的是为了添加shellcode,所以还要看最后一个节的属性是否可执行

此时就可以在最后一个节的末尾到结束这之间添加代码了

http://www.tj-hxxt.cn/news/91884.html

相关文章:

  • b2c平台建立外贸网站seo
  • 网站托管维护合同宁波seo咨询
  • 优秀交互设计网站关键词规划师
  • 阿勒泰网站建设深圳电子网络推广查询
  • 为什么手机网站跳转页面上搭建网站要多少钱
  • 青岛网站建设电话免费广告发布平台
  • 网站可以制作ios游戏优化是什么意思?
  • 新手如何做企业网站seo优化与品牌官网定制
  • 怎样建自己的网站免费的网站托管
  • 网站备案麻烦么浙江seo关键词
  • 重庆可做网站 APP网页开发流程
  • 哪个网站做译员好网站seo优化
  • 做网站怎么打空格一个企业seo网站的优化流程
  • 上海网站建设q479185700棒百度pc网页版
  • 网站换域名影响广告营销是做什么的
  • 公选课网页制作与网站建设在线观看的seo综合查询
  • 徐州网站制作哪家好google搜索引擎入口 镜像
  • 医院网站HTML5图片外链生成工具
  • 动易网站 青春博客推广工具
  • 电子政务网站建设公司排行榜app网站
  • 河北网站建设就业考试站长之家域名解析
  • 深圳网站制作哪家好免费发链接的网站
  • wordpress整站cdn网络营销专业是学什么的
  • 如何选择坪山网站建设域名注册需要多少钱?
  • 好牛网站建设培训课程设计方案
  • 同仁县wap网站建设公司深圳网络推广团队
  • 长沙网站制作有哪些公司互联网平台
  • 做公司网站用什么系统网络推广怎么找客户
  • 郑州影楼网站建设产品营销策划
  • 男和男人怎么做那个视频网站开发一个app软件多少钱