Windows 95系统编程奥秘PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)(M.彼得雷克)Matt Pietrek著;米东等译
- 出 版 社:北京:电子工业出版社
- 出版年份:1996
- ISBN:7505332783
- 页数:592 页
目录 1
引言 1
关于您和读者的假定 1
伪码 2
样本程序 2
第一章 展望WINDOWS 95 3
Win32综述 3
Win32操作系统的地位 5
Windows NT工具软件 6
Win32s工具软件 7
Windows 95工具软件 8
Microsoft之外的Win32工具 10
未来开发程序的考虑 11
Win32的未来 11
小结 11
第二章 什么是Windows 95的新特征 13
与Windows 3.1的相似点 14
在Windows 3.1上的改进 19
DOS几乎不存在了 19
窗式系统 20
转换成信息系统 21
16位和32位进程接口 22
Win16Mutex 24
Windows 95 GDI 25
系统资源清除 26
把内存消耗压缩在IMB以下 26
新产品特性 26
Windows 95 Win32工具 27
Windows 95 Win32系统DLL 27
Windows 95中ring 0的组成 28
进程管理 30
线程管理 32
进程与线程同步 33
模块管理 35
Windows 95地址空间 36
Windows 95内存管理 37
内存映射文件 39
结构异常处理 39
记录(registry) 40
给用户附加的内存 42
系统信息和调试 43
关于Windows 95的一点“设计垃圾”秘密 44
Anti-hacking码 45
Win32 API隐患 46
自由系统资源的粗制滥造 47
Win16仍然有生命力 47
小结 47
第三章 模块、进程和线程 49
Win32模块 50
IMTE(Internal Module Table Entries[?] 51
IMTE结构 52
MODREF结构 55
Module-Related API函数 57
GetProcAddress和IGetProcAddress 57
x_FindAddressFromExportOrdinal 61
x_FindAddressFromExportName 64
GetModuleFileName和IGetModuleFileName 66
GetModuleHandle和IGetModuleHandle 69
x_GetMODREFFromFilename 71
x_GetHModuleFromMODREF 72
KERNEL32(简称K32)对象 73
Windows 95进程 74
什么是进程柄?什么是进程ID? 75
Windows 95进程数据库(PDB) 77
GetExitCodeProcess和IGetExitCodeProcess 84
SetUnhandledExceptionFiIter 85
OpenProcess 85
SetFileApisToOEM 86
环境数据库(The Environment Database) 87
FreeEnvironmentStringsA 89
GetEnvironmentStrings 89
GetCommandLineA 89
GetStdHandle 90
SetStdHandle 90
进程柄表 91
线程(Thread) 92
什么是线程柄?什么是线程ID? 94
线程数据库 95
线程信息块(TIB) 102
线程优先 103
GetThreadPriority(获得线程优先级函数) 104
SetThreadPriority(设置线程优先及函数) 105
CalculateNewPriority(计算新的优先级函数) 106
SetPriorityClass(设置优先类函数) 107
GetPriorityClass(获得优先类函数) 109
线程执行控制 110
GetThreadContext和IGetThreadContext 110
x_ThreadContext_CopyRegs 113
SetThreadContext和ISetThreadContext 114
SuspendThread和VWIN32 SuspendThread 117
ResumeThread 118
结构异常处理 119
结构异常处理及参数有效化 123
GetCurrentDirectoryA 124
x_invalid_param_handler 126
线程局部存储器(TLS) 128
TlsAlloc 129
TlsSetValue 131
TlsGetValue 131
TlsFree 132
GetExitCodeThread和IGetExitCodeThread 134
SetLastError 134
GetLastError 134
其它线程函数 134
Win32Wlk程序 136
Win32Wlk的内部解析 138
小结 140
第四章 USER和GDI子系统 141
Windows 95 USER模块 141
USER32转换例子 144
32位堆 148
神秘的GetFreeSystemResources释放 153
窗口系统的混合16/32位特性 161
信息系统的变化 162
线程消息队列 165
单一队列系统窗口 171
windows 95中(H)WND结构的改变 172
windows 95窗口类的改变 178
SHOWWND程序 181
选择16位USER.EXE函数的伪码 182
USER 32并不仅仅转换成USER.EXE 189
HeapWalk(堆行走函数) 192
Windows 95中单一码支持 196
Windows 95 GDI模块 199
GDI目标 201
Win16应用程序可用的新Win32 GDI函数 207
小结 208
第五章 内存管理 209
基于页面的Windows 95内存管理 209
内存分页 209
内存分页与选择器 212
Windows 95的地址空间以及Win32进程 213
共享内存 218
Windows 95的“写时拷贝”(Copy on Write) 220
PHYS程序 221
利用PHYS来检测共享内存 226
用PHYS来测试写时拷贝(copy on write) 227
PHYS程序中的“好素材”(适用于高水平读者) 227
内存文本(先进的内容) 230
Windows 95内存API 234
VMM函数 235
Win32虚拟数 237
VirtualAlloc 238
mmPAGEToPC 242
VirtualFree 243
VirtualQueryEx 244
VirtualQuery和lVirtualQuery 246
VirtualProtectEx 247
VirtualProtect和IVirtualProtect 250
VirtualLock和VirtualUnlock 251
Win32堆函数(HEAP FUNCTlONS) 251
Win32堆首(heap head)与堆场(heap arenas) 253
Windows 95堆首(heap header) 256
行走堆(WALKHEAP)程序 259
GetProcessHeap(获得进程堆函数) 261
HeapAlloc(堆配置函数)和IHeapAlloc 262
HPAlloc 263
hpCarve(堆分隔函数) 267
ChecksumHeapBlock(堆块检验和函数) 269
HeapSize和IHeapSize函数(堆尺寸函数) 270
HeapFree和IHeapFree(堆释放函数) 271
hpFreeSub 273
HeapReAlloc和IHeapReAlloc(堆再配置函数) 276
HPReAlloc函数 278
HeapCreate函数(堆生成函数) 281
HPInit(堆初始化函数) 283
HeapDestory和IHeapDestory(堆破坏函数) 287
HeapValidate(堆有效化函数) 290
HeapCompact(堆压缩函数) 290
GetProcessHeaps(获取进程堆函数) 291
HeapLock(堆锁定函数) 291
HeapUnlock(堆解锁函数) 291
Win32局部和全局堆函数(Local and Global Heap Functions) 292
Win32局部堆 293
LocalAlloc和ILocalAlloc(局部配置函数) 295
LocalLock和ILocalLock(局部锁定函数) 299
LocalUnlock(局部解锁函数) 301
LocalFree和ILocalFree(局部释放函数) 303
LocalReAlloc和ILocalReAlloc(局部再配置函数) 306
LocalHandle和ILocalHandle(局部句柄函数) 310
LocalSize和ILocalSize(局部尺寸函数) 312
LocalFlags(局部标志函数) 314
LocalCompact(局部压缩函数) 316
Win32全局堆函数(Global Heap functions) 316
LocalShrink(局部压缩函数) 316
GlobalAlloc 317
GlobalLock 317
GlobalUnlock 317
GlobalFree 317
GlobalReAlloc 317
GlobalFlags and IGlobalFlags 318
GlobalWire 318
GlobalUnWire 318
GlobalHandle 318
GlobalSize 318
GlobalFix 319
GlobalUnFix 319
GlobalCompact 319
杂函数(Miscellaneous Functions) 319
WriteProcessMemory和ReadProcessMemory 319
(写进程内存和读进程内存函数) 319
GlobalMemoryStatus和IGlobalMemoryStatus 322
(全局内存状态数) 322
GetThreadSelectorEntry和IGetThreadSelectorEntry 324
(获取线程选择器入口函数) 324
C/C++编译器的malloc和new函数 326
小结 328
第六章 Windows 95的三个核心部件 329
VxD剖析 330
从其它VxD中调用VxD函数 331
从Winl6(保护模式)代码调用VxD函数 332
Win32代码调用VxD函数 334
从哪儿可以找到Win32 VxD服务? 340
VMM提供的Win32 VxD服务 341
应用程序调用Win32 VxD服务 342
分析VWIN32.VXD 345
VWIN32.VXD的ring 0 VxD服务API 345
VWIN32.VXD的16位保护模式API 347
VWIN32.VXD的Win32 VxD服务APl 348
VWIN32 TDBX 354
Windows 95的三个核心部件怎样通信 357
VWIN32的KRNL386的知识 358
KERNEL32.DLL的KRNL386.EXE知识 360
(或者说,微软公司没告诉你的东西) 360
KERNEL32.DLL的VWIN32知识 360
VWIN32的KERNEL32.DLL知识 360
KRNL386的KERNEL32.DLL知识 364
KRNL386的VWIN32知识 365
Win32 VxD服务侦探程序(W32SVSPY) 365
W32SVSPY工作的一个样本 367
编写W32SVSPY的技术挑战 370
小结 372
第七章 Win16模块和任务 373
16位模块 374
为什么32位的模块和进程要有16位的表示方法? 374
NE头 376
Windows 95中的模块数据库新域 384
段表 385
资源表(The Resource Table) 387
入口表 390
驻留名表和非驻留名表 391
HMODULE和HINSTANCE 392
与模块相关的函数 394
GetModuleHandle函数 394
GetExePtr函数 397
GetProcAddress函数 401
16位任务 406
一些关于任务的错误认识 409
任务数据库(TDB) 410
关于任务的函数 418
GetCurrentTask()函数 418
IsTask()函数 419
GetTaskQueue()函数 420
MakeProcInstance()函数 421
TaskFindHandle函数 425
SHOW16程序 427
小结 432
第八章 可移植的执行模块和COFF OBJ格式 433
PEDUMP程序 435
基本的Win32和PE概念 436
PE头标 437
节表 444
经常遇到的节 450
.text节 450
Borland的CODE和.icode节 451
.CRT节 452
.bss节 452
DATA节 452
.data节 452
.rsrc节 453
.idata节 453
.edata节 453
.reloc节 453
.tls节 454
.rdata节 455
.drective节 456
名字含$的节(只对OBJ/LIB文件) 456
.debug$S和.debug$T节 456
各式各样的节 457
PE文件引入 457
IMAGE_THUNK_DATA DWORD 460
把IMAGE_IMPORT_DESCRIPTOR和 461
IMAGE_THUNK_DATA并在一起 461
PE文件引出 463
引出传递 466
PE文件资源 467
PE文件基址重定位 470
COFF符号表 472
COFF调试信息 477
COFF行号表 479
PE文件和COFF OBJ文件之间的差别 480
COFF LIB文件 481
Linker成员 483
Longnames成员 485
小结 485
第九章 读者自身探密 487
探密概览 488
用文件转储工具探密 489
用侦探工具探密 497
用反汇编探密 503
反汇编的学习和技术 504
弄清常用代码序列和约定 506
一个反汇编例子 521
高级技巧 526
使用SoftIce/Windows 526
应用硬件断点 527
VAR2MAP工具 528
VxD.(园点)命令 528
识别VxD服务程序 530
识别Win32 VxD服务程序 531
识别参数有效性检查和Ixxx函数 531
使用调试版本 533
Pentium优化的代码 533
小结 534
第十章 编写Win32 API侦探程序 535
拦截函数 536
在另一个进程内接种一个DLL 539
用Debug API来控制目标进程 541
编写登记API函数的程序段 543
参数信息编码 545
函数返回值 546
APISPY32程序 548
Win32s特有的代码 567
APISPYLD的代码 568
使用APISPY32时的注意事项 581
在你自己的程序中拦截函数 582
小结 588
附录A 未公布的KEPNEL32.DLL链接库 589
- 《管理信息系统习题集》郭晓军 2016
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《系统解剖学速记》阿虎医考研究组编 2019
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《社会文化系统中的翻译》姜秋霞,杨正军 2019
- 《中国生态系统定位观测与研究数据集 森林生态系统卷 云南西双版纳》邓晓保·唐建维 2010
- 《全国职业院校工业机器人技术专业规划教材 工业机器人现场编程》(中国)项万明 2019
- 《大气氮沉降及其对生态系统的影响》方琨,王道波 2019
- 《学校教育指标系统的构建》杨向东著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017