
逆向
文章平均质量分 73
BinJourney
这个作者很懒,什么都没留下…
展开
-
PE文件格式详解(上)
Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。 然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE格式。本文旨在解决这一问题,它会对整个转载 2016-01-12 10:05:30 · 509 阅读 · 0 评论 -
PE文件详解(七)--资源表
我们知道,Windows 将程序的各种界面定义为资源,包括加速键(Accelerator)、位图(Bitmap)、光标(Cursor)、对话框(Dialog Box)、图标(Icon)、菜单(Menu)、串表(String Table)、工具栏(Toolbar)和版本信息(Version Information)等。为了吸引大家的兴趣和目光,咱先来做个学前试验,然后再憧憬一下我们将来学转载 2016-01-12 14:42:51 · 1765 阅读 · 0 评论 -
PE文件详解(六)--基址重定位
这一节对于讲来研究病毒原理的研究影响比较大,大家务必要深入理解~但是吧,咱的权威教材看雪的《加密与解密》在这一节的讲解上实在不给力,很多初学者看得云里雾里的。大家意见一致啵 ?!为了让大家能够更容易的接受,小甲鱼决定通过自问 - 自答循环渐进的模式给大家讲解基址重定位的原理和应用。问题一:什么是基址重定位?答:重定位就是你本来这个程序理论上要占据这个地址,但是由于某转载 2016-01-12 14:42:04 · 791 阅读 · 0 评论 -
PE文件详解(五)--导出表
当PE 文件被执行的时候,Windows 加载器将文件装入内存并将导入表(Export Table) 登记的动态链接库(一般是DLL 格式)文件一并装入地址空间,再根据DLL 文件中的函数导出信息对被执行文件的IAT 进行修正。基础补充:很多朋友可能看到这里会有点懵,各位看官请允许小甲鱼啰嗦一下,照顾初学者。我们都明白Windows 在加载一个程序后就在内存中为该程序开辟一个单独的虚拟转载 2016-01-12 14:41:11 · 519 阅读 · 0 评论 -
PE文件详解(四)--导入表2
在此之前,我们已经对这个输入表进行了一些实践和理解,这有助于大家对这个概念更进一步的加深认识。小甲鱼觉得,越是复杂的问题我们应该越是去动手操作它,认识它,这样才容易熟悉它!在上一节课我们像小鹿一样的乱撞,终于撞到了输入表里边包含的函数名称,嘿嘿,不过地址,我们还是没能找着……这节课我们将深入来剖析输入表的结构,通过结合实例分析来帮助大家理解输入表的工作原理。输入表结构回转载 2016-01-12 14:40:40 · 481 阅读 · 0 评论 -
PE文件详解(四)--导入表1
捷径并不是把弯路改直了,而是帮你把岔道堵上!走得弯路跟成长的速度是成正比的!不要害怕走上弯路,弯路会让你懂得更多,最终还是会在终点交汇!岔路会将你引入万劫不复的深渊,并越走越深……在开始讲解输入表(导入表)概念之前,请允许小甲鱼童鞋用简短的几句话来总结之前我们学过的内容,并做进一步的思想综合提升,注意咯!首先,我们知道PE 文件中的数据被载入内存后根据不同页面属性被划分转载 2016-01-12 14:39:43 · 402 阅读 · 0 评论 -
PE文件详解(三)--区块描述、对齐值以及RVA
各种区块的描述:很多朋友喜欢听小甲鱼的PE详解,因为他们觉得课堂上老师讲解的都是略略带过,绕得大家云里雾里~刚好小甲鱼文采也没课堂上的教授讲的那么好,只能以比较通俗的话语来给大家描述~通常,区块中的数据在逻辑上是关联的。PE 文件一般至少都会有两个区块:一个是代码块,另一个是数据块。每一个区块都需要有一个截然不同的名字,这个名字主要是用来表达区块的用途。例如有一个区块叫.rdata转载 2016-01-12 14:38:51 · 652 阅读 · 0 评论 -
PE文件详解(二)--节表和节
PE文件到内存的映射在执行一个PE文件的时候,windows 并不在一开始就将整个文件读入内存的,二十采用与内存映射文件类似的机制。也就是说,windows 装载器在装载的时候仅仅建立好虚拟地址和PE文件之间的映射关系。当且仅当真正执行到某个内存页中的指令或者访问某一页中的数据时,这个页面才会被从磁盘提交到物理内存,这种机制使文件装入的速度和文件大小没有太大的关系。转载 2016-01-12 14:37:32 · 4255 阅读 · 0 评论 -
PE文件详解(一)--数据结构字段
DOS MZ头IMAGE_DOS_HEADER STRUCT :IMAGE_DOS_HEADER STRUCT{+0hWORDe_magic //Magic DOS signature MZ(4Dh 5Ah) DOS可执行文件标记+2h WORD e_cblp //Bytes on last page of file+4hWORD e_cp转载 2016-01-12 14:36:43 · 1527 阅读 · 0 评论 -
windows PE结构解析
1 基本概念下表描述了贯穿于本文中的一些概念:名称描述地址是“虚拟地址”而不是“物理地址”。为什么不是“物理地址”呢?因为数据在内存的位置经常在变,这样可以节省内存开支、避开错误的内存位置等的优势。同时用户并不需要知道具体的“真实地址”,因为系统自己会为程序准备好内存空间的(只要内存足够大)镜像文件包含以EXE文件为代表的“可执行转载 2016-01-12 14:26:33 · 2254 阅读 · 0 评论 -
PE文件结构分析(代码)
PE文件格式(Portable Executable File Format)是windows下的可执行文件的格式, 从某种意义上讲,它反映了windows操作系统的工作方式, 对于它的了解, 可以帮助我们更加了解windows操作系统,对于windows下的编程,好处也是大大的。在本文中, 我并不打算大讲特讲PE文件的构成是什么,每个字段是什么意思, 这些资料可以说在网上是浩瀚如海,转载 2016-01-12 13:17:25 · 569 阅读 · 0 评论 -
变形PE头添加节形式感染
前言: 今天我们讲的主题是“变形PE头添加节形式感染”。因为大部分的添加节过程,在对节表结构尾部空隙不够写入一个新的节表结构时,都处理的不是很恰当。今天我来给大家带来一种思路,通过变形PE头来让我们有足够的空隙写入一个新的节表结构。1. 变形PE头原理: 这里的变形PE头的思路是用的比较方便的方法,就是将结构融合起来。聪明的你是否已经想到了? 就是将IMAGE_DO转载 2016-01-12 13:13:14 · 395 阅读 · 0 评论 -
windows消息机制
一 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个“消息队列”,即应用程序队列,用来存放该程序可能创建的各种窗口的消息。应用程序中含有一段称作“消息循环”的代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中。 二 Windows为当前执行的每个Windows程序维护一个「消息队列」。在发生输入事件之后,Windows将转载 2016-01-12 13:10:36 · 247 阅读 · 0 评论 -
匈牙利命名表
前缀类型描述实例arrArray静态数组arrPointbBOOL布尔值bEnabledbyunsigned char(BYTE)8位无符号字符byWeekchChar 8位字符chGradetch转载 2016-01-12 13:06:30 · 447 阅读 · 0 评论 -
windows的体系结构
了解了windows的体系结构才知道reactos到底要干什么,以及如何干,因为reactos的目标是兼容windows。下面是windows的体系结构: 这是整个windows的体系结构的总览。从图上可以看出系统被分成内核模式和用户模式。内核模式的构成文件是系统的核心文件她包含:1.hal转载 2016-01-12 12:16:18 · 1102 阅读 · 0 评论 -
PE文件格式详解(下)
预定义段 一个Windows NT的应用程序典型地拥有9个预定义段,它们是.text、.bss、.rdata、.data、.rsrc、.edata、.idata、.pdata和.debug。一些应用程序不需要所有的这些段,同样还有一些应用程序为了自己特殊的需要而定义了更多的段。这种做法与MS-DOS和Windows 3.1中的代码段和数据段相似。事实上,应用程序定义一个独特的段的方法是使转载 2016-01-12 10:08:07 · 294 阅读 · 0 评论 -
OD使用心得
1、对于找不到下断的地点的程序:可以先直接运行,随意输入序列号,按确定,等待程序弹窗停下。返回到OD,按F12暂停,此时点工具栏中的“k”,会出现当前的调用堆栈,找到需要找的函数名,右键->显示调用,即可显示出该函数的程序领空所在位置。此方法可适用于VB的P-code方式编译的程序未完待续。。。。原创 2016-03-25 22:33:59 · 954 阅读 · 0 评论