思维导图备注

WindowsPE权威指南
首页 收藏书籍 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

第二部分 PE进阶

浏览 1 扫码
  • 小字体
  • 中字体
  • 大字体
2022-01-24 10:40:21
请 登录 再阅读
上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • 前言
    • 本书内容特色
    • 本书约定
    • 配套工具
    • 联系作者
    • 特别提醒
    • 致谢
  • 第一部分 PE的原理和基础
    • 1.1.2 开发第一个源程序HelloWorld.asm
    • 1.2 调试软件OllyDBG
      • 1.2.2 修改EXE文件字节码
    • 第2章 三个小工具的编写
      • 2.1.2 编写相关的资源文件
      • 2.2 PEDump的实现
        • 2.2.2 PEDump编码
        • 2.2.3 PEDump代码中的数据结构
        • 2.2.4 运行PEDump
      • 2.1.3 通用程序框架的实现
      • 2.3 PEComp的实现
        • 2.3.2 定义资源文件
        • 2.3.3 PEComp编码
        • 2.3.4 运行PEComp
      • 2.4 PEInfo的实现
        • 2.4.2 PEInfo编码
        • 2.4.3 运行PEInfo
      • 2.5 小结
    • 1.1.3 运行HelloWorld.exe
    • 1.3 十六进制编辑软件FlexHex
    • 第3章 PE文件头
      • 3.2 与PE有关的基本概念
        • 3.2.2 指针
        • 3.2.3 数据目录
        • 3.2.4 节
        • 3.2.5 对齐
        • 3.2.6 Unicode字符串
      • 3.3 PE文件结构
        • 3.3.2 32位系统下的PE结构
        • 3.3.3 程序员眼中的PE结构
      • 3.4 PE文件头部解析
        • 3.4.2 PE头标识Signature
        • 3.4.3 标准PE头IMAGE_FILE_HEADER
        • 3.4.4 扩展PE头IMAGE_OPTIONAL_HEADER32
        • 3.4.5 PE头IMAGE_NT_HEADERS
        • 3.4.6 数据目录项IMAGE_DATA_DIRECTORY
        • 3.4.7 节表项IMAGE_SECTION_HEADER
      • 3.5 数据结构字段详解
        • 3.5.2 标准PE头IAMGE_FILE_HEADER的字段
        • 3.5.3 扩展PE头IMAGE_OPTIONAL_HEADER32的字段
        • 3.5.4 数据目录项IMAGE_DATA_DIRECTORY的字段
        • 3.5.5 节表项IMAGE_SECTION_HEADER的字段
        • 3.5.6 解析HelloWorld程序的字节码
      • 3.6 PE内存映像
      • 3.7 PE文件头编程
        • 3.7.2 数据定位
        • 3.7.3 标志位操作
        • 3.7.4 PE校验和
      • 3.8 小结
    • 1.4 破解实例:U盘监控器
    • 第4章 导入表
      • 4.2 导入函数
        • 4.2.2 导入函数地址
        • 4.2.3 导入函数宿主
      • 4.3 PE中的导入表
        • 4.3.2 导入表描述符IMAGE_IMPORT_DESCRIPTOR
        • 4.3.3 导入表的双桥结构
        • 4.3.4 导入函数地址表
        • 4.3.5 构造调用同一个DLL文件的多个函数的导入表
      • 4.4 导入表编程
        • 4.4.2 编写函数_getImportInfo
        • 4.4.3 运行测试
      • 4.5 绑定导入
        • 4.5.2 绑定导入数据定位
        • 4.5.3 绑定导入数据结构
        • 4.5.4 绑定导入实例分析
      • 4.6 手工重组导入表
        • 4.6.2 构造目标指令
        • 4.6.3 PE头部变化
        • 4.6.4 手工重组
        • 4.6.5 程序实现
        • 4.6.6 思考:关于IAT的连贯性
        • 4.6.7 思考:关于导入表的位置
      • 4.7 小结
    • 1.5 初识PE文件
    • 第5章 导出表
      • 5.1.2 获得导出函数地址
      • 5.2 构造含导出表的PE文件
        • 5.2.2 编写def文件
        • 5.2.3 编译和链接
        • 5.2.4 编写头文件
        • 5.2.5 使用导出函数
      • 5.3 导出表数据结构
        • 5.3.2 导出目录IMAGE_EXPORT_DIRECTORY
        • 5.3.3 导出表实例分析
      • 5.4 导出表编程
        • 5.4.2 根据名字查找函数地址
        • 5.4.3 遍历导出表
      • 5.5 导出表的应用
        • 5.5.2 导出私有函数
      • 5.6 小结
    • 1.6 小结
    • 第6章 栈与重定位表
      • 6.1.2 call调用中的栈实例分析
      • 6.2 代码重定位
        • 6.2.2 实现重定位的方法
        • 6.2.3 重定位编程
      • 6.1.3 栈溢出
      • 6.3 PE文件头中的重定位表
        • 6.3.2 重定位表项IMAGE_BASE_RELOCATION
        • 6.3.3 重定位表的结构
        • 6.3.4 遍历重定位表
        • 6.3.5 重定位表实例分析
      • 6.4 小结
    • 第7章 资源表
      • 7.1.2 菜单资源
      • 7.2 PE资源表组织
        • 7.2.2 资源表数据定位
        • 7.2.3 资源目录头IMAGE_RESOURCE_DIRECTORY
        • 7.2.4 资源目录项IMAGE_RESOURCE_DIRECTORY_ENTRY
        • 7.2.5 资源数据项IMAGE_RESOURCE_DATA_ENTRY
        • 7.2.6 三级结构中目录项的区别
      • 7.1.3 对话框资源
      • 7.3 资源表遍历
      • 7.1.4 自定义资源
      • 7.4 PE资源深度解析
        • 7.4.2 使用PEInfo分析资源表
        • 7.4.3 菜单资源解析
        • 7.4.4 图标资源解析
        • 7.4.5 图标组资源解析
        • 7.4.6 对话框资源解析
      • 7.5 资源表编程
        • 7.5.2 提取程序图标实例
        • 7.5.3 更改程序图标实例
      • 7.6 小结
    • 第8章 延迟加载导入表
      • 8.1.2 提高应用程序兼容性
      • 8.2 PE中的延迟加载导入表
        • 8.2.2 延迟加载导入描述符IMAGE_DELAY_IMPORT_DESCRIPTOR
        • 8.2.3 延迟加载导入表实例分析
      • 8.1.3 提高应用程序可整合性
      • 8.3 延迟加载导入机制详解
      • 8.4 延迟加载导入编程
        • 8.4.2 修改源代码pe.asm
      • 8.5 关于延迟加载导入的两个问题
        • 8.5.2 DLL的卸载
      • 8.6 小结
    • 第9章 线程局部存储
      • 9.1.2 进程与线程创建
      • 9.2 什么是线程局部存储
      • 9.1.3 进程环境块PEB
      • 9.3 动态线程局部存储
        • 9.3.2 获取索引TlsAlloc
        • 9.3.3 按索引取值TlsGetValue
        • 9.3.4 按索引存储TlsSetValue
        • 9.3.5 释放索引TlsFree
      • 9.1.4 线程环境块TEB
      • 9.4 静态线程局部存储
        • 9.4.2 TLS目录结构IMAGE_TLS_DIRECTORY32
        • 9.4.3 静态TLS实例分析
        • 9.4.4 TLS回调函数
        • 9.4.5 测试静态TLS下的线程存储初始化回调函数
      • 9.5 小结
    • 第10章 加载配置信息
      • 10.2 Windows结构化异常处理
        • 10.2.2 Windows异常分类
        • 10.2.3 内核模式下的异常处理
        • 10.2.4 用户模式下的异常处理
        • 10.2.5 Windows SEH机制解析
        • 10.2.6 SEH编程实例
      • 10.3 PE中的加载配置信息
        • 10.3.2 加载配置目录IMAGE_LOAD_CONFIG_DIRECTORY
        • 10.3.3 加载配置信息实例分析
      • 10.4 加载配置编程
        • 10.4.2 为PE添加加载配置信息
        • 10.4.3 运行测试
        • 10.4.4 注册多个异常处理函数示例
      • 10.5 小结
    • 第11章 动态加载技术
      • 11.1.2 核心态高2GB空间分配
      • 11.2 Windows动态库技术
        • 11.2.2 DLL动态调用
        • 11.2.3 导出函数起始地址实例
      • 11.1.3 HelloWorld进程空间分析
      • 11.3 在编程中使用动态加载技术
        • 11.3.2 获取GetProcAddress地址
        • 11.3.3 在代码中使用获取的函数地址编程
        • 11.3.4 动态API技术编程实例
      • 11.4 小结
  • 第二部分 PE进阶
    • 12.1.2 空间调整技术
    • 12.2 变形技术可用的空间
      • 12.2.2 大小不固定的数据块
      • 12.2.3 因对齐产生的补足空间
    • 第13章 PE补丁技术
      • 13.1.2 读写进程内存
      • 13.2 静态补丁
        • 13.2.2 整体替换DLL文件
        • 13.2.3 部分修改PE文件
      • 13.1.3 目标进程枚举
      • 13.3 嵌入补丁程序
        • 13.3.2 嵌入补丁程序编写规则
        • 13.3.3 嵌入补丁字节码实例分析
      • 13.1.4 执行远程线程
      • 13.4 万能补丁码
        • 13.4.2 源代码
        • 13.4.3 字节码
        • 13.4.4 运行测试
      • 13.5 小结
    • 12.1.3 数据转移技术
    • 12.3 PE文件变形原则
      • 12.3.2 关于节表
      • 12.3.3 关于导入表
      • 12.3.4 关于程序数据
      • 12.3.5 关于对齐
      • 12.3.6 几个关注的字段
    • 第14章 在PE空闲空间中插入程序
      • 14.1.2 获取PE文件可用空间的代码
      • 14.2 添加注册表启动项的补丁程序实例
        • 14.2.2 补丁程序的字节码
        • 14.2.3 目标PE的字节码
      • 14.1.3 获取PE文件可用空间的测试
      • 14.3 手工打造目标PE的步骤
        • 14.3.2 对代码段的处理
        • 14.3.3 对导入表的处理
        • 14.3.4 对数据段的处理
        • 14.3.5 修改前后PE文件对比
      • 14.4 开发补丁工具
        • 14.4.2 数据结构分析
        • 14.4.3 运行测试
        • 14.4.4 适应性测试实例分析
      • 14.5 小结
    • 12.1.4 数据压缩技术
    • 12.4 将PE变小的实例HelloWorldPE
      • 12.4.2 目标PE文件的字节码(432字节)
    • 第15章 在PE间隙中插入程序
      • 15.1.2 间隙一与参数
      • 15.2 插入HelloWorld的补丁程序实例
        • 15.2.2 目标PE结构
      • 15.3 开发补丁工具
        • 15.3.2 数据结构分析
        • 15.3.3 主要代码
        • 15.3.4 运行测试
      • 15.4 存在绑定导入数据的PE补丁程序实例
        • 15.4.2 修正补丁工具
        • 15.4.3 为记事本程序打补丁
      • 15.5 小结
    • 12.5 打造目标PE的步骤
      • 12.5.2 对代码段的处理
      • 12.5.3 对导入表的处理
      • 12.5.4 对部分字段值的修正
      • 12.5.5 修改后的文件结构
      • 12.5.6 修改后的文件分析
      • 12.5.7 目标文件更小的实例分析
    • 第16章 在PE新增节中插入程序
      • 16.2 在本地建立子目录的补丁程序实例
        • 16.2.2 目标PE结构
      • 16.3 开发补丁工具
        • 16.3.2 为变量赋值
        • 16.3.3 构造新文件数据
        • 16.3.4 修正字段参数
        • 16.3.5 主要代码
        • 16.3.6 运行测试
      • 16.4 小结
    • 12.6 小结
    • 第17章 在PE最后一节中插入程序
      • 17.1.2 补丁功能的预演代码
      • 17.2 开发补丁工具
        • 17.2.2 主要代码
        • 17.2.3 运行测试
      • 17.1.3 补丁程序的源代码
      • 17.3 小结
      • 17.1.4 目标PE结构
  • 第三部分 PE的应用案例
    • 18.2 EXE执行调度机制
      • 18.2.2 控制进程同步运行实例分析
    • 第19章 软件安装自动化
      • 19.2 补丁程序patch.exe
        • 19.2.2 执行线程函数
        • 19.2.3 简单测试
      • 19.3 消息发送器_Message.exe
        • 19.3.2 调用窗口枚举函数
        • 19.3.3 向指定窗口发送消息
        • 19.3.4 消息发送器源代码
        • 19.3.5 测试运行
      • 19.4 消息发送器生成工厂MessageFactory.exe
        • 19.4.2 键盘虚拟码
        • 19.4.3 改进的消息发送器实例分析
        • 19.4.4 消息发送器生成工厂代码结构
        • 19.4.5 代码与数据的定位
        • 19.4.6 提取代码字节码
      • 19.5 软件安装自动化主程序AutoSetup.exe
        • 19.5.2 测试运行
      • 19.6 小结
    • 18.3 字节码转换工具hex2db
      • 18.3.2 运行测试
    • 第20章 EXE加锁器
      • 20.2 免资源文件的窗口程序nores.asm
        • 20.2.2 创建用户登录窗口的控件
        • 20.2.3 窗口程序源代码
      • 20.3 免重定位的窗口程序login.asm
      • 20.4 补丁程序patch.asm
        • 20.4.2 按照补丁框架修改login.asm
        • 20.4.3 补丁程序主要代码
      • 20.5 附加补丁运行
      • 20.6 小结
    • 18.4 执行调度程序_host.exe
      • 18.4.2 数据结构分析
    • 第21章 EXE加密
      • 21.2 加密算法
        • 21.2.2 自定义可逆加密算法实例
        • 21.2.3 构造加密基表
        • 21.2.4 利用基表测试加密数据
      • 21.3 开发补丁工具
        • 21.3.2 传递程序参数
        • 21.3.3 加密节区内容
      • 21.4 处理补丁程序
        • 21.4.2 解密节区内容
        • 21.4.3 加载目标DLL
        • 21.4.4 修正目标IAT
      • 21.5 小结
    • 18.5 宿主程序host.exe
      • 18.5.2 宿主程序的状态
      • 18.5.3 遍历文件
      • 18.5.4 释放文件
      • 18.5.5 宿主程序主函数
    • 第22章 PE病毒提示器
      • 22.1.2 判断病毒感染的原理
      • 22.2 手工打造PE病毒提示器
        • 22.2.2 分析目标文件的导入表
        • 22.2.3 补丁程序的源代码
        • 22.2.4 补丁程序的字节码
        • 22.2.5 修正函数地址
        • 22.2.6 测试运行
      • 22.3 补丁版的PE病毒提示器
        • 22.3.2 检测特定位置校验和
        • 22.3.3 测试运行
      • 22.4 小结
    • 18.6 EXE捆绑器bind.exe
      • 18.6.2 捆绑步骤及主要代码
      • 18.6.3 测试运行
    • 第23章 破解PE病毒
      • 23.1.2 反跟踪技术
      • 23.2 PE病毒补丁程序解析
        • 23.2.2 补丁程序的源代码分析
        • 23.2.3 病毒传播测试
        • 23.2.4 感染前后PE结构对比
      • 23.1.3 反调试技术
      • 23.3 解毒代码的编写
        • 23.3.2 计算病毒代码大小
        • 23.3.3 获取原始入口地址
        • 23.3.4 修正PE头部的其他参数
        • 23.3.5 主要代码
        • 23.3.6 运行测试
      • 23.1.4 自修改技术
      • 23.4 小结
      • 23.1.5 注册表项保护技术
      • 23.1.6 进程保护技术
    • 18.7 小结
  • 后记
暂无相关搜索结果!
    展开/收起文章目录

    二维码

    手机扫一扫,轻松掌上学

    《WindowsPE权威指南》电子书下载

    请下载您需要的格式的电子书,随时随地,享受学习的乐趣!
    EPUB 电子书

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度