2019年5月15日

摘要: IMAGE_SECTION_HEADER 的源代码如下: 每个区块表长度占40个字节。 * 表示需要注意的字段,最有用的是 SizeOfRawData 、 PointerToRawData 和Characteristics 字段。 Name * 此字段时区块名。(一句话:名字而已,没什么用) 要求: 阅读全文
posted @ 2019-05-15 10:06 bobob 阅读(823) 评论(0) 推荐(0) 编辑

2019年5月14日

摘要: 结构体源代码如下: AddressOfEntryPoint ***(必须了解)*** 程序开始执行的地址,这是一个RVA(相对虚拟地址)。对于exe文件,这里是启动代码;对于dll文件,这里是libMain()的地址。如果在一个可执行文件上附加了一段代码并想让这段代码首先被执行,那么只需要将这个入口 阅读全文
posted @ 2019-05-14 22:59 bobob 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 源代码如下: Machine字段 常用的有: 宏定义 平台及相关意义 数值 IMAGE_FILE_MACHINE_I386 x86、Intel 386 0x014c IMAGE_FILE_MACHINE_IA64 Intel Itanium、Intel 64 0x0200 IMAGE_FILE_MA 阅读全文
posted @ 2019-05-14 22:15 bobob 阅读(582) 评论(0) 推荐(0) 编辑
摘要: [PE格式分析] 3.IMAGE_NT_HEADER 源代码如下: typedef struct _IMAGE_NT_HEADERS { +00h DWORD Signature; // 固定为 0x00004550 根据小端存储为:"PE.." +04h IMAGE_FILE_HEADER Fil 阅读全文
posted @ 2019-05-14 21:35 bobob 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 对于我们来说,有用的只有两个数据,一个是 e_magic 固定为 “MZ”,另外一个是最后的 e_lfanew ,指向pe头 看以下实例: 阅读全文
posted @ 2019-05-14 21:34 bobob 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-05-14 21:33 bobob 阅读(142) 评论(0) 推荐(0) 编辑

2019年5月9日

摘要: 本文是通过几篇转帖的文章整理而成的,内容稍有修改: 一、 C语言中,为什么字符串可以赋值给字符指针变量 char *p,a='5';p=&a; //显然是正确的,p="abcd"; //但为什么也可以这样赋值??问:一直理解不了为什么可以将字串常量赋值给字符指针变量,请各位指点! 答: 双引号做了3 阅读全文
posted @ 2019-05-09 13:18 bobob 阅读(3278) 评论(0) 推荐(0) 编辑

2019年2月25日

摘要: 重写 用关键字 virtual 修饰的方法,叫虚方法。可以在子类中用override 声明同名的方法,这叫“重写”。相应的没有用virtual修饰的方法,我们叫它实方法。重写会改变父类方法的功能。看下面演示代码: #region 重写 public class C1{ public virtual  阅读全文
posted @ 2019-02-25 01:26 bobob 阅读(568) 评论(0) 推荐(1) 编辑

2019年2月21日

摘要: base其实最大的使用地方在面相对性开发的多态性上,base可以完成创建派生类实例时调用其基类构造函数或者调用基类上已被其他方法重写的方法。例如: 2.1关于base调用基类构造函数 public class A { public A() { Console.WriteLine("Build A") 阅读全文
posted @ 2019-02-21 13:27 bobob 阅读(17413) 评论(0) 推荐(5) 编辑

2019年1月9日

摘要: 首先,创建一个自定义的Attribute,并且事先设定我们的Attribute将施加在class的元素上面以获取一个类代码的检查信息。 using System; using System.Reflection; [AttributeUsage(AttributeTargets.Class)] pu 阅读全文
posted @ 2019-01-09 23:27 bobob 阅读(882) 评论(0) 推荐(0) 编辑

导航