您的位置: 首页 > 业界动态 > 专业书讯 > 《软件加密技术内幕》
了解Borland—《Borland 传奇》 回到列表 Flash 入门到精通巨著-本站推荐
 《软件加密技术内幕》

作者:博文视点 时间: 2004-07-20 文档类型:原创 来自:蓝色理想

内容简介
   本书主要讲解了相关系统底层知识,例如,PE格式深入分析,调试API应用,未公开技术SEH的深入研究等,从而使读者在了解这些底层知识后,可以应用到自己的软件保护方案如各种反跟踪技术的实现中。本书还首度公开了如何编写加壳软件,以及如何将壳与程序融合在一起等一些热门技术。
  本书是由密界一流如何对软件进行加密保护,以帮助程序员更好地保护自己的软件。书中介绍了高手共同打造的,读者将从本书中获得许多极具商业价值的内幕技术,是专业开发人员不可多得的一本好书。

目录
第1章 PE文件格式的深入分析 1
1.1 PE文件格式纵览 1
1.1.1 区块 3
1.1.2 相对虚拟地址 5
1.1.3 数据目录表 6
1.1.4 输入函数 7
1.2 PE文件结构 10
1.2.1 MS-DOS头部 10
1.2.2 IMAGE_NT_HEADERS头部 10
1.2.3 区块表 14
1.2.4 各种区块的描述 16
1.2.5 输出表 17
1.2.6 输出转向 20
1.2.7 输入表 20
1.2.8 绑定输入 22
1.2.9 延迟装入数据 24
1.2.10 资源 25
1.2.11 基址重定位 27
1.2.12 调试目录 29
1.2.13 .NET头部 30
1.2.14 TLS初始化 31
1.2.15 程序异常数据 32

第2章 PE分析工具编写 33
2.1 文件格式检查 34
2.2 FileHeader和OptionalHeader内容的读取 36
2.3 得到数据目录表信息 40
2.4 得到区块表信息 43
2.5 得到输出表信息 47
2.6 得到输入表信息 52

第3章 Win32 调试API 60
3.1 Win32调试API原理 60
3.1.1 调试相关函数简要说明 60
3.1.2 调试事件 64
3.1.3 如何在调试时创建并跟踪一个进程 67
3.1.4 调试循环体 68
3.1.5 如何处理调试事件 69
3.1.6 线程环境详解 71
3.1.7 如何在另一个进程中注入代码 75
3.2 利用调试API编写脱壳机 77
3.2.1 tElock 0.98脱壳简介 77
3.2.2 脱壳机的编写 78
3.3 利用调试API制作内存补丁 88
3.3.1 跨进程内存存取机制 90
3.3.2 Debug API机制 92

第4章 Windows下的异常处理 105
4.1 基本概念 106
4.1.1 Windows下的软件异常 106
4.1.2 异常处理的基本过程 109
4.1.3 SEH的分类 110
4.1.4 未公开的可靠吗 110
4.2 SEH相关数据结构 111
4.2.1 TIB结构 111
4.2.2 EXCEPTION_REGISTRATION结构 112
4.2.3 EXCEPTION_POINTERS,EXCEPTION_RECORD,CONTEXT结构 112
4.3 异常处理程序原理及设计 115
4.3.1 相关API 116
4.3.2 顶层异常处理 117
4.3.3 线程异常处理 121
4.3.4 异常处理的堆栈展开 132
4.3.5 异常处理程序设计中的注意事项 142
4.4 SEH的简单应用 143
4.4.1 Windows 9x下利用SEH进入Ring0 143
4.4.2 利用SEH实现对自身的单步自跟踪 145
4.4.3 其他应用 147
4.5 系统背后的秘密 148
4.6 VC如何封装系统提供的SEH机制 148
4.6.1 扩展的EXCEPTION_REGISTRATION级相关结构 149
4.6.2 数据结构组织 150
4.7 Windows XP下的向量化异常处理 157

第5章 反跟踪技术 161
5.1 反调试技术 161
5.1.1 句柄检测 161
5.1.2 SoftICE后门指令 163
5.1.3 int68子类型 164
5.1.4 ICECream子类型 165
5.1.5 判断NTICE服务是否运行 166
5.1.6 INT 1 检测 167
5.1.7 利用UnhandledExceptionFilter检测 169
5.1.8 INT 41子类型 169
5.2 断点检测技术 170
5.2.1 检测函数首地址 170
5.2.2 利用SEH防范BPX断点 172
5.2.3 利用SEH防范BPM断点 178
5.3 反加载技术(Anti-Loader) 183
5.3.1 利用TEB检测 183
5.3.2 利用IsDebuggerPresent函数检测 186
5.3.3 检查父进程 188
5.4 反监视技术(Anti-Monitor) 189
5.4.1 窗口方法检测 190
5.4.2 句柄检测 190
5.5 反静态分析技术 191
5.5.1 扰乱汇编代码 191
5.5.2 花指令 193
5.5.3 SMC技术实现 194
5.5.4 信息隐藏 201
5.6 反DUMP技术(Anti-Dump) 204
5.7 文件完整性检验 207
5.7.1 磁盘文件校验实现 207
5.7.2 校验和 211
5.7.3 内存映像校验 212
5.8 代码与数据结合技术 216
5.8.1 准备工作 217
5.8.2 加密算法选用 219
5.8.3 手动加密代码 220
5.8.4 使.text区块可写 221
5.8.5 重定位 223
5.9 软件保护的若干忠告 223

第6章 加壳软件编写 225
6.1 外壳编写基础 225
6.1.1 判断文件是否是PE-EXE文件 226
6.1.2 文件基本数据的读入 229
6.1.3 额外数据保留 230
6.1.4 重定位数据的去除 231
6.1.5 文件的压缩 233
6.1.6 资源区块的处理 237
6.1.7 区块的融合 244
6.1.8 输入表的处理 246
6.1.9 外壳部分的编写 251
6.1.10 将外壳部分添加至原始程序 259
6.1.11 小结 266
6.2 加壳程序综合运用的实例 267
6.2.1 程序简介 267
6.2.2 加壳子程序(WJQ_ShellBegin()) 268
6.2.3 PE外壳程序 275
6.2.4 加进Anti技术 285
6.2.5 通过外壳修改被加壳PE 287
6.2.6 VC++调用汇编子程序 289

第7章 如何让壳与程序融为一体 291
7.1 欺骗查壳工具 291
7.1.1 FileInfo是如何查壳的 291
7.1.2 欺骗FileInfo 293
7.2 判断自己是否被加壳 297
7.2.1 判断文件尺寸 297
7.2.2 使用同步对象检查标记 298
7.2.3 使用原子(Atom)检查标记 304
7.2.4 使用存储映像文件检查标记 308
7.2.5 使用线程优先权检查标记 311
7.2.6 使用外部文件检查标记 313
7.2.7 使用注册表检查标记 318
7.2.8 注入一个定时器 318
7.2.9 外部检测(使用DLL) 322
7.2.10 Hook 相关的API(防止Loader和调试API) 322
7.3 使用SDK把程序和壳融为一体 322
7.3.1 SDK加密的标记 322
7.3.2 壳程序检测加密标志 324
7.3.3 开始加密相关的数据 325
7.3.4 输出函数的声明 327
7.3.5 输出函数的执行代码定位 328
7.3.6 为输出函数得到壳中加密函数做准备 329
7.3.7 程序中使用加密和解密函数 330
7.3.8 构造壳中的加密和解密函数 330
7.3.9 壳寻找程序的输出函数位置 332
7.3.10 “毁尸灭迹”,擦除输出函数 333
7.3.11 壳中分配临时的内存存放加密和解密函数 333
7.3.12 壳中执行程序输出函数传递参数 334

第8章 Visual Basic 6 逆向工程 336
8.1 P-code传奇 336
8.2 VB编译奥秘 337
8.3 VB与COM 338
8.4 VB可执行程序结构研究 343
8.5 VB程序事件解读 353
8.6 VB程序图形界面解读 356
8.7 VB执行代码研究 361
8.7.1 VB函数的解读 361
8.7.2 VB函数调用约定 363
8.7.3 执行代码中对控件属性的操作 364
8.8 P-code代码 369
8.8.1 理解P-code代码指令 370
8.8.2 P-code程序调用约定 371
8.8.3 调试时中断P-code程序的几种方法 371
8.8.4 WKT VB Debugger实现原理 372
8.8.5 VB6 P-code Crackme分析实例 378
8.9 VB程序保护篇 383
8.9.1 Anti-Loader技术 383
8.9.2 VB“自锁”功能实现 386
8.10 相关工具点评 386

附录A在Visual C++中使用内联汇编 388

附录B 在Visual Basic中使用汇编 403

作者简介

现阶段软件开发人员必须得掌握一定的加密技术,但由于现阶段软件保护资料极其缺乏,使得开发人员在软件保护上无从下手,这就是我们推出本书的目的。该书由数位在软件保护方面研究颇有心得的好手共同创作完成,每位作者都将自己擅长的技术无私奉献出来,读者将从本书中获得许多极具商业价值的内幕技术。

主编:段钢
编委:dREAMtHEATER、王勇、印豪、罗翼、李江涛、于阳、Blowfish、温玉杰、王景泉、裴来隆、周文雄、郭春杨

主编:段钢
网名看雪,1994年毕业于上海同济大学,看雪学院(www.pediy.com)站长,致力于软件加密与解密研究。2001年9月组织推出国内第一本全面介绍Windows平台下软件的加密与解密技术的书籍《加密与解密——软件保护技术及完全解决方案》。2003年6月出版《加密与解密》(第二版)。
参与章节:5.1 反调试技术;5.3 反加载技术;5.4 反监视技术;5.7 文件完整性校验;5.8 代码与数据结合技术。
Email:pediy@pediy.com

作者:dREAMtHEATER
dREAMtHEATER,出生于20世纪70年代初真正学编程是从软件逆向工程开始的,有将近一年的时间都在逆向工程的世界里徘徊,也在那个阶段打下了汇编的坚实基础。由于对汇编的至爱,曾经用很长一段时间无法舍弃,最后写成了一个对作者自身来说具有划时代意义的软件——NoteXPad。 他不只精通ASM,还坚持不懈地朝着programmer发展,无论是传统的 C 语言还是OOP时代的C++/Object Pascal,用起来得心应手,目前正在Delphi平台下开发新的软件。
参与章节:第1章 PE文件格式的深入分析(翻译Matt Pietrek An In-Depth Look into the Win32 Portable Executable File Format)
E-mail:notexpad@163.com

作者:王勇
网名破解勇。现就读于石油大学(华东)计算机科学与技术专业。擅长C/C++、Asm和驱动程序开发。对面向对象程序设计和Windows系统底层的研究有一定的经验。很希望能与编程爱好者及加密解密爱好者有更多的交流机会。
参与章节:第2章 PE分析工具编写
QQ:65779603
E-mail:pojieyong@tom.com

作者:印豪
网名Hying,看雪软件调试论坛版主之一,擅长加壳技术,并且在壳的商业化道路上走得极为成功。
参与章节:3.1 Win32调试API原理;3.2 利用调试API编写脱壳机;5.6 反DUMP技术;6.1 外壳编写基础。
E-mail:h-ying@yeah.net

作者:罗翼
程序员,由加解密知识起接触编程,对Windows底层机制有多年的研究经验。后由于工作需要,接触C++/ATL/COM等技术。现致力于研究各种Moder C++的元素的应用范围及其对降低程序复杂度所起的作用,热切关注ISO C++以及分布式计算相关内容的进展。
参与章节:3.3 利用调试API制作内存补丁
E-mail:firingme@sina.com

作者:温玉杰
网名Hume,酷爱计算机,对操作系统、面向对象程序设计、网络及网络安全、加密解密等较感兴趣并有较深入的研究。业余维护了一个个人汇编站点,希望能和同样爱好计算机的朋友们交流。
参与章节:第4章 Windows下的异常处理
主页:Humeasm.yeah.net
E-mail:humewen@263.net
主要作品:翻译出版《Intel汇编语言程序设计》(第四版)

作者:李江涛
网名ljtt,喜欢学习编程技术,常用编程语言为VC/MASM。对PB、VFP的反编译有较深入的研究,写过DePB、FoxSpy等程序。平时大多数时间都在电脑上耕作,最大的希望是能够领悟到编程的精髓,创造一个自己比较满意的作品。
参与章节:5.2 断点检测技术;5.5 反静态分析技术
E-mail:shellfan@163.com

作者:于阳
网名:fisheep,酷爱软件技术,常用编程语言:Delphi,Java。对面向对象的数据库映射方法, 软件测试方法,软件保护方法等较感兴趣并有较深入的研究。
参与章节:5.5.4 信息隐藏
E-mail:fisheep@sohu.com

作者:Blowfish
看雪论坛软件调试论坛版主。
大龄程序员。92年上大学始接触电脑,97年读研期间接触网络并自学加密解密技术,从此一发不可收拾,其时常在教育网BBS灌水。喜多方涉猎,亦能抓住一点深入钻研,对逆向分析技术尤为痴迷。五年多来常在看雪论坛灌水,见证了论坛的风风雨雨,也结识了一些不错的朋友。
参与章节:5.9 软件保护的若干忠告
E-mail:blowfish2000@163.com

作者:王景泉
网名Spirng.W,毕业于山东省信息工程学校计算机技术及应用,擅长VC++/ASM,工作地点:山东省潍坊市。1991~1995年工作于山东潍坊华光照排公司,1995年下海,从事IT业。
参与章节:6.2 加壳程序综合运用的实例
E-mail:hellowjq@163.com

作者:裴来隆
网名PLL621。2001年毕业于合肥工业大学电子信息专业,性喜静,不多言,好追根究底,从事嵌入式系统设计,业余时间沉迷于编程和调试技术中,乐此不疲。
参与章节:第7章 如何让壳与程序融为一体
E-mail:pll621@163.com

作者:周文雄
网名小楼。接触电脑5年,学习软件加密与解密4年,研究Visual Basic 6反编译2年余,皆业余爱好。现在喜欢编程,探索编译器的奥秘。
或问:先生何至于此?曰:无他,惟专一耳。《阴符》有云:“绝利一源,用师十倍”。吾能达于此。
参与章节:第8章 Visual Basic 6 逆向工程
E-mail:xixiaolou@hotmail.com

作者:郭春杨
网名Yonsm,自诩是“传说中的宇宙十大杰出青年”的 Windows 程序员,毕业后一直从事图像和多媒体软件的编程工作。对写程序有十二分的兴趣,对 Windows 编程有深入的理解。
参与章节:附录A 在Visual C++中使用内联汇编
E-mail:Yonsm@163.com

关于本书

本书是由“看雪学院”(http://www.pediy.com)众多高手共同打造而成的。要了解本书的写作背景,先简单谈谈本站的发展历史。
在2000年初时想找一些研究加解密的朋友交流一下,但令人十分遗憾,那时国内这方面的技术资料很缺乏,大家的交流也有限,因此就创建了主页“看雪学院”,与大家共同探讨加密与解密的知识。主页提供的论坛成了国内知名的加解密技术论坛,吸引了密界众多高手,当前最新的加解密技术都可从这里接触到。
为了填补国内Windows平台加密与解密书籍的空白,作者与看雪坛的密界一流好手合作努力,于2001年9月推出国内第一本全面介绍Windows平台下软件的加密与解密技术的书籍《加密与解密——软件保护技术及完全解决方案》。次年,在台湾发行了繁体版,深受台湾读者的欢迎。在这本书中,我们从加密和解密两方面对当今流行的软件保护技术进行分析,读过这本书后,读者能够对当今流行的软件保护技术及破解技术有所了解。这本书获得了2002年全国优秀畅销书奖(科技类)!同时还获得了2002年版权输出奖。
为了跟上技术发展的步伐,在2003年6月推出《加密与解密》(第二版)。这本书是在第一版的基础上写作而成的,补充了许多新技术,结构更加合理。这本书几乎囊括了Windows下的软件保护的绝大多数内容,是一本研究加密与解密入门的好书。
由于开发人员对当前流行的软件加密技术有进一步的需求,我们决定推出《软件加密技术内幕》,其内容侧重软件加密技术及其具体实施方案。这本书的创作历时两年,共有十余名对加解密有心得的好手参与。
《软件加密技术内幕》与《加密与解密》的联系
《加密与解密——软件保护技术及完全解决方案》与《加密与解密》(第二版)是同一本书的不同版次,主要讲解加密与解密的相互性,比较侧重一些软件解密技巧的讲述。
《软件加密技术内幕》内容是与前一本书承接互补的,并不重复。主要讲述当前流行的软件加密保护技术。这本书对读者软件调试技巧有一定的要求,这方面的知识可以从《加密与解密》(第二版)获得。
 

出处:蓝色理想
责任编辑:donger

作者文章 更多作者文章
《精通Eclipse》
《代码优化:有效使用内存》
《网络安全概论》
《Word排版艺术》
BIOS、注册表与系统漏洞终极解析
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
《YoungNWP》第3期发布
奥斯卡大师亚洲巡讲火热报名中
Internet Explorer 9 平台预览版4
国内最大规模web前端技术聚会深圳站
绿色IT--云计算真的环保吗?
妙手回春:网站可用性测试及优化指南
Phpcms 2010模板大赛火热开赛
水晶石技法西安特训营系列报道
插画中国56期插画培训火爆招生中
乔家大院里的女人与Photoshop创意设计

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2