Windows PE
文章平均质量分 84
TK13
你在凝视深渊的时候 深渊也在凝视着你
展开
-
Windows Pe 第三章 PE头文件(上)
Windows Pe 第三章 PE头文件(上)原创 2016-09-11 19:40:57 · 2663 阅读 · 1 评论 -
Windows PE 重定位表编程(枚举重定位地址)
原理之前单独总结过,在这里:http://blog.csdn.net/u013761036/article/details/54051347下面是枚举重定位信息的代码:// ReLocationX86.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h"#include #include #include #include //Image原创 2017-01-10 22:03:56 · 1458 阅读 · 0 评论 -
TLS实现代码段加密
TLS实现代码段加密原创 2017-01-01 20:29:35 · 4433 阅读 · 2 评论 -
WindowsPE 第七章 资源表
第七章 资源表 在程序设计中,总会设计一些数据。这些数据可能是源代码内部需要用到的常量,菜单选项、界面描述等;也可能是源代码外部的,比如程序的图标文件、北京音乐文件、配置文件等,以上这些数据统称为资源。按照程序与数据分离的设计思想,最理想的方案是单独为程序所需要的数据安排一节来存储-PE中的资源就是这么做的。7.1资源分类 资源数据在PE里是最复杂的一种。其难度主要体现在对原创 2017-01-15 16:01:06 · 1876 阅读 · 0 评论 -
Windows PE资源表编程(枚举资源树)
资源枚举 写一个例子,枚举一个PE文件的资源表。首先说下资源相关的作为铺垫。1.资源类型也是PE可选头中数据目录的一种。位于第三个类型。2.资源目录分为三层。第四层是描述文件相关的。这些结构是按照二叉排序树的结构存的。每一个节点都可以看成是一段连续的数据块(1个资源目录头+n个资源目录项)。3.整体基本结构:OK,基础知识就简单说这些。如果还是原创 2017-02-08 23:20:20 · 2172 阅读 · 0 评论 -
Windows PE 第八章 延迟加载导入表
延迟加载导入表 延迟加载导入表是PE中引入的专门用来描述与动态链接库延迟加载相关的数据,因为这些数据所引起的作用和结构与导入表数据基本一致,所以称为延迟加载导入表。 延迟加载导入表和导入表是相互分离的。一个PE文件中可以同时存在这两种数据,也可以单独存在一种。延迟加载导入表是一种特殊类型的导入表。同导入表一样,它记录了应用程序想要导入的部分或全部动态链接库及相关函数信息。与导入原创 2017-02-09 23:46:03 · 1380 阅读 · 0 评论 -
Windows PE第九章 线程局部存储
线程局部存储(TLS) 这个东西并不陌生了,之前写过了一个关于这个的应用,利用静态TLS姿势实现代码段静态加密免杀或者所谓的加壳思路。地址在这:http://blog.csdn.net/u013761036/article/details/53967943今天就简单的整理下TLS的相关概念和常规应用。一开始说了一大堆的Windows的进程与线程啥啥啥的概念和原理,这里直接省略。什么是原创 2017-02-10 00:47:40 · 658 阅读 · 0 评论 -
Windows PE 第十章 加载配置信息
加载配置信息 加载配置信息最初最用在Windows NT操作系统中,作为文件头部的延伸部分,后来被用作异常处理。加载配置信息表中存放了基于结构化异常处理(SEH)技术的各项异常句柄。当程序运行发生异常后,操作系统会根据异常处理类别对异常进行分发处理,并依据这些句柄实施程序流程的转向,保证系统能从异常中全身而退。10.1 何为加载配置信息 加载配置信息结构是PE中定义的一种基原创 2017-02-12 14:35:14 · 775 阅读 · 0 评论 -
Windows PE变形练手2-开发一套自己的PE嵌入模板
PE嵌入模板 编写一段代码,生成一个已经处理过重定位信息,同时所有的内容都在代码段里,并且没有导入表的PE程序,把这个程序嵌入到其他PE的相关位置,能够独立的运行,接下来是整理了2个模板,一个是HelloWorld的,另一个是通用模板LoadLibrary的模板。 开发环境masm32和vs2012,相关环境搭建我之前整理过[ http://blog.csdn.net/u013原创 2017-04-30 20:50:03 · 3096 阅读 · 0 评论 -
Windows PE变形练手3-把通用模板机器码直接覆盖目标PE
把通用模板机器码直覆盖目标PE 这个地方真是尝试了好久,遇到很多坑点,Win PE那本书上的东西有点不够,也就直接写书上的例子会发现很多地方不是说的那样,里面提供的信息太少了,就比如里面并没有提被注入的目标PE的随机基址问题,比如说中给了一套模板(模板里面有一些变量定义了没有使用,还有获取Kernel32.dll的地方是错误的,还有通用模板运行的时候内存溢出了...)额...总之不要在意原创 2017-05-01 17:05:40 · 2622 阅读 · 0 评论 -
Windows PE 第十二章 PE变形技术
PE变形技术 这章东西太多,太细了。这里我只记录了一些重点概念。为后面学习做铺垫。 PE变形:改变PE结构之后,PE加载器依然可以成功加载运行我们的程序。一 变形常用技术:结构重叠技术、空间调整技术、数据转移技术、数据压缩技术。下面是相关概念只是(我只整理重点)1.结构重叠技术: 结构重叠技术是指在不影响正常性能的前提下,将某些数据结构进行重叠的技术。原创 2017-04-24 23:27:47 · 2434 阅读 · 0 评论 -
Windows PE 第十三章 PE补丁技术
PE补丁技术 这章很多东西之前都见过,也单独总结过,比如动态补丁里说的远程代码注入,还有hijack什么的。之前整理过的这里就不细说了,大体说下思路。这里总结一些之前没总结过的东西。 资料中把补丁分为两类,静态补丁和动态补丁。然后有总结了下补丁的基本要素:进程通讯能力、良好的读写其他进程地址能力、正确识别要补丁目标进程、在其他进程地址空间执行代码的能力。进程通信:管道通原创 2017-04-26 00:18:33 · 3323 阅读 · 0 评论 -
Windows PE导出表编程4(重构导出表实现私有函数导出)
Windows PE导出表编程4(重构导出表实现私有函数导出)原创 2016-12-29 23:57:59 · 1027 阅读 · 0 评论 -
Windows PE导出表编程2(重组导出表函数地址)
Windows PE导出表编程2(重组带出表函数地址)原创 2016-12-19 23:57:05 · 2699 阅读 · 0 评论 -
Windows PE导出表编程3(暴力覆盖导出函数)
今天要尝试的导出表相关编程内容是:覆盖函数地址部分的指令代码。这种覆盖技术,是将AddressOfFunctions指向的地址空间指令字节码实施覆盖,这种技术又繁衍出两种:暴力覆盖,即将所有的代码全部替换为新代码。新代码可能含有原来代码的全部功能,也可能不包含原有代码功能。完美覆盖,通过构造指令,实施新代码与源代码的共存和无遗漏运行。因为完美覆盖涉及代码的重定位,相对复杂一些,今天尝试原创 2016-12-29 00:10:27 · 1481 阅读 · 1 评论 -
Windows Pe 第三章 PE头文件(中)
Windows Pe 第三章 PE头文件(中)原创 2016-09-18 23:27:32 · 904 阅读 · 0 评论 -
导入表编程-枚举导入表
导入表编程-枚举导入表原创 2016-10-23 14:20:51 · 904 阅读 · 0 评论 -
Windows Pe 第三章 PE头文件(下)
Windows Pe 第三章 PE头文件(下)原创 2016-10-07 20:44:24 · 1028 阅读 · 0 评论 -
Windows Pe 第三章 PE头文件-EX-相关编程-1(PE头内容获取)
Windows Pe 第三章 PE头文件-EX-相关编程-1(PE头内容获取)原创 2016-10-07 20:48:38 · 891 阅读 · 0 评论 -
Windows Pe 第三章 PE头文件-EX-相关编程-2(RVA_FOA转换)
Windows Pe 第三章 PE头文件-EX-相关编程-2(RVA_FOA转换)原创 2016-10-07 20:53:46 · 2718 阅读 · 0 评论 -
Windows PE 第四章 导入表
Windows PE 第四章 导入表原创 2016-10-07 21:15:28 · 3769 阅读 · 0 评论 -
WindowsPE 第五章 导出表
导出表 PE中的导出表存在于动态链接库文件里。导出表的主要作用是将PE中存在的函数导出到外部,以便其他人可以使用这些函数,实现代码重用。5.1导出表的作用 代码重用机制提供了重用代码的动态链接库,它会向调用者说明库里的哪些函数是可以被别人使用的,这些用来说明的信息便组成了导出表。导出表存在的位置不是绝对的,通常EXE文件中很少有导出表(也可以有),而大部分DLL文件中都有导原创 2016-11-20 16:29:20 · 595 阅读 · 0 评论 -
WindowsPE 第五章 导出表编程-1(枚举导出表)
导出表编程 枚举导出表原创 2016-12-06 23:56:38 · 841 阅读 · 0 评论 -
Windows PE第6章 栈与重定位表
第六章 栈与重定位表 本章主要介绍栈和代码重定位。站和重定位表两者并没有必然的联系,但都和代码有关。栈描述的是代码运行过程中,操作系统为调度程序之间相互调用关系,或临时存放操作数而设置的一种数据结构。重定位表则是在一个PE中的代码被加载到任意一个内存地址时,用来描述相关操作数地址变化规律的数据结构。通过重定位技术,代码运行在内存中的任意位置时,可以避免因操作数的定位错误而导致失败。6原创 2017-01-05 00:57:42 · 1640 阅读 · 0 评论 -
Windows PE变形练手1-用PE自己的机器码修改自己的逻辑
PE变形练手1-用PE自己的机器码修改自己的逻辑 就是找一个PE文件,用自己的部分代码部分覆盖或者而修改自己另一个代码部分的补丁姿势(现实中使用很少,极少数破解可以用到。这次例子目的是了解PE)。第一个实验,写个例子。然后把函数1和函数2调换一下。代码如上,很简单。先输出111,在输出222.根据:可知,相关FOA main 0x440 main1 0x原创 2017-04-28 00:41:24 · 3660 阅读 · 0 评论