摘要:
double dumpSize = (1024000000.1415926535897932384 * 1.0) / 1024 / 1024; string tempStr = to_string(dumpSize); std::stringstream ss; ss << setiosflags( 阅读全文
摘要:
RVA与RWA的关系 原理比较简单:首先判断这个地址是否在PE头中,如果在,文件偏移和内存偏移相等,如果存在于文件的区段中,则利用以下公式: 内存偏移 - 该段起始的RVA(VirtualAddress) = 文件偏移 - 该段的PointerToRawData 内存偏移 = 该段起始的RVA(Vi 阅读全文
摘要:
一丶浅谈导入表 首先,导出表我们已经学过了,作用就是在程序加载的时候,把自己要调用的API的地址,不断地填写到IAT表中 不过我们要知道三个概念, 1.程序运行的时候,导入表直接把调用的API地址填写到IAT表格中 2.程序运行的时候,用到那个API,才会填写到IAT表中(延时加载技术,下面讲解) 阅读全文
摘要:
一丶可选头结构以及作用 1.PE类型 这个有宏定义了 2丶.OEP,程序执行入口位置. 我们利用昨天写的程序,可以完成一个反调试. 思路: 1.修改OEP偏移,置为0位置处(也就是MZ的位置) 2.在MZ位置后面添加我们自己的代码 3.添加完成之后,继续跳到以前OEP的位置. 首先,看PE文件的值, 阅读全文
摘要:
今天详解NT 头格式,以及文件头格式,以及作用, 关于DOS头文件格式,以及DOSStub昨天的博客已经写过了.主要是分散讲解.便于理解. 一丶最小PE的生成,以及标准PE的生成 ps: (如果直接学习NT头,文件头,请不用看这个生成PE,直接看下面讲解即可) 1.标准PE的生成 为了便于学习PE文 阅读全文
摘要:
今天讲解PE文件格式的DOS头文件格式 首先我们要理解,什么是文件格式,我们常说的EXE可执行程序,就是一个文件格式,那么我们要了解它里面到底存了什么内容 简短的说明. 我们要知道,PE文件格式,是微软半公开的,因为微软并没有说明这个文件格式.但是微软有定义的结构体. 文件格式,是记录文件加载到内存 阅读全文
摘要:
在IDA7.0中的定义文件拷贝的. 如果想使用,直接去IDA的plugins插件目录下.包含它的 **defs.h"" 如下: /* This file contains definitions used by the Hex-Rays decompiler output. It has type 阅读全文
摘要:
我们以前讲SEH异常处理的时候已经说过了,C++中的Try catch语法只不过是对SEH做了一个封装. 如果不懂SEH异常处理,请点击博客链接熟悉一下,当然如果不想知道,也可以直接往下看.因为异常处理所以做了封装,但是不影响我们还原. 这里有两种解决方法, 第一种,小白也能明白了还原方式,不用懂原 阅读全文
摘要:
目录: 1.多重继承在内存中的表现形式 多重继承在汇编中的表现形式 2.菱形继承 普通的菱形继承 虚继承 汇编中的表现形式 一丶多重继承在内存中的表现形式 高级代码: 通过main函数我们得知,我们生成了一个孩子类的对象.此时按照C/C++的规范,应该先从左往右依次构造父类1,父类2 此时的情况和我 阅读全文
摘要:
讲解目录: 1.各类在内存中的表现形式 备注: 主要复习开发知识,和反汇编没有关系,但是是理解反汇编的前提. 2.子类继承父类 2.1 子类中有虚函数,父类中有虚函数 : 都有的情况下 2.2 子类中没有虚函数,父类中有虚函数 : 子类没有,父类有的情况 2.1 2.2的情况都是一样的. 2.3 子 阅读全文