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

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. ELK入门使用-与springboot集成

    前言 ELK官方的中文文档写的已经挺好了,为啥还要记录本文?因为我发现,我如果不写下来,过几天就忘记了,而再次 […]...

  2. Oracle Job定时执行存储过程

    一:简单测试job的创建过程案例: 1,先创建一张JOB_TEST表,字段为a 日期格式 SQL> cr […]...

  3. Java安全:运用加密技术保护Java源代码 – 百易城

    Java安全:运用加密技术保护Java源代码   在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过 […]...

  4. 贝叶斯定理,从白袜到飞机失事再到人工智能

        人类很多时候的决策,也都是基于对于事物的预测。比如,“出门要不要带雨伞?”解答这个问题需要查天气预报。 […]...

  5. Spring Boot 和 Spring Cloud 应用内存如何管理?

    在整体应用架构中,非生产环境情况下,一般 1GB 或者 2GB 的 RAM 就足够了。如果我们将这个应用程序划 […]...

  6. 小贞贞python关于requests和tkinter模块项目实战

    小贞贞python关于requests和tkinter模块项目实战 requests模块主要是用于网页的请求, […]...

  7. 编程范式|程序世界里的编程范式,探索编程本质

    最近看了一些关于编程范式的文章,简要做一些小结和记录 什么是编程范式 在现实生活中,为了适配各种规格的螺帽,我 […]...

  8. 域名、IP地址、URL关系

    域名是个文字形式记录的IP地址  IP地址是计算机在网络中的门牌号! URL是网页地址 例如1: http:/ […]...

展开目录

目录导航