加壳与脱壳-添加壳代码的几种方式

Sna1lGo 2021-08-31 原文


加壳与脱壳-添加壳代码的几种方式


加壳与脱壳-添加壳代码的几种方式

上一次讲的方式是在区段头后面继续添加区段头,但是万一区段头的后面没有连续的空间怎么办

所以这里有好几种方式来处理

 

 

利用Dos Stub空间

PE文件里面有一段Dos Stub空间,没有什么用,所以可以利用起来作为加壳处理

可以通过把本来的

 

 

这一截(PE头+区段头)全部往上偏移覆盖掉DOS Stub的空间,然后后面的区段头会多出来一截空间,就可以利用这多出来的一截空间再开辟区段头,后面再开辟区段来处理

合并区段

将区段头合并为只有一个,直接往后面添加区段,到时候要访问的区段就可以直接在后面添加就好了

 

 

1 读取PE文件到内存中,将PE文件按照内存对齐(因为内存对齐是要大于文件对齐的,不按内存对齐保存下来,就会导致读取的时候没有把合并了的区段安装内存对齐,因为一个区段头对应的是一个区段,对应它如何对齐,这里合并成了一个区段头,所以需要手工来对齐)

2 删除除第一个区段头以外的区段头信息

3 修改第一个区段的头信息

4 修改numberofsections

5 保存修改后的pe文件

 

posted on
2021-04-05 22:41 
Sna1lGo 
阅读(41
评论(0
编辑 
收藏 
举报

 

版权声明:本文为Sna1lGo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Sna1lGo/p/14619828.html

加壳与脱壳-添加壳代码的几种方式的更多相关文章

随机推荐

  1. [图解Java]ReentrantLock重入锁

    图解ReentrantLock 0. demo 我先给出一个demo, 这样大家就可以根据我给的这段代码, 边 […]...

  2. php(二)使用thinkphp搭建项目 – wenbin_ouyang

    php(二)使用thinkphp搭建项目 1、创建项目根目录,配置虚拟主机   1.1、创建项目根目录phpD […]...

  3. 关于复制,你了解多少(附副本集常见教程)

    MongoDB Manual (Version 4.2)> Replication MongoDB中的副 […]...

  4. Netty学习问题总结

    Netty学习问题总结 目录 一、HTTP协议分包 二、WebSocket协议分包 三、HTTP和WebSoc […]...

  5. Mac虚拟机安装

    一、 安装虚拟机VMware1、 创建虚拟机使用File->New->Virtual Machin […]...

  6. Xmind几个有用的技巧

    Xmind是一个很好的思维导图工具,是学习研究总结的好帮手。 Xmind功能很丰富,这里只是简要列出几个比较有 […]...

  7. STM32软件架构

    1、架构设计的意义 (1)应用代码逻辑清晰、避免代码冗余;(2)代码通用,方便软件移植;(3)最大限度做到无需 […]...

  8. H.264/AVC reference frame and GOP

    H.264/AVC reference frames and GOP GOP: group of I/P/B […]...

展开目录

目录导航