关于nasm, 虚拟机和调试器的blog

micklongen 2009-04-04 12:42:42
大家好:
本人的技术博客:micklongen.cublog.cn
相关内容有:
调试器工作原理介绍:http://blog.chinaunix.net/u3/93907/article_107445.html
nasm 汇编器源代码分析:http://blog.chinaunix.net/u3/93907/article_107446.html
Lguest 虚拟机源代码分析:http://blog.chinaunix.net/u3/93907/article_107454.html

其他也有一点关于缓冲区溢出,ELF可执行文件格式分析等相关的学习心得。
欢迎大家一起交流

PS:本人博客已迁到的micklongen.cublog.cn,原本的博客不再使用。

micklongen
2009-4-2
...全文
238 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
独孤过儿 2009-04-04
  • 打赏
  • 举报
回复
不錯,頂一個,一會看看
基本信息 作者: (俄)Kris Kaspersky(克里斯.卡巴斯基) 译者: 谭明金[同译者作品] 丛书名: 安全技术大系 出版社:电子工业出版社 ISBN:9787121106279 上架时间:2010-6-12 出版日期:2010 年6月 开本:16开 页码:1 版次:2-1 所属分类: 计算机 > 软件与程序设计 > 汇编语言/编译原理 > 汇编语言程序设计 编辑推荐 俄罗斯著名的安全技术专家Kris Kaspersky力作 横跨Windows和UNIX两大主流操作系统 全面介绍多种调试工具和方法 目录回到顶部↑第一篇 黑客工具介绍 第1章 携黑客工具启程 2 1.1 调试器 2 1.2 反汇编器 6 1.3 反编译器 8 1.4 十六进制编辑器 10 1.5 解包器(Unpacker) 12 1.6 转储器 13 1.7 资源编辑器 14 1.8 窥测器(Spy) 14 1.9 监视器(Monitor) 15 1.10 修正器 17 1.11 受保护光盘复制器 17 第2章 UNIX黑客工具 18 2.1 调试器 18 2.2 反汇编器 21 2.3 窥测器 22 2.4 十六进制编辑器 23 2.5 转储器 24 2.6 自动保护工具 24 .第3章 调试器与仿真器的仿真 25 3.1 仿真器概述 25 3.2 历史概况 25 3.2.1 仿真器的应用范围 27 3.2.2 硬件虚拟 31 3.3 流行的仿真器 32 3.3.1 DOSBox 32 3.3.2 Bochs 34 3.3.3 VMware 35 3.3.4 Microsoft Virtual PC 37 3.3.5 Xen 39 3.3.6 最势均力敌的竞争对手 40 3.4 仿真器的选择 41 3.4.1 安全性 41 3.4.2 可扩展性 41 3.4.3 源代码是否可用 41 3.4.4 仿真的质量 42 3.4.5 内置调试器 43 3.4.6 如何在VMware下配置SoftICE 45 第4章 汇编器入门 46 4.1 汇编语言方法论 47 4.2 基于C程序实例解释汇编概念 48 4.3 汇编插入语句 49 4.4 可用的汇编语言工具 50 4.5 汇编编译器的概况与比较 51 4.5.1 评判的基本标准 52 4.5.2 MASM 54 4.5.3 TASM 56 4.5.4 FASM 57 4.5.5 NASM 58 4.5.6 YASM 59 4.5.7 结论 60 第二篇 基本黑客技术 第5章 走进黑客门 64 5.1 按密钥类型划分保护机制 67 5.2 保护机制的强度 68 5.3 商业化保护机制的缺点 70 5.4 定制保护机制的实现错误 70 5.4.1 非授权复制与序列号分发 70 5.4.2 试用期及其弱点 71 5.4.3 算法重建 74 5.4.4 磁盘与内存的修改 78 5.4.5 反反汇编器 78 5.4.6 反调试技术 79 5.4.7 反监听器 79 5.4.8 反转储器 79 5.4.9 弥补保护机制 80 5.5 容易导致严重后果的小错误 80 第6章 热身 83 6.1 创建保护机制,并尝试破解 83 6.2 走近反汇编器 85 6.2.1 批反汇编器与交互式反汇编器 86 6.2.2 使用批反汇编器 87 6.2.3 从EXE到CRK 90 6.3 实际的破解范例 101 6.3.1 抑制干扰屏的出现 102 6.3.2 强行注册 105 6.3.3 彻底破解或者驯服“About”对话框 108 6.4 总结 111 第7章 通晓应用程序调试技术 112 7.1 调试简介 112 7.2 配套使用反汇编器与调试器 113 7.3 API函数断点 115 7.4 消息断点 117 7.5 数据断点 118 7.6 展开堆栈 119 7.7 调试DLL 121 7.8 总结 122 第8章 在UNIX与Linux下的特殊调试技术 123 8.1 GDB的基础——ptrace 124 8.1.1 ptrace及其命令 126 8.1.2 GDB对多进程的支持 127 8.1.3 GDB简介 128 8.1.4 跟踪系统调用 131 8.2 用GDB调试二进制文件 133 8.2.1 准备进行文件调试 133 8.2.2 跟踪前的准备 138 第9章 Linice内核调试基础 141 9.1 系统要求 142 9.2 编译与配置Linice 143 9.3 引导系统与启动调试器 144 9.4 Linice的基本使用原理 147 9.5 总结 151 第10章 高级调试专题 152 10.1 SoftICE用做日志记录器 152 10.1.1 热身运动 153 10.1.2 更复杂的过滤器 156 10.1.3 SoftICE的动画型跟踪 159 10.2 随机设置断点的技巧 160 10.2.1 单步跟踪的秘密 161 10.3 通过覆盖方法进行破解 169 10.3.1 总体思路 169 10.3.2 工具的选择 170 10.4 确定代码覆盖的算法 172 10.5 方法的选择 173 10.6 程序破解实例 174 10.7 总结 179 第三篇 高级反汇编技术 第11章 反汇编32位PE文件 182 11.1 PE文件结构不同实现形式的特性 182 11.2 PE文件的一般概念与要求 183 11.3 PE文件结构 184 11.4 PE文件的代码插入与删除技术 186 11.4.1 X码概念及其他约定 186 11.4.2 X码的目的与任务 187 11.4.3 对X码的要求 188 11.4.4 插入 189 11.5 总结 215 第12章 在Linux与BSD中反汇编ELF文件 216 12.1 所需要的工具 216 12.2 ELF文件结构 217 12.3 在ELF文件中插入外来码 219 12.3.1 通过合并来感染文件 220 12.3.2 通过扩展文件的最后分区来感染文件 222 12.3.3 通过压缩部分原始文件 12.3.3 而感染文件 224 12.3.4 通过扩展文件的代码分区而感染文件 228 12.3.5 通过下移代码分区而感染文件 231 12.3.6 通过创建定制分区而感染文件 233 12.3.7 通过在文件与头结构之间 12.3.7 插入代码而感染文件 233 12.3.8 在ELF文件中插入代码的实验 234 12.4 反汇编Linux版tiny-crackme程序 241 12.4.1 剖析tiny-crackme 241 12.5 总结 253 第13章 反汇编x86-64程序 254 13.1 简介 254 13.2 需要的工具 255 13.3 x86-64体系结构概述 258 13.4 切换到64位模式 260 13.5 x86-64平台上的“Hello, World”程序 262 13.6 总结 267 第14章 反汇编与破解Linux内核 268 14.1 反汇编Linux内核 268 14.1.1 内核的外围话题 268 14.1.2 攻击内核 269 14.1.3 深入内核 271 14.1.4 错误所在的位置 275 14.2 内核攻击秘诀 276 14.2.1 修改Linux徽标 276 第15章 高级补丁技术 281 15.1 联机补丁的秘密与诀窍 281 15.1.1 最简单的联机补丁器 282 15.1.2 大比拼 284 15.1.3 截取传递信号的API函数 285 15.1.4 硬件断点 287 15.2 几种鲜为人知的破解客户程序的方法 289 15.2.1 破解客户应用程序的方法概述 289 15.2.2 在不编辑字节的情况下进行修改 289 15.3 Windows NT/2000/XP内核黑码事宜 296 15.3.1 内核结构 296 15.3.2 内核类型 298 15.3.3 修改内核的方法 300 15.3.4 修改启动徽标 306 15.4 BSOD之后还有活路吗 308 15.4.1 用SoftICE克服BSOD 309 15.4.2 自动实现的复活过程 313 15.4.3 这个反BSOD程序安全吗 317 15.5 总结 318 第16章 反汇编其他格式的文件 319 16.1 反汇编PDF文件 319 16.1.1 Adobe Acrobat为那些不循规蹈矩的人提供了什么 320 16.1.2 修改Adobe Acrobat 323 16.1.3 使用打印屏幕功能实施破解 324 16.1.4 尽量多懂几种语言 324 16.1.5 PDF文件结构 324 16.1.6 生成加密密钥 328 16.1.7 攻击U-密码 329 16.1.8 如何动手破解PDF密码 331 16.2 总结 333 第四篇 实用代码探查技术 第17章 在Windows上捉迷藏 336 17.1 Windows反调试技术 337 17.1.1 历史在不断地重演 339 17.1.2 自跟踪程序 340 17.1.3 基于物理内存访问的反调试技术 345 17.1.4 Windows 2000/XP SDT Restore如何工作 349 17.2 Windows世界的隐形技术 349 17.2.1 Blue Pill、Red Pill——Windows Longhorn再现《黑客帝国》 350 17.2.2 Blue Pill 350 17.2.3 规避数字签名 350 17.2.4 沉迷于虚拟世界 352 17.2.5 Red Pill 355 17.3 总结 357 第18章 攻克打包器 358 18.1 初步的分析 358 18.2 解包与其他方法 361 18.3 解包算法 361 18.4 搜索原始入口点 362 18.4.1 活动程序转储 362 18.4.2 通过内存中的签名搜索启动代码 364 18.4.3 流行但低效的工具: 18.4.3 GetModuleHandleA与fs:0 365 18.4.4 解包器的副作用 369 18.4.5 基于堆栈平衡找到OEP的通用方法 372 18.4.6 如果调试器跳过了解包器入口点怎么办 375 18.5 转储受保护的应用程序 377 18.5.1 简单转储案例 377 18.5.2 自行搜索 381 18.5.3 从外部查看转储内容 382 18.5.4 动态解密机制 383 18.5.5 对内部数据进行转储 384 18.5.6 打包器的诡计 386 18.6 总结 388 第19章 攻克代码混淆 389 19.1 混码器如何发挥作用 390 19.2 如何破解混淆程序 394 19.2.1 解除代码混淆 395 19.3 黑盒方法 397 19.4 虚拟机牢笼 398 19.5 总结 399 第20章 攻克Linux与BSD打包器 400 20.1 打包器对性能的影响 400 20.2 ELFCrypt 401 20.3 UPX 408 20.4 Burneye 410 20.5 Shiva 413 20.6 打包器的比较 414 20.7 总结 415 第21章 调试与反汇编恶意软件 416 21.1 用调试器反监视 416 21.1.1 时间也会留下印记 416 21.1.2 进程树 418 21.1.3 查看线程 420 21.1.4 恢复系统服务表 426 21.2 攻击程序的核查与反汇编 430 21.2.1 如何反汇编攻击程序 431 21.2.2 分析消息排队攻击程序 432 21.2.3 如何在调试器下运行外壳码 443 21.3 总结 444
作者: (俄)Kris Kaspersky(克里斯.卡巴斯基) 译者: 谭明金[同译者作品] 丛书名: 安全技术大系 出版社:电子工业出版社 ISBN:9787121106279 上架时间:2010-6-12 出版日期:2010 年6月 开本:16开 页码:1 版次:2-1 所属分类: 计算机 > 软件与程序设计 > 汇编语言/编译原理 > 汇编语言程序设计 编辑推荐 俄罗斯著名的安全技术专家Kris Kaspersky力作 横跨Windows和UNIX两大主流操作系统 全面介绍多种调试工具和方法 目录回到顶部↑第一篇 黑客工具介绍 第1章 携黑客工具启程 2 1.1 调试器 2 1.2 反汇编器 6 1.3 反编译器 8 1.4 十六进制编辑器 10 1.5 解包器(Unpacker) 12 1.6 转储器 13 1.7 资源编辑器 14 1.8 窥测器(Spy) 14 1.9 监视器(Monitor) 15 1.10 修正器 17 1.11 受保护光盘复制器 17 第2章 UNIX黑客工具 18 2.1 调试器 18 2.2 反汇编器 21 2.3 窥测器 22 2.4 十六进制编辑器 23 2.5 转储器 24 2.6 自动保护工具 24 .第3章 调试器与仿真器的仿真 25 3.1 仿真器概述 25 3.2 历史概况 25 3.2.1 仿真器的应用范围 27 3.2.2 硬件虚拟 31 3.3 流行的仿真器 32 3.3.1 DOSBox 32 3.3.2 Bochs 34 3.3.3 VMware 35 3.3.4 Microsoft Virtual PC 37 3.3.5 Xen 39 3.3.6 最势均力敌的竞争对手 40 3.4 仿真器的选择 41 3.4.1 安全性 41 3.4.2 可扩展性 41 3.4.3 源代码是否可用 41 3.4.4 仿真的质量 42 3.4.5 内置调试器 43 3.4.6 如何在VMware下配置SoftICE 45 第4章 汇编器入门 46 4.1 汇编语言方法论 47 4.2 基于C程序实例解释汇编概念 48 4.3 汇编插入语句 49 4.4 可用的汇编语言工具 50 4.5 汇编编译器的概况与比较 51 4.5.1 评判的基本标准 52 4.5.2 MASM 54 4.5.3 TASM 56 4.5.4 FASM 57 4.5.5 NASM 58 4.5.6 YASM 59 4.5.7 结论 60 第二篇 基本黑客技术 第5章 走进黑客门 64 5.1 按密钥类型划分保护机制 67 5.2 保护机制的强度 68 5.3 商业化保护机制的缺点 70 5.4 定制保护机制的实现错误 70 5.4.1 非授权复制与序列号分发 70 5.4.2 试用期及其弱点 71 5.4.3 算法重建 74 5.4.4 磁盘与内存的修改 78 5.4.5 反反汇编器 78 5.4.6 反调试技术 79 5.4.7 反监听器 79 5.4.8 反转储器 79 5.4.9 弥补保护机制 80 5.5 容易导致严重后果的小错误 80 第6章 热身 83 6.1 创建保护机制,并尝试破解 83 6.2 走近反汇编器 85 6.2.1 批反汇编器与交互式反汇编器 86 6.2.2 使用批反汇编器 87 6.2.3 从EXE到CRK 90 6.3 实际的破解范例 101 6.3.1 抑制干扰屏的出现 102 6.3.2 强行注册 105 6.3.3 彻底破解或者驯服“About”对话框 108 6.4 总结 111 第7章 通晓应用程序调试技术 112 7.1 调试简介 112 7.2 配套使用反汇编器与调试器 113 7.3 API函数断点 115 7.4 消息断点 117 7.5 数据断点 118 7.6 展开堆栈 119 7.7 调试DLL 121 7.8 总结 122 第8章 在UNIX与Linux下的特殊调试技术 123 8.1 GDB的基础——ptrace 124 8.1.1 ptrace及其命令 126 8.1.2 GDB对多进程的支持 127 8.1.3 GDB简介 128 8.1.4 跟踪系统调用 131 8.2 用GDB调试二进制文件 133 8.2.1 准备进行文件调试 133 8.2.2 跟踪前的准备 138 第9章 Linice内核调试基础 141 9.1 系统要求 142 9.2 编译与配置Linice 143 9.3 引导系统与启动调试器 144 9.4 Linice的基本使用原理 147 9.5 总结 151 第10章 高级调试专题 152 10.1 SoftICE用做日志记录器 152 10.1.1 热身运动 153 10.1.2 更复杂的过滤器 156 10.1.3 SoftICE的动画型跟踪 159 10.2 随机设置断点的技巧 160 10.2.1 单步跟踪的秘密 161 10.3 通过覆盖方法进行破解 169 10.3.1 总体思路 169 10.3.2 工具的选择 170 10.4 确定代码覆盖的算法 172 10.5 方法的选择 173 10.6 程序破解实例 174 10.7 总结 179 第三篇 高级反汇编技术 第11章 反汇编32位PE文件 182 11.1 PE文件结构不同实现形式的特性 182 11.2 PE文件的一般概念与要求 183 11.3 PE文件结构 184 11.4 PE文件的代码插入与删除技术 186 11.4.1 X码概念及其他约定 186 11.4.2 X码的目的与任务 187 11.4.3 对X码的要求 188 11.4.4 插入 189 11.5 总结 215 第12章 在Linux与BSD中反汇编ELF文件 216 12.1 所需要的工具 216 12.2 ELF文件结构 217 12.3 在ELF文件中插入外来码 219 12.3.1 通过合并来感染文件 220 12.3.2 通过扩展文件的最后分区来感染文件 222 12.3.3 通过压缩部分原始文件 12.3.3 而感染文件 224 12.3.4 通过扩展文件的代码分区而感染文件 228 12.3.5 通过下移代码分区而感染文件 231 12.3.6 通过创建定制分区而感染文件 233 12.3.7 通过在文件与头结构之间 12.3.7 插入代码而感染文件 233 12.3.8 在ELF文件中插入代码的实验 234 12.4 反汇编Linux版tiny-crackme程序 241 12.4.1 剖析tiny-crackme 241 12.5 总结 253 第13章 反汇编x86-64程序 254 13.1 简介 254 13.2 需要的工具 255 13.3 x86-64体系结构概述 258 13.4 切换到64位模式 260 13.5 x86-64平台上的“Hello, World”程序 262 13.6 总结 267 第14章 反汇编与破解Linux内核 268 14.1 反汇编Linux内核 268 14.1.1 内核的外围话题 268 14.1.2 攻击内核 269 14.1.3 深入内核 271 14.1.4 错误所在的位置 275 14.2 内核攻击秘诀 276 14.2.1 修改Linux徽标 276 第15章 高级补丁技术 281 15.1 联机补丁的秘密与诀窍 281 15.1.1 最简单的联机补丁器 282 15.1.2 大比拼 284 15.1.3 截取传递信号的API函数 285 15.1.4 硬件断点 287 15.2 几种鲜为人知的破解客户程序的方法 289 15.2.1 破解客户应用程序的方法概述 289 15.2.2 在不编辑字节的情况下进行修改 289 15.3 Windows NT/2000/XP内核黑码事宜 296 15.3.1 内核结构 296 15.3.2 内核类型 298 15.3.3 修改内核的方法 300 15.3.4 修改启动徽标 306 15.4 BSOD之后还有活路吗 308 15.4.1 用SoftICE克服BSOD 309 15.4.2 自动实现的复活过程 313 15.4.3 这个反BSOD程序安全吗 317 15.5 总结 318 第16章 反汇编其他格式的文件 319 16.1 反汇编PDF文件 319 16.1.1 Adobe Acrobat为那些不循规蹈矩的人提供了什么 320 16.1.2 修改Adobe Acrobat 323 16.1.3 使用打印屏幕功能实施破解 324 16.1.4 尽量多懂几种语言 324 16.1.5 PDF文件结构 324 16.1.6 生成加密密钥 328 16.1.7 攻击U-密码 329 16.1.8 如何动手破解PDF密码 331 16.2 总结 333 第四篇 实用代码探查技术 第17章 在Windows上捉迷藏 336 17.1 Windows反调试技术 337 17.1.1 历史在不断地重演 339 17.1.2 自跟踪程序 340 17.1.3 基于物理内存访问的反调试技术 345 17.1.4 Windows 2000/XP SDT Restore如何工作 349 17.2 Windows世界的隐形技术 349 17.2.1 Blue Pill、Red Pill——Windows Longhorn再现《黑客帝国》 350 17.2.2 Blue Pill 350 17.2.3 规避数字签名 350 17.2.4 沉迷于虚拟世界 352 17.2.5 Red Pill 355 17.3 总结 357 第18章 攻克打包器 358 18.1 初步的分析 358 18.2 解包与其他方法 361 18.3 解包算法 361 18.4 搜索原始入口点 362 18.4.1 活动程序转储 362 18.4.2 通过内存中的签名搜索启动代码 364 18.4.3 流行但低效的工具: 18.4.3 GetModuleHandleA与fs:0 365 18.4.4 解包器的副作用 369 18.4.5 基于堆栈平衡找到OEP的通用方法 372 18.4.6 如果调试器跳过了解包器入口点怎么办 375 18.5 转储受保护的应用程序 377 18.5.1 简单转储案例 377 18.5.2 自行搜索 381 18.5.3 从外部查看转储内容 382 18.5.4 动态解密机制 383 18.5.5 对内部数据进行转储 384 18.5.6 打包器的诡计 386 18.6 总结 388 第19章 攻克代码混淆 389 19.1 混码器如何发挥作用 390 19.2 如何破解混淆程序 394 19.2.1 解除代码混淆 395 19.3 黑盒方法 397 19.4 虚拟机牢笼 398 19.5 总结 399 第20章 攻克Linux与BSD打包器 400 20.1 打包器对性能的影响 400 20.2 ELFCrypt 401 20.3 UPX 408 20.4 Burneye 410 20.5 Shiva 413 20.6 打包器的比较 414 20.7 总结 415 第21章 调试与反汇编恶意软件 416 21.1 用调试器反监视 416 21.1.1 时间也会留下印记 416 21.1.2 进程树 418 21.1.3 查看线程 420 21.1.4 恢复系统服务表 426 21.2 攻击程序的核查与反汇编 430 21.2.1 如何反汇编攻击程序 431 21.2.2 分析消息排队攻击程序 432 21.2.3 如何在调试器下运行外壳码 443 21.3 总结 444

3,286

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 实用资料发布区
社区管理员
  • 实用资料发布区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧