摘要: 0x00 前言 前一篇了解了区块虚拟地址和文件地址转换的相关知识,这一篇该把我们所学拿出来用用了。这篇我们将了解更为重要的一个知识点——输入表和输出表的知识。 0x01 输入表 首先我们有疑问。这个输入表是啥?为啥有输入表?其实输入表就是记录PE输入函数相关信息的一张表。那为什么要有这张表?答:原来 阅读全文
posted @ 2018-10-19 21:42 2f28 阅读(3220) 评论(0) 推荐(0) 编辑
摘要: 0x00 前言 上一篇介绍了区块表的信息,以及如何在hexwrokshop找到区块表。接下来,我们继续深入了解区块,并且学会文件偏移和虚拟地址转换的知识。 0x01 区块对齐值 首先我们要知道啥事区块对齐?为啥要区块对齐?这个问题其实困扰了我很久,只能怪我操作系统没学好。。。我现在的理解是由于内存和 阅读全文
posted @ 2018-10-19 19:25 2f28 阅读(3358) 评论(0) 推荐(0) 编辑
摘要: 0x01 前言 上一篇讲到了数据目录表的结构和怎找到到数据目录表(DataDirectory[16]),这篇我们我来讲讲数据目录表后面的另一个结构——区块表。 0x01 区块 区块就是PE载入器将PE文件载入后,将PE文件分割成若干块,每块包含不同的信息,由读写数据块.data,代码块.code,只 阅读全文
posted @ 2018-10-19 16:48 2f28 阅读(3878) 评论(0) 推荐(1) 编辑
摘要: 0x00 前言 上一篇讲到了PE文件头的中IMAGE_FILE_HEADER结构的第二个结构,今天从IMAGE_FILE_HEADER中第三个结构sizeOfOptionalHeader讲起。这个字段的结构名也叫做IMAGE_OPTIONAL_HEDAER讲起。 0x01 IMAGE_OPTIONA 阅读全文
posted @ 2018-10-19 14:56 2f28 阅读(6140) 评论(0) 推荐(2) 编辑
摘要: PE文件格式介绍(一) 0x00 前言 PE文件是portable File Format(可移植文件)的简写,我们比较熟悉的DLL和exe文件都是PE文件。了解PE文件格式有助于加深对操作系统的理解,掌握可执行文件的数据结构机器运行机制,对于逆向破解,加壳等安全方面方面的同学极其重要。接下来我将通 阅读全文
posted @ 2018-10-16 22:01 2f28 阅读(26745) 评论(0) 推荐(3) 编辑
摘要: 0x00 前言 c++中的复杂声明往往令人无法下手,经常使人搞错这到底声明的是一个指针还是指针函数。但其实c++对于复杂声明是遵循一定的规则的,叫做变量名—>右--左-右规则。 0x01 规则解释 对于复杂定义最好的处理方式是从中间开始向外扩展。“从中间开始的”的意思是从变量名开始。“向外扩展”的意 阅读全文
posted @ 2018-10-15 21:46 2f28 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 0x00 前言 ::是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符 0x01 ::作用域运算符的作用 全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如: char zhou; //全局变量 void sleep() { char zho 阅读全文
posted @ 2018-10-15 19:01 2f28 阅读(1274) 评论(0) 推荐(0) 编辑
摘要: 0x00 前言 这段时间学习c++,发现c++与Java之间存在很多的共性与区别,其中继承就是一大共性。但是令我疑惑的是c++居然支持多继承,相对应的java继承只能有一个。Java不支持多继承但是可以通过接口一样可以实现多继承的功能。 0x01 c++多继承使用 一个类有多个基类,那么这种继承关系 阅读全文
posted @ 2018-10-14 21:07 2f28 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 0X00 前言 所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 0x01 与C语言区别 <iostream>和<iostream.h>格式不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者 阅读全文
posted @ 2018-10-14 15:56 2f28 阅读(1366) 评论(0) 推荐(0) 编辑
摘要: 转自:https://www.cnblogs.com/huhewei/p/6080143.html 一、概述 __stdcall、__cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则等。 二、调用协议常用场合 __s 阅读全文
posted @ 2018-10-11 09:54 2f28 阅读(217) 评论(0) 推荐(0) 编辑