forked from pig4210/xlib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdatelog.h
350 lines (318 loc) · 20.8 KB
/
updatelog.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
/*!
\file updatelog.h
\brief updatelog.h的内容是更新日志
\author triones
\date 2014-03-06
*/
#pragma once
/*!
\section xlib_def
- \b 2014-01-07 从mkmem移植入xlib
\section xlib_link
- \b 2013-06-04 去除两个宏的undef,这样外部使用自动链接机制时不再需要重写文件。1.0~2.0
- \b 2013-11-28 新增AUTOLINK_X86_X64与AUTOLINK_VER宏。2.0~3.0
- \b 2014-01-06 稍作改造,移植进xlib
\section xlib_base
- \b 2010-07-05 虽然好像没有太大必要,还是新加operator new[]
- \b 2010-11-23 转移入LIB,强制默认使用非分页内存。取消ExAllocatePool的宏定义
- \b 2010-11-26 发现遗漏取消ExFreePool的宏定义。
- \b 2011-07-26 发现在Ring0下释放空内存导致C2蓝屏,故在delete内部做处理,以保持外部代码一致性
- \b 2011-11-11 转移入COMMON,加上ring0头文件包含、try宏。2.0
- \b 2012-05-18 加入common_link包含,windows包含,struct包含
- \b 2014-01-06 移植入xlib
\section xlib_nt
- \b 2012-05-18 建立common_nt
- \b 2012-05-23 函数定义由宏实现,使用了宏不定参,没有完美解决法,但还好了已经
- \b 2014-01-07 移植入xlib,改名xlib_nt
\section swap
- \b 2014-01-07 从mkmem移植入xlib,虽然C++0x可以实现模版定义与实现分离,但不适用于LIB,为记
\section xrand
- \b 2013-01-11 新建xrand函数
- \b 2013-11-29 改进xrand函数以适应x64。1.0~2.0
\section crc
- \b 2013-03-19 新建crc32函数
- \b 2013-03-20 修正溢出Bug及优化
- \b 2013-11-30 新增crc64函数。1.0~2.0
- \b 2014-02-18 新增crc16函数。2.0~3.0
\section xmutex
- \b 2013-03-01 新建xmutex
\section xevent
- \b 2013-03-01 新建xevent
\section Critical
- \b 2012-01-28 建立Critical
\section ws_s
- \b 2011-12-29 新建ws_s专门处理ws&s转换操作,处理ws&s的一个隐藏BUG\n
重新调整ws&s的设计。1.0~1.1
- \b 2012-05-24 重新设计ws&s,使Ring0与Ring3代码通用。1.1~2.0\n
同时发现原来对UNICODE_STRING的一个认识错误,修正BUG\n
as,us.Length表示实际字符串占用的byte,不包含结尾null,但转换时生成null
- \b 2012-06-04 处理流程优化。2.0~2.1
- \b 2012-09-25 发现s2ws处理结尾null上的错误,修正之。2.1~2.2
- \b 2013-09-25 去除转换为标准库的重载。2.2~2.3
- \b 2014-01-11 引入sgistl,修改适应标准库。2.3~3.0
- \b 2014-04-17 细节改善。3.0~3.1
- \b 2014-05-07 细节改进。3.1~3.2
- \b 2014-08-26 改进使转换的完整。3.2~4.0
- \b 2015-05-09 修正输入数据过大导致转换不完全的BUG。4.0~5.0
- \b 2015-06-13 修正5.0版本产生的转换BUG。5.0~5.1
- \b 2016-03-14 修正s2ws处理给定ws缓冲计算错误的BUG。5.1~5.2
\section ws_utf8
- \b 2013-03-07 新增unicode与utf8编码的转换。\n
ascii与utf8的转换需要自行先从ascii转换为unicode。0.1
- \b 2013-03-08 发现WinXP的ntdll不提供UTF函数,故参考UTF8文档,重新实现。0.1~1.0
- \b 2013-03-09 扩展支持4 byte Unicode
- \b 2013-05-25 处理转换时多处理一个数据的BUG。1.0~1.1
- \b 2014-01-11 引入sgistl,修改适应标准库。1.1~2.0
- \b 2014-04-08 修正utf8_byte2unicode_byte的一个bug;修正一些算法细节。2.0~2.1
- \b 2014-04-17 细节改善。2.1~2.2
- \b 2014-04-18 转变utf8_byte2unicode_byte使不自动跳过非法、不完整字符。2.2~3.0
- \b 2014-05-07 细节改进。3.0~3.1
\section xblk
- \b 2012-09-12 有封装需要,决定封装此操作。1.0
\section xmsg
- \b 2012-06-06 从xlog中分离出xmsg,重新定义为xmsg。1.0\n
考虑xmsg继承mem_buffer,需要新建不少函数,暂不施行。
- \b 2012-07-19 优化prt
- \b 2012-10-09 新增对int64的支持。其它格式化作了些优化。1.0~1.1
- \b 2012-10-23 使xmsg信息组织后数据包含结尾0。xmsg初始时为"\0"而非空串。\n
重载end、empty。1.1~2.0
- \b 2013-03-05 重载clear以修复缓冲清空后的小BUG。2.0~2.1
- \b 2014-01-11 引入sgistl,修改适应标准库。2.1~3.0
- \b 2014-04-09 修改一些数据的输出格式。3.0~3.1
\section xlog
- \b 2011-07-22 新建xlog
- \b 2011-07-30 增加xlog::dynamic_lvl用以控制动态输出等级。\n
增加xlog_static_lvl宏用以控制静态输出等级\n
新加endx函数,及相应操作符。\n
基本实现完全替换dbgout的功能,故从LIB中去除dbgout
- \b 2011-08-20 引入mem_base_base使xlog继承之。0.1~1.0
- \b 2011-09-08 修复prt函数中自动扩展的BUG。
- \b 2011-10-17 将xlog的格式化处理提取形成xlog_base,方便继承用作其它用途。1.0~1.1
- \b 2011-12-12 移植入COMMON,对xlog新增一个静态变量用以类型控制,同时增加一批相关控制宏。\n
自此引入类型控制输出功能。1.1~2.0
- \b 2012-04-24 对xlog_base新加一个输入函数operator<<(const xlog_base& v)
- \b 2011-06-06 把xlog_base分离出新文件,重命名为xmsg。xlog继承之
- \b 2012-09-25 决定三类输出控制分别独立。2.0~3.0
- \b 2012-10-24 由于xmsg包含结尾0,out函数不再追加
\section hex_str
- \b 2010-12-09 添加结构体hex_character,并对hex2str与str2hex函数进行相应改造,去除强制移位计算
- \b 2010-12-29 hex&str独立剥离,新建文件。3.0
- \b 2011-04-20 hex2str新加默认参数,提升str2hex功能。3.0~3.1
- \b 2011-06-02 新加重载的hex2str、str2hex函数,引入line类的返回。
- \b 2011-08-29 新加一组读取各种进制ASCII字符的转换函数,新加单个hex值转换ASCII函数。\n
引入hexvalue模板
- \b 2011-12-20 撤销之前添加的一组转换函数,同时撤销hexvalue模板。另设计一个函数以替换之。
- \b 2012-02-27 发现str2hex的一个BUG,已修正
- \b 2012-06-07 删除Hex2Ascii
- \b 2013-03-05 修改返回xstr为返回xmsg。3.1~4.0
- \b 2013-03-20 新增str2hexs函数。4.0~5.0
- \b 2013-10-24 改进hex2show对ascii中文输出的优化。5.0~5.1
- \b 2013-11-13 改进hex2show可以输出utf8。5.1~5.2
- \b 2013-12-10 改进str2hex以适应x64。5.2~5.3
- \b 2014-01-13 引入sgistl,做适应性修改。5.3~6.0
- \b 2014-02-19 修正str2hex的一个小BUG。6.0~6.1
- \b 2014-04-09 修正str2hex的一个小BUG。6.1~6.2
- \b 2014-04-18 改进hex2show的字符集显示算法。6.2~7.0
- \b 2014-05-08 细节改进。7.0~7.1
- \b 2014-07-24 新加hex2show模版。7.1~7.2
- \b 2014-08-13 修正str2hexs的一个严重BUG。7.2~7.3
\section xline
- \b 2010-03-30 新加end()、remain()操作及+=、-=操作;
- \b 2010-04-02 增强setstr()功能
- \b 2010-04-03 增强getstr()功能
- \b 2010-04-12 新加复制构造函数,现在可以应用于容器。另对几个函数加上const以适应一些操作
- \b 2010-05-10 本要改成TCHAR*异常,但考虑特殊性,决定不采用,为记
- \b 2010-06-09 考虑到的确有初始时就需要非网络顺序情况,新加一个构造函数控制,而不去改变默认构造函数(ver 2.1)
- \b 2010-06-09 新增加一个功能line& operator<<(line& (*pfn)(line&)) (ver 2.2)
- \b 2010-10-08 增加一些成员函数以避免类型转换时可能导致困惑,但考虑还是保留原类型转换以保持向下兼容2.2~2.3
- \b 2010-11-06 移植入LIB,除了模板保留在头文件,其它小函数也不再inline,全部转移到CPP。由此做了相应调整2.3~3.0
- \b 2010-11-23 对Ring0支持。Ring0下,异常不抛出,但也暂时不知如何处理,结果无法预料。3.0~3.1\n
实际改动只是移除异常抛出而已
- \b 2010-11-27 加进一些重载,增加灵活性。另外考虑隐式转换,重新调整函数声明顺序。3.1~3.2
- \b 2010-12-11 发现bswap对bool、结构体类型的支持上的BUG,修正之。3.2~3.3
- \b 2010-12-21 发现isempty函数错误,改正之\n
发现>>重载与模板作用冲突,模板覆盖重载,暂时没有解决方案。
- \b 2010-12-28 由于setlen函数名称的歧义,改造之并将原始功能定义为lptolen。\n
删除原内置模板bswap。采用外部bswap模板。3.3~3.4\n
考虑把>>、<<操作符转移到外部函数,考虑良久,暂不行动。为记
- \b 2011-02-11 改动异常的抛出为TCHAR。
- \b 2011-02-18 提升netline为line类。3.4~4.0\n
类中嵌入快捷缓冲(闪存),多数情况下能在堆栈直接分配空间,避免经常分配内存\n
注意这次的改动,数据格式默认为非网络顺序\n
去除数据类型转换操作,不再支持隐式转换。\n
一旦申请缓冲,所有数据都将会在缓冲中,不再使用闪存。\n
这次更新,缓冲只扩展,不再缩减。\n
优化getbuf、end、getstr、setstr,优化对指针的处理
- \b 2011-04-18 屡次考虑变化计数器为us以缩减类大小,但权衡下保持为ui。为记\n
决定缩减快捷缓冲大小以减小堆栈压力。
- \b 2011-04-19 重新调整net、fix标志,并增加zeroend、otherhead、headsize标志。4.0~4.1\n
为新加的标志提供实现功能。\n
本来考虑设置统一函数管理标志,这样导致代码不清晰及使用困难,作罢,为记\n
重新调整构造函数,使line在构造时,能影响多个标志,保持了向下兼容的line(true)。
- \b 2011-04-20 修正昨天功能升级后的处理指针流BUG。\n
顺便改了setmax的一些小细节,优化处理流程以提高运行效率。4.1~4.2\n
正式移除LIB中的netline类。
- \b 2011-05-26 增加成员函数copystate以复制状态。4.2~4.3
- \b 2011-06-18 修改getstr、setstr使其具有返回值,返回值即处理数据长度。4.3~4.4
- \b 2011-06-22 新加cnull宏,方便处理ASCII时追加结尾0
- \b 2011-07-15 调整line_block,size_head;增加构造初始化对size_head的控制;调整构造函数;\n
新增hideerr标志;调整needmax、needlen函数;新增initstate函数;调整init函数;\n
去除lptolen这个危险函数;调整setmax函数;增加snull宏;
- \b 2011-07-16 修改函数命名以贴近标准容器操作,getbuf==begin;getlen==size;isempty==empty;\n
去除operator=(const unsigned int);去除operator+=(const unsigned int);\n
调整operator=(const line& nline);调整operator+=(const line& nline);\n
调整setstr、getstr函数;添加operator>>(T const&)。4.4~5.0
- \b 2011-07-20 修复setstr转入CPP造成的诡异无法解释的编码错误。
- \b 2011-08-20 调整line类继承mem_base_base类。5.0~6.0\n
此次封装提取了一些共同函数。同时删除了fix属性。
- \b 2011-09-16 修复setstr前缀处理的BUG。
- \b 2011-10-31 增加函数mkhead。
- \b 2011-12-14 移入COMMON,由于mem_base的变化,删除两个不再需要的重载
- \b 2012-01-30 发现mkhead的一个BUG,已修正
- \b 2012-05-25 状态修改函数添加前缀re
- \b 2012-05-28 针对基类变化做了一些调整。6.0~6.1
- \b 2012-06-06 重新设计line,升级为xline。6.0~7.0\n
此次升级,所有状态以模版参数设置,不再接受状态临时变化\n
保留line的定义,同时增加netline的定义
- \b 2012-09-06 修复>>(void*)的隐藏BUG
- \b 2013-03-15 修复<<(netline)的size两次翻转的BUG
- \b 2013-09-30 转移setstr、getstr到xvec成为put、pick。7.0~8.0
- \b 2014-01-13 引入sgistl,作适应性改动。8.0~9.0
- \b 2015-01-22 为数据不足情况补充可选择的异常机制。9.0~9.1
\section md5
- \b 2013-01-04 参考百度百科,重写md5过程
- \b 2013-01-07 测试通过。0.1~1.0
- \b 2013-03-20 改进MD5_VALUE,算法小优化。1.0~1.1
\section tean
- \b 2013-01-08 参考旧代码,重写TEAN
- \b 2013-01-11 理解TEAN算法,重新设计之,初步测试通过。0.1~1.0
- \b 2013-03-07 为TeanDecrypt添加合法判定。1.0~1.1
- \b 2013-03-19 导出TeanEncipher、TeanDecipher
- \b 2013-03-20 改进TEAN_DATA、TEAN_KEY。1.0~1.1
- \b 2013-03-21 改进TeanEncrypt及TeanDecrypt的返回值为netline。1.1~1.2
- \b 2014-09-09 修改基本算法为TEA,添加对XTEA的支持。1.2~2.0
- \b 2016-03-11 添加XXTEA算法。2.0~2.1
\section aes
- \b 2013-10-21 新建aes
\section syssnap
- \b 2013-08-06 新建sysinfo
- \b 2014-02-19 改变sysinfo为syssnap;融合Snapshot。1.0~2.0
\section pe
- \b 2012-07-20 初步实现Ring3支持
- \b 2014-01-23 完成Ring0支持。0.1~1.0
- \b 2014-05-08 细节改进。1.0~1.1
\section hook
- \b 2010-07-05 为了增加对ring0的支持,以及新加一些功能,重新改写这个Crack\n
由于ring0的局限性,ver 2.0下使用的vector无法使用,重新启用ver 1.0的自建结构\n
自建结构为单向链表。ver 3.0对自建结构做了一些改进\n
由于驱动的局限性,不再实现DLL或LIB,直接写成代码,使用包含之
- \b 2010-07-06 初步完成,以后需要详细测试。\n
- \b 2010-07-08 加进对跳转表下HOOK的功能\n
- \b 2010-08-20 新加一个标志:nounloadchk,并作一些相应更改
- \b 2010-08-26 认识到FixJMP XX的覆盖危险性,调整默认为JMPDD。这样也与自动决策一致
- \b 2010-08-27 由于Ring0下的一些需求,如SSDT hook或inline hook等。再次改写这个Crack\n
不再提供用户选择错误返回。有错误一律在DebugView输出。\n
Crack函数返回值为Cracknode类。\n
提供GetLastCrackError()以返回最后一次错误信息,去除IsCrackID宏判断。\n
增加新功能:原始字节绕过\n
增加新功能:钩子延迟执行。提供CrackExec()以驱动延迟钩子执行。但会做匹配判断,以免在此期间目标位置数据变化。\n
调动nounloadchk至全局标志\n
加入:卸载时,钩子被外力还原,继续释放资源的判断。\n
如果钩子是延迟加载,则在使用execute()成员函数执行时,错误信息不会被输出,只能自行获取。
- \b 2010-11-24 转移到LIB,没有根本改动
- \b 2011-11-11 转移入COMMON,核心不变,外壳重新设计Hook,新加一些功能,删除一些冗余功能,另外Ring0下的一些特殊操作还未添加。4.0~5.0
- \b 2012-03-23 修改Hookit的Ring3版本,不再调用WriteProcessMemory。5.0~6.0
- \b 2012-08-06 新增ReplaceHook函数以支持对跳转表的Hook。6.0~7.0
- \b 2012-09-25 一直有考虑开放HookNode定义,再次放弃,为记\n
CheckMemFromList引入xblk判定。shellcode组织调整。ReplaceHook改名Hook重载。\n
考虑增加相对偏移的Hook,但方案不成熟,暂不施行。7.0~7.1
- \b 2012-09-28 新增重载Hook用于跳转表、偏移的Hook。7.1~7.2
- \b 2012-10-08 优化原始Hook的shellcode。删除原跳转表Hook,由全新Hook代替。7.2~8.0
- \b 2013-04-12 新加Nopit函数
- \b 2014-01-23 重新设计Hook,原打算分解模块,尝试不满意,还原之。内核重新设计。8.0~9.0
- \b 2014-01-25 x64的支持初步完成。但实际操作过程不如意,有待完善。
- \b 2014-02-11 内核再次重新设计,初步完成,通过基本测试。9.0~10.0
- \b 2014-08-26 修正Ring3钩子自动卸载不完全的BUG。10.0~10.1
- \b 2016-06-12 添加Hook2Log模块。10.1~11.0\n
由于钩子自动卸载机制,无法将Hook2Log独立出来,因为可能会使资源重复回收致使崩溃。
\section caller
- \b 2010-07-29 发现BUG,动用约定寄存器可能影响运行环境,所以保护之。并进一步优化保护
- \b 2010-10-06 去除对首次包含需要定义宏的要求,把函数定义为static。\n
也去除了对参数容量的动态控制。如果对参数容量有更大要求,需要自行修改程序。\n
不过,0x10个参数,应该够多了。另外,加入thiscall的包含。1.1~2.0
- \b 2010-11-05 移植入LIB,做相应改造。对常用情况做常用处理
- \b 2010-11-06 套用netline 提升成mkCall,重新恢复对参数容量的动态控制。2.0~3.0
- \b 2010-11-30 源码作一些改动,但不会影响实际效果。
- \b 2010-12-10 改造mkcallflags为mkmkCallFlag
- \b 2011-02-19 改造mkCall内部使用line类(原使用netline类)
- \b 2011-04-22 新增SmartCall类。3.0~4.0
- \b 2011-04-23 新增caller类。4.0~5.0\n
原SmartCall类内存资源占用较大,但执行效率高。\n
caller类内存资源占用小,但执行效率较低。(与mkCall基本一致)
- \b 2011-04-23 预备将ASM_Call完全提升为caller,暂时共存。过段时间caller经求大量测试无误后,将完全替代原ASM_Call
- \b 2011-06-25 正式移除ASM_Call、SmartCall。将全文件改名caller
- \b 2011-06-25 调整caller_regs为unsigned char以减少caller大小\n
调整arg_R32类型为unsigned char
- \b 2011-06-26 新增arg_nul常量。\n
大幅修改fakevtcall函数,不再要求预先写入this指针。\n
新增changethis函数,允许临时改变this指针\n
但是特别注意的是:这次修改需要运行时读取虚成员函数偏移,再次把崩溃风险引入fakevtcall。\n
这次改动,使寄存器参数不再计入参数个数范围。5.0 ~ 6.0
- \b 2011-09-24 新增[]操作符用以改变this指针。这样使得临时改变this并调用函数变成:xx[this](...);
- \b 2011-09-27 发现升级6.0时产生00编码,今已去除。同时加上00编码结尾,以方便移植计算。\n
新增mov_vt函数,用以移植。引入offseter与objer类。
- \b 2011-10-22 修正升级6.0时,类初始化未去除强制要求this指针的判定。
- \b 2011-12-14 移入COMMON,去除offseter与objer类。把类static变量转移入CPP
- \b 2012-05-22 小动作,把改变虚表的操作封装成mkvt函数
- \b 2012-10-09 重新设计caller的shellcode,寄存器保护更加严格。\n
使caller返回值为uint64。6.0~7.0
- \b 2013-03-02 去除去虚函数表的修改。去除默认构造,强制caller构造。\n
不定参调用不再使用虚函数。新加远程调用的支持。7.0~8.0
- \b 2013-12-09 发现远程调用时,寄存器参数个数没有实现不计,修正之。8.0~8.1
- \b 2014-02-26 完成xlib移植,shellcode作了一些优化。8.1~9.0
- \b 2014-08-26 shellcode修正。9.0~10.0
- \b 2015-07-21 发现x64下回调函数内部可能利用多余参数空间,故修改x64的shellcode以适应。10.0~10.1
\section xWSA
- \b 2012-06-08 把xWSA从xSock中分离出来成为独立封装
- \b 2012-11-13 重新设置xWSA,使WSA只启动一次。可不再被继承使用。1.0~2.0
\section xSock
- \b 2011-05-20 由于netSock多线程通讯的拙劣表现,决定重写之,变为Sock
- \b 2011-05-21 Sock采用简化封装,重载构造函数,合并其它功能。\n
改造了apt函数为返回Sock指针\n
不再内置send与recv操作,采用与line类的合作机制,用流方式实现通讯\n
- \b 2011-05-26 为Sock增加收发延时,默认50ms。这样避免了接收数据时,出现不必要阻塞。
- \b 2011-12-21 导入AddrInfo函数组。Sock改为xSock。
- \b 2012-01-14 添加IpString函数,由原来的outip变化而来
- \b 2012-02-02 recv处理时没有对主动断开作判断,已修正
- \b 2012-06-08 分离出基本操作,把xSock改为模板。1.0~2.0
- \b 2012-11-13 xSocket不再继承xWSA,包含之。\n
新增SockDaulBuffer双缓冲类。\n
xSock不再继承xSocket,包含之,继承SockDaulBuffer。\n
新增几个便捷的流操作。2.0~3.0
\section xNetDl
- \b 2013-10-19 新建xNetDl
- \b 2015-01-22 添加可选的异常机制。1.0~1.1
- \b 2015-01-23 修改使可下载不定长数据。1.1~1.2
\section xServer
- \b 2012-01-28 加入xServer进入COMMON
- \b 2012-02-02 给xServer的catchit加入空过滤组判定,避免异常时无限触发
- \b 2012-04-25 对enum回调添加处理,凡在删除队列中的连接,不列入枚举
\section signaturematcher
- \b 2011-06-18 确立1.0版本(binsig)。0.1~1.0
- \b 2012-12-03 完全推翻1.0的机制,采用新技术,初步实现2.0版本,
- \b 2012-12-06 确定2.0版本,现与binsig共存,大量测试无误后,替代之。
- \b 2012-12-26 修正范围匹配达到最大范围时无法返回递进的BUG
- \b 2013-03-20 通过实测,库中移除binsig。
- \b 2014-04-01 改进binarysign为signaturematcher。现共存,确立版本2.0~3.0
- \b 2014-05-01 新加脚本处理。3.0~4.0
- \b 2014-05-05 处理了解析note词法的BUG。4.0~4.1
- \b 2014-06-03 处理了解析##&L词法的BUG。
- \b 2014-06-06 处理了匹配mark_ref的BUG、及代码一些小调整。mark_ref的定义微调。4.1~4.2
- \b 2014-07-29 code review中发现处理范围的一个失误,中间原子匹配时资源未回收,修正之。4.2~4.3
- \b 2016-01-08 修正因使用基类改进,而带进的范围处理始终失败的BUG。4.3~4.4
- \b 2016-03-21 修正match_markref的一个BUG,此BUG导致Ring0下链接失败。4.4~4.5
- \b 2016-03-31 改进防止内存不可读时产生异常。Ring0下异常无法捕获导致重启。4.5~4.6
- \b 2016-04-06 修正x64下偏移计算错误的Bug。4.6~4.7
\section des
- \b 2015-04-28 确立1.0版本
*/