图书介绍
Windows PE权威指南【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 戚利著 著
- 出版社: 北京:机械工业出版社
- ISBN:7111354185
- 出版时间:2011
- 标注页数:658页
- 文件大小:121MB
- 文件页数:681页
- 主题词:
PDF下载
下载说明
Windows PE权威指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分PE的原理和基础2
第1章Windows PE开发环境2
1.1开发语言MASM32 2
1.1.1设置开发环境3
1.1.2开发第一个源程序HelloWorld.asm5
1.1.3运行HelloWorld.exe7
1.2调试软件OllyDBG10
1.2.1调试HelloWorld.exe10
1.2.2修改EXE文件字节码16
1.3十六进制编辑软件FlexHex18
1.4破解实例:U盘监控器20
1.5初识PE文件23
1.6小结26
第2章 三个小工具的编写27
2.1构造基本窗口程序27
2.1.1构造窗口界面27
2.1.2编写相关的资源文件28
2.1.3通用程序框架的实现29
2.2 PEDump的实现32
2.2.1编程思路32
2.2.2 PEDump编码34
2.2.3 PEDump代码中的数据结构38
2.2.4运行PEDump39
2.3 PEComp的实现40
2.3.1编程思路41
2.3.2定义资源文件41
2.3.3 PEComp编码41
2.3.4运行PEComp47
2.4 PEInfo的实现47
2.4.1编程思路48
2.4.2 PEInfo编码48
2.4.3运行PEInfo52
2.5小结53
第3章PE文件头54
3.1 PE的数据组织方式54
3.2与PE有关的基本概念58
3.2.1地址58
3.2.2指针60
3.2.3数据目录60
3.2.4节60
3.2.5对齐61
3.2.6 Unicode字符串62
3.3 PE文件结构62
3.3.1 16位系统下的PE结构62
3.3.2 32位系统下的PE结构66
3.3.3程序员眼中的PE结构68
3.4 PE文件头部解析69
3.4.1 DOS MZ头IMAGE_DOS_HEADER69
3.4.2 PE头标识Signature69
3.4.3标准PE头IMAGE_FILE HEADER70
3.4.4扩展PE头IMAGE_ OPTIONAL HEADER3270
3.4.5 PE头IMAGE_NT_HEADERS71
3.4.6数据目录项IMAGE_DATA_DIRECTORY71
3.4.7节表项IMAGE_SECTION_HEADER74
3.5数据结构字段详解74
3.5.1 PE头IMAGE_NT_HEADER的字段75
3.5.2标准PE头IAMGE_FILE_HEADER的字段75
3.5.3扩展PE头IMAGE_OPTIONAL_HEADER32的字段78
3.5.4数据目录项IMAGE_DATA_DIRECTORY的字段87
3.5.5节表项IMAGE_SECTION_HEADER的字段87
3.5.6解析HelloWorld程序的字节码88
3.6 PE内存映像92
3.7 PE文件头编程93
3.7.1 RVA与FOA的转换93
3.7.2数据定位95
3.7.3标志位操作101
3.7.4 PE校验和102
3.8小结104
第4章 导入表105
4.1何谓导入表105
4.2导入函数105
4.2.1 invoke指令分解106
4.2.2导入函数地址107
4.2.3导入函数宿主109
4.3 PE中的导入表112
4.3.1导入表定位112
4.3.2导入表描述符IMAGE_IMPORT_DESCRIPTOR113
4.3.3导入表的双桥结构114
4.3.4导入函数地址表116
4.3.5构造调用同一个DLL文件的多个函数的导入表117
4.4导入表编程121
4.4.1导入表遍历的思路121
4.4.2编写函数_getImportInfo122
4.4.3运行测试124
4.5绑定导入124
4.5.1绑定导入机制124
4.5.2绑定导入数据定位125
4.5.3绑定导入数据结构126
4.5.4绑定导入实例分析127
4.6手工重组导入表128
4.6.1常用注册表API128
4.6.2构造目标指令132
4.6.3 PE头部变化135
4.6.4手工重组136
4.6.5程序实现141
4.6.6思考:关于IAT的连贯性142
4.6.7思考:关于导入表的位置143
4.7小结144
第5章 导出表145
5.1导出表的作用145
5.1.1分析动态链接序功能145
5.1.2获得导出函数地址146
5.2构造含导出表的PE文件146
5.2.1 DLL源代码147
5.2.2编写def文件151
5.2.3编译和链接152
5.2.4编写头文件152
5.2.5使用导出函数152
5.3导出表数据结构155
5.3.1导出表定位155
5.3.2导出目录IMAGE_EXPORT_DIRECTORY156
5.3.3导出表实例分析158
5.4导出表编程160
5.4.1根据编号查找函数地址160
5.4.2根据名字查找函数地址160
5.4.3遍历导出表162
5.5导出表的应用165
5.5.1导出函数覆盖165
5.5.2导出私有函数167
5.6小结169
第6章 栈与重定位表170
6.1栈170
6.1.1栈的应用场合170
6.1.2 call调用中的栈实例分析173
6.1.3栈溢出177
6.2代码重定位181
6.2.1重定位的提出181
6.2.2实现重定位的方法182
6.2.3重定位编程183
6.3 PE文件头中的重定位表189
6.3.1重定位表定位189
6.3.2重定位表项IMAGE_BASE_RELOCATION190
6.3.3重定位表的结构191
6.3.4遍历重定位表192
6.3.5重定位表实例分析195
6.4小结196
第7章 资源表197
7.1资源分类197
7.1.1位图、光标、图标资源199
7.1.2菜单资源199
7.1.3对话框资源200
7.1.4自定义资源201
7.2 PE资源表组织202
7.2.1资源表的组织方式202
7.2.2资源表数据定位203
7.2.3资源目录头IMAGE_RESOURCE_DIRECTORY204
7.2.4资源目录项IMAGE_RESOURCE_DIRECTORY_ENTRY205
7.2.5资源数据项IMAGE_RESOURCE_DATA_ENTRY206
7.2.6三级结构中目录项的区别207
7.3资源表遍历208
7.4 PE资源深度解析213
7.4.1资源脚本213
7.4.2使用PEInfo分析资源表214
7.4.3菜单资源解析216
7.4.4图标资源解析218
7.4.5图标组资源解析223
7.4.6对话框资源解析224
7.5资源表编程228
7.5.1更改图标实验229
7.5.2提取程序图标实例231
7.5.3更改程序图标实例241
7.6小结244
第8章 延迟加载导入表245
8.1延迟加载导入的概念及其作用245
8.1.1提高应用程序加载速度246
8.1.2提高应用程序兼容性246
8.1.3提高应用程序可整合性247
8.2 PE中的延迟加载导入表247
8.2.1延迟加载导入表数据定位247
8.2.2延迟加载导入描述符IMAGE_DELAY_IMPORT_DESCRIPTOR248
8.2.3延迟加载导入表实例分析249
8.3延迟加载导入机制详解251
8.4延迟加载导入编程253
8.4.1修改资源文件pe.rc 253
8.4.2修改源代码pe.asm 253
8.5关于延迟加载导入的两个问题255
8.5.1异常处理255
8.5.2 DLL的卸载255
8.6小结256
第9章 线程局部存储257
9.1 Windows进程与线程257
9.1.1 Windows体系结构257
9.1.2进程与线程创建258
9.1.3进程环境块PEB262
9.1.4线程环境块TEB264
9.2什么是线程局部存储265
9.3动态线程局部存储267
9.3.1动态TLS实例267
9.3.2获取索引TlsAlloc274
9.3.3按索引取值TlsGetValue275
9.3.4按索引存储T1sSetValue275
9.3.5释放索引T1sFree275
9.4静态线程局部存储276
9.4.1 TLS定位277
9.4.2 TLS目录结构IMAGE_TLS_DIRECTORY32278
9.4.3静态TLS实例分析278
9.4.4 TLS回调函数279
9.4.5测试静态TLS下的线程存储初始化回调函数280
9.5小结281
第10章 加载配置信息282
10.1何谓加载配置信息282
10.2 Windows结构化异常处理282
10.2.1什么是SEH283
10.2.2 Windows异常分类285
10.2.3内核模式下的异常处理286
10.2.4用户模式下的异常处理289
10.2.5 Windows SEH机制解析294
10.2.6 SEH编程实例295
10.3 PE中的加载配置信息299
10.3.1加载配置信息定位300
10.3.2加载配置目录IMAGE LOAD CONFIG DIRECTORY300
10.3.3加载配置信息实例分析302
10.4加载配置编程303
10.4.1程序源代码分析304
10.4.2为PE添加加载配置信息306
10.4.3运行测试306
10.4.4注册多个异常处理函数示例307
10.5小结309
第11章 动态加载技术310
11.1 Windows虚拟地址空间分配310
11.1.1用户态低2GB空间分配310
11.1.2核心态高2GB空间分配311
11.1.3 HelloWorld进程空间分析312
11.2 Windows动态库技术313
11.2.1 DLL静态调用313
11.2.2 DLL动态调用314
11.2.3导出函数起始地址实例314
11.3在编程中使用动态加载技术315
11.3.1获取kernel32.dll基地址316
11.3.2获取GetProcAddress地址322
11.3.3在代码中使用获取的函数地址编程325
11.3.4动态API技术编程实例327
11.4小结330
第二部分PE进阶332
第12章PE变形技术332
12.1变形技术的分类332
12.1.1结构重叠技术332
12.1.2空间调整技术333
12.1.3数据转移技术334
12.1.4数据压缩技术338
12.2变形技术可用的空间341
12.2.1文件头部未用的字段341
12.2.2大小不固定的数据块343
12.2.3因对齐产生的补足空间344
12.3 PE文件变形原则344
12.3.1关于数据目录表344
12.3.2关于节表344
12.3.3关于导入表344
12.3.4关于程序数据345
12.3.5关于对齐345
12.3.6几个关注的字段345
12.4将PE变小的实例HelloWorldPE346
12.4.1源程序HelloWorld的字节码(2560字节)346
12.4.2目标PE文件的字节码(432字节)348
12.5打造目标PE的步骤349
12.5.1对文件头的处理349
12.5.2对代码段的处理350
12.5.3对导入表的处理351
12.5.4对部分字段值的修正351
12.5.5修改后的文件结构352
12.5.6修改后的文件分析353
12.5.7目标文件更小的实例分析354
12.6小结359
第13章PE补丁技术360
13.1动态补丁360
13.1.1进程间的通信机制360
13.1.2读写进程内存363
13.1.3目标进程枚举368
13.1.4执行远程线程373
13.2静态补丁379
13.2.1整体替换PE文件379
13.2.2整体替换DLL文件385
13.2.3部分修改PE文件387
13.3嵌入补丁程序388
13.3.1嵌入补丁程序框架388
13.3.2嵌入补丁程序编写规则394
13.3.3嵌入补丁字节码实例分析395
13.4万能补丁码396
13.4.1原理396
13.4.2源代码397
13.4.3字节码399
13.4.4运行测试399
13.5小结399
第14章在PE空闲空间中插入程序400
14.1什么是PE空闲空间400
14.1.1 PE文件中的可用空间400
14.1.2获取PE文件可用空间的代码400
14.1.3获取PE文件可用空间的测试403
14.2添加注册表启动项的补丁程序实例403
14.2.1补丁程序的源代码403
14.2.2补丁程序的字节码404
14.2.3目标PE的字节码405
14.3手工打造目标PE的步骤408
14.3.1基本思路408
14.3.2对代码段的处理408
14.3.3对导入表的处理413
14.3.4对数据段的处理418
14.3.5修改前后PE文件对比421
14.4开发补丁工具422
14.4.1编程思路422
14.4.2数据结构分析423
14.4.3运行测试427
14.4.4适应性测试实例分析430
14.5小结434
第15章在PE间隙中插入程序435
15.1什么是PE间隙435
15.1.1构造间隙一436
15.1.2间隙一与参数436
15.2插入HelloWorld的补丁程序实例437
15.2.1补丁程序字节码437
15.2.2目标PE结构439
15.3开发补丁工具439
15.3.1编程思路439
15.3.2数据结构分析440
15.3.3主要代码442
15.3.4运行测试447
15.4存在绑定导入数据的PE补丁程序实例448
15.4.1改进补丁程序448
15.4.2修正补丁工具450
15.4.3为记事本程序打补丁456
15.5小结457
第16章在PE新增节中插入程序458
16.1新增PE节的方法458
16.2在本地建立子目录的补丁程序实例458
16.2.1补丁程序源代码459
16.2.2目标PE结构464
16.3开发补丁工具465
16.3.1编程思路465
16.3.2为变量赋值466
16.3.3构造新文件数据466
16.3.4修正字段参数466
16.3.5主要代码467
16.3.6运行测试475
16.4小结475
第17章在PE最后一节中插入程序476
17.1网络文件下载器补丁程序实例476
17.1.1用到的API函数476
17.1.2补丁功能的预演代码482
17.1.3补丁程序的源代码484
17.1.4目标PE结构485
17.2开发补丁工具486
17.2.1编程思路486
17.2.2主要代码487
17.2.3运行测试490
17.3小结491
第三部分 PE的应用案例494
第18章EXE捆绑器494
18.1基本思路494
18.2 EXE执行调度机制495
18.2.1相关API函数495
18.2.2控制进程同步运行实例分析499
18.3字节码转换工具hex2db500
18.3.1 hex2db源代码500
18.3.2运行测试507
18.4执行调度程序_host.exe508
18.4.1主要代码508
18.4.2数据结构分析510
18.5宿主程序host.exe511
18.5.1宿主程序的功能511
18.5.2宿主程序的状态511
18.5.3遍历文件512
18.5.4释放文件514
18.5.5宿主程序主函数517
18.6 EXE捆绑器bind.exe517
18.6.1绑定列表定位517
18.6.2捆绑步骤及主要代码518
18.6.3测试运行523
18.7小结524
第19章 软件安装自动化525
19.1基本思路525
19.2补丁程序patch.exe525
19.2.1相关API函数526
19.2.2执行线程函数526
19.2.3简单测试528
19.3消息发送器_Message.exe529
19.3.1窗口枚举回调函数529
19.3.2调用窗口枚举函数530
19.3.3向指定窗口发送消息531
19.3.4消息发送器源代码532
19.3.5测试运行535
19.4消息发送器生成工厂MessageFactory.exe535
19.4.1消息发送函数535
19.4.2键盘虚拟码537
19.4.3改进的消息发送器实例分析540
19.4.4消息发送器生成工厂代码结构542
19.4.5代码与数据的定位544
19.4.6提取代码字节码545
19.5软件安装自动化主程序AutoSetup.exe548
19.5.1主要代码548
19.5.2测试运行552
19.6小结554
第20章EXE加锁器555
20.1基本思路555
20.2免资源文件的窗口程序nores.asm556
20.2.1窗口创建函数CreateWindowEx556
20.2.2创建用户登录窗口的控件558
20.2.3窗口程序源代码558
20.3免重定位的窗口程序 login.asm562
20.4补丁程序patch.asm570
20.4.1获取导入库及函数570
20.4.2按照补丁框架修改login.asm571
20.4.3补丁程序主要代码572
20.5附加补丁运行573
20.6小结575
第21章EXE加密576
21.1基本思路576
21.2加密算法577
21.2.1加密算法的分类577
21.2.2自定义可逆加密算法实例578
21.2.3构造加密基表579
21.2.4利用基表测试加密数据581
21.3开发补丁工具582
21.3.1转移数据目录582
21.3.2传递程序参数585
21.3.3加密节区内容587
21.4处理补丁程序588
21.4.1还原数据目录表588
21.4.2解密节区内容590
21.4.3加载目标DLL592
21.4.4修正目标IAT594
21.5小结595
第22章PE病毒提示器596
22.1基本思路596
22.1.1志愿者的选择条件596
22.1.2判断病毒感染的原理597
22.2手工打造PE病毒提示器597
22.2.1编程思路597
22.2.2分析目标文件的导入表598
22.2.3补丁程序的源代码601
22.2.4补丁程序的字节码608
22.2.5修正函数地址609
22.2.6测试运行610
22.3补丁版的PE病毒提示器611
22.3.1将提示器写入启动项611
22.3.2检测特定位置校验和612
22.3.3 测试运行615
22.4小结617
第23章 破解PE病毒618
23.1病毒保护技术618
23.1.1花指令619
23.1.2反跟踪技术620
23.1.3反调试技术621
23.1.4自修改技术624
23.1.5注册表项保护技术625
23.1.6进程保护技术627
23.2 PE病毒补丁程序解析632
23.2.1病毒特征633
23.2.2补丁程序的源代码分析633
23.2.3病毒传播测试648
23.2.4感染前后PE结构对比650
23.3解毒代码的编写650
23.3.1基本思路651
23.3.2计算病毒代码大小651
23.3.3获取原始入口地址652
23.3.4修正PE头部的其他参数652
23.3.5主要代码653
23.3.6运行测试656
23.4小结657
后记658
热门推荐
- 577324.html
- 3404695.html
- 116532.html
- 2398643.html
- 1140570.html
- 2681607.html
- 2131494.html
- 3262429.html
- 3429367.html
- 2600825.html
- http://www.ickdjs.cc/book_1270548.html
- http://www.ickdjs.cc/book_3329073.html
- http://www.ickdjs.cc/book_2761891.html
- http://www.ickdjs.cc/book_62391.html
- http://www.ickdjs.cc/book_125923.html
- http://www.ickdjs.cc/book_1118702.html
- http://www.ickdjs.cc/book_3264529.html
- http://www.ickdjs.cc/book_3687861.html
- http://www.ickdjs.cc/book_906530.html
- http://www.ickdjs.cc/book_158781.html