宝峰科技

 找回密码
 注册

QQ登录

只需一步,快速开始

智能终端设备维修查询系统注册会员邮箱认证须知!
查看: 4430|回复: 12

[分享] 加密与解密 (第三版)pdf版

[复制链接]
  • TA的每日心情
    奋斗
    2020-6-5 22:18
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    潇潇 发表于 2009-11-5 14:21:05 | 显示全部楼层 |阅读模式

    目录 前言
    第1篇 基础篇
     第1章 基础知识
      1.1 文本字符
       1.1.1 字节存储顺序
       1.1.2 ASCII与Unicode字符集
      1.2 WINDOWS 操作系统
       1.2.1 Win API简介
       1.2.2 常用Win32 API函数
       1.2.3 什么是句柄
       1.2.4 Windows 9x与Unicode
       1.2.5 Windows NT/2000/XP与Unicode
       1.2.6 Windows 消息机制
      1.3 保护模式简介
       1.3.1 虚拟内存
       1.3.2 保护模式的权限级别
      1.4 认识PE格式
    第2篇 调试篇
     第2章 动态分析技术 33
      2.1 OLLYDBG调试器
       2.1.1 OllyDbg界面
       2.1.2 OllyDbg的配置
       2.1.3 加载程序
       2.1.4 基本操作
       2.1.5 断点
       2.1.6 插件
       2.1.7 Run trace
       2.1.8 Hit trace
       2.1.9 符号调试技术
       2.1.10 OllyDbg常见问题
      2.2 SOFTICE调试器
    第3章 静态分析技术 31
      3.1 文件类型分析
       3.1.1 PEiD工具
       3.1.2 FileInfo工具
      3.2 静态反汇编
       3.2.1 打开文件
       3.2.2 IDA的配置
       3.2.3 IDA主窗口界面
       3.2.6 交叉参考
       3.2.7 参考重命名
       3.2.8 标签的用法
       3.2.9 进制的转换
       3.2.10 代码和数据转换
       3.2.11 字符串
       3.2.12 数组
       3.2.13 结构体
       3.2.14 枚举类型
       3.2.15 堆栈变量
       3.2.16 IDC脚本
       3.2.17 FLIRT
       3.2.18 插件
       3.2.19 其他功能
       3.2.20 小结
        3.3 可执行文件的修改
        3.4 静态分析技术应用实例
          3.4.1 解密初步
       3.4.2 逆向工程初步
     第4章 逆向分析技术 35
      4.1 启动函数
      4.2 函数
       4.2.1 函数的识别
       4.2.2 函数的参数
       4.2.3 函数的返回值
      4.3 数据结构
       4.3.1 局部变量
       4.3.2 全局变量
       4.3.3 数组
      4.4 虚函数
      4.5 控制语句
       4.5.1 IF-THEN-ELSE语句
       4.5.2 SWITCH-CASE语句
       4.5.3 转移指令机器码的计算
       4.5.4 条件设置指令
       4.5.5 纯算法实现逻辑判断
      4.6 循环语句
      4.7 数学运算符
       4.7.1 整数的加法和减法
       4.7.2 整数的乘法
       4.7.3 整数的除法
      4.8 文本字符串
       4.8.1 字符串存储格式
       4.8.2 字符寻址指令
       4.8.3 字母大小写转换
       4.8.4 计算字符串的长度
      4.9 指令修改技巧
    第3篇 解密篇
     第5章 常见的演示版保护技术 34
      5.1 序列号保护方式
       5.1.1 序列号保护机制
       5.1.2 如何攻击序列号保护
       5.1.3 字符串比较形式
       5.1.4 注册机制作
      5.2 警告(NAG)窗口
      5.3 时间限制
       5.3.1 计时器
       5.3.2 时间限制
       5.3.3 拆解时间限制保护
      5.4 菜单功能限制
       5.4.1 相关函数
       5.4.2 拆解菜单限制保护
      5.5 KEYFILE保护
       5.5.1 相关API函数
       5.5.2 拆解KeyFile保护
      5.6 网络验证
       5.6.1 相关函数
       5.6.2 网络验证破解一般思路
      5.7 CD-CHECK
       5.7.1 相关函数
       5.7.2 拆解光盘保护
      5.8 只运行一个实例
       5.8.1 实现方案
       5.8.2 实例
      5.9 常用断点设置技巧
     第6章 加密算法
      6.1 单向散列算法
       6.1.1 MD5算法
       6.1.2 SHA算法
       6.1.3 小结
      6.2 对称加密算法
       6.2.1 RC4流密码
       6.2.2 TEA算法
       6.2.3 IDEA算法
       6.2.4 BlowFish算法
       6.2.5 AES算法
       6.2.6 对称加密算法小结
      6.3 公开密钥加密算法
       6.3.1 RSA算法
       6.3.2 ElGamal公钥算法
       6.3.3 DSA数字签名算法
       6.3.4 椭圆曲线密码编码学
      6.4 其他算法
       6.4.1 CRC32算法
       6.4.2 Base64
       6.5 常见加密库接口及其识别
       6.5.1 Miracl大数运算库
       6.5.2 FGInt
       6.5.4 其它加密算法库介绍
    第4篇 语言和平台篇
     第7章 DELPHI程序
      7.1 认识DELPHI
      7.2 DEDE反编译器
      7.3 按钮事件代码
      7.4 模块初始化与结束化
     第8章 VISUAL BASIC程序
      8.1 基础知识
       8.1.1 字符编码方式
       8.1.2 编译模式
      8.2 自然编译(NATIVE)
       8.2.1 相关VB函数
       8.2.2 VB程序比较方式
      8.3 伪编译(PCODE)(cyclotron编写)
       8.3.1 虚拟机与伪代码
       8.3.2 动态分析VB P-code程序
       8.3.3 伪代码的综合分析
       8.3.4 VB P-code攻击实战
     第9章 .NET平台加解密(tankaiha 编写) 51
      9.1 .NET概述
       9.1.1 什么是.Net
       9.1.2 几个基本概念
       9.1.3 第一个.Net程序
      9.2 MSIL与元数据
       9.2.1 PE结构的扩展
       9.2.2 .Net下的汇编MSIL
       9.2.3 MSIL与元数据的结合
      9.3 代码分析技术
       9.3.1 静态分析
       9.3.2 动态调试
       9.3.3 代码修改
      9.4 代码保护技术及其逆向
       9.4.1 强名称
       9.4.2 名称混淆
       9.4.3 流程混淆
       9.4.4 压缩
       9.4.5 加密
       9.4.6 其它保护手段
      9.5 深入.NET
       9.5.1 反射与CodeDOM
       9.5.2 Unmaganed API
       9.5.3 Rotor、MONO与.Net内核
    第5篇 系统篇
     第10章 PE文件格式 54
      10.1 PE的基本概念
       10.1.1 基地址
       10.1.2 相对虚拟地址
       10.1.3 文件偏移地址
       10.2 MS-DOS头部
      10.3 PE文件头
       10.3.1 Signature字段
       10.3.2 IMAGE_FILE_HEADER 结构
       10.3.3 Optional Header
       10.4 区块
       10.4.1 区块表
       10.4.2 各种区块的描述
       10.4.3 区块的对齐值
       10.4.4 文件偏移与虚拟地址转换
        10.5 输入表
       10.5.1 输入函数的调用
       10.5.2 输入表结构
       10.5.3 输入地址表
       10.5.4 输入表实例分析
      10.6 绑定输入
      10.7 输出表
       10.7.1 输出表结构
       10.7.2 输出表结构实例分析
      10.8 基址重定位
       10.8.1 基址重定位概念
       10.8.2 基址重定位结构定义
       10.8.3 基址重定位结构实例分析
      10.9 资源
       10.9.1 资源结构
       10.9.2 资源结构实例分析
       10.9.3 资源编辑工具
      10.10 TLS初始化
      10.11 调试目录
      10.12 延迟装入数据
      10.13 程序异常数据
      10.14 .NET头部
      10.15 PE分析工具编写
       10.15.1 文件格式检查
       10.15.2 FileHeader和OptionalHeader内容的读取
       10.15.3 得到数据目录表信息
       10.15.4 得到区块表信息
       10.15.5 得到输出表信息
       10.15.6 得到输入表信息
     第11章 结构化异常处理 11
      11.1 基本概念
       11.1.1 异常列表
       11.1.2 异常处理的基本过程
       11.1.3 SEH的分类
      11.2 SEH相关数据结构
       11.2.1 TEB结构
       11.2.2 EXCEPTION_REGISTRATION结构
       11.2.3 EXCEPTION_POINTERS、EXCEPTION_RECORD、CONTEXT
      11.3 异常处理回调函数
    第6篇 脱壳篇
     第12章 专用加密软件 11
      12.1 认识壳
       12.1.1 壳的概念
       12.1.2 压缩引擎
      12.2 压缩壳
       12.2.1 UPX
       12.2.2 ASPacK
        12.3 加密壳
       12.3.1 ASProtect
       12.3.2 Armadillo
       12.3.3 EXECryptor
       12.3.4 Themida
      12.4 虚拟机保护软件
       12.4.1 虚拟机介绍
       12.4.2 VMProtect简介
     第13章 脱壳技术64
      13.1 基础知识
       13.1.1 壳的加载过程
       13.1.2 脱壳机
       13.1.3 手动脱壳
      13.2 寻找OEP
       13.2.1 根据跨段指令寻找OEP
       13.2.2 用内存访问断点找OEP
       13.2.3 根据堆栈平衡原理找OEP
       13.2.4 根据编译语言特点找OEP
      13.3 抓取内存映像
       13.3.1 Dump原理
       13.3.2 反DUMP技术
      13.4 重建输入表
       13.4.1 输入表重建的原理
       13.4.2 确定IAT的地址和大小
       13.4.3 根据IAT重建输入表
       13.4.4 ImportREC重建输入表
       13.4.5 输入表加密概括
      13.5 DLL文件脱壳
       13.5.1 寻找OEP
       13.5.2 Dump映像文件
       13.5.3 重建DLL的输入表
       13.5.4 构造重定位表
      13.6 附加数据
      13.7 PE文件的优化
      13.8 压缩壳
       13.8.1 UPX外壳
       13.8.2 ASPack外壳
      13.9 静态脱壳
       13.9.1 外壳Loader的分析
       13.9.2 编写静态脱壳器
      13.10 加密壳
       13.10.1 ASProtect
       13.10.2 Thmedia的SDK分析
    第7篇 保护篇
     第14章 软件保护技术 26
      14.1 防范算法求逆
       14.1.1 基本概念
       14.1.2 堡垒战术
       14.1.3 游击战术
      14.2 抵御静态分析
       14.2.1 花指令
       14.2.2 SMC技术实现
       14.2.3 信息隐藏
       14.2.4 简单多态变形技术
      14.3 文件完整性检验
       14.3.1 磁盘文件校验实现
       14.3.2 校验和(Checksum)
       14.3.3 内存映像校验
      14.4 代码与数据结合技术
       14.4.1 准备工作
       14.4.2 加密算法选用
       14.4.3 手动加密代码
       14.4.4 使.text区块可写
      14.5 软件保护的若干忠告
     第15章 反跟踪技术(forgot编写) 52
      15.1 由BEINGDEBUGGED引发的蝴蝶效应
       15.1.1 BeingDebugged
       15.1.2 NtGlobalFlag
       15.1.3 Heap Magic
       15.1.4 从源头消灭BeingDebugged
      15.2 回归NATIVE:用户态的梦魇
       15.2.1 CheckRemoteDebuggerPresent
       15.2.2 ProcessDebugPort
       15.2.3 ThreadHideFromDebugger
       15.2.4 Debug Object
       15.2.5 SystemKernelDebuggerInformation
       15.2.6 Native API
       15.2.7 Hook和AntiHook
      15.3 真正的奥秘:小技巧一览
       15.3.1 SoftICE检测方法
       15.3.2 OllyDbg检测方法
       15.3.3 调试器漏洞
       15.3.4 防止调试器附加
       15.3.5 父进程检测
       15.3.6 时间差
       15.3.7 通过Trap Flag检测
       15.3.8 双进程保护
     第16章 外壳编写基础(Hying编写)35
      16.1 外壳的结构
      16.2 加壳主程序
       16.2.1 判断文件是否为PE格式
       16.2.2 文件基本数据读入
       16.2.3 附加数据读取
       16.2.4 输入表处理
       16.2.5 重定位表处理
       16.2.6 文件的压缩
       16.2.7 资源数据处理
       16.2.8 区块的融合
      16.3 外壳部分编写
       16.3.1 外壳的加载过程
       16.3.2 自建输入表
       16.3.4 外壳引导段
       16.3.5 外壳第二段
        16.4 将外壳部分添加至原程序
     第17章 虚拟机的设计
      17.1 原理
       17.1.1 反汇编引擎
       17.1.2 指令分类
        17.2 启动框架和调用约定
       17.2.1 调度器VStartVM
       17.2.2 虚拟环境:VMContext
       17.2.3 平衡堆栈:VBegin和VCheckEsp
      17.3 HANDLER的设计
       17.3.1 辅助Handler
       17.3.2 普通Handler和指令拆解
       17.3.3 标志位问题
       17.3.4 相同作用的指令
       17.3.5 转移指令
       17.3.6 转移跳转指令的另一种实现
       17.3.7 CALL指令
       17.3.8 retn指令
       17.3.9 不可模拟指令
      17.4 托管代码的异常处理
       17.4.1 VC++的异常处理
       17.4.2 Delphi的异常处理
      17.5 小结
    第8篇 PEDIY篇
     第18章 补丁技术
      18.1 文件补丁
      18.2 内存补丁
       18.2.1 跨进程内存存取机制
       18.2.2 Debug API机制
       18.2.3 利用调试寄存器机制
       18.2.4 DLL劫持技术
      18.3 SMC补丁技术
       18.3.1 单层SMC补丁技术
       18.3.2 多层SMC补丁技术
      18.4 补丁工具
     第19章 代码的二次开发
      19.1 数据对齐
      19.2 增加空间
       19.2.1 区块间隙
       19.2.2 手工构造区块
       19.2.3 工具辅助构造区块
      19.3 获得函数的调用
       19.3.1 增加输入函数
       19.3.2 显式链接调用DLL
      19.4 代码的重定位
       19.4.1 修复重定位表
       19.4.2 代码的自定位技术
      19.5 增加输出函数
      19.6 消息循环
       19.6.1 WndProc函数
       19.6.2 寻找消息循环
       19.6.3 WndProc汇编形式
      19.7 修改WNDPROC扩充功能
       19.7.1 扩充WndProc
       19.7.2 扩充Exit菜单功能
       19.7.3 扩充Open菜单功能
      19.8 增加接口
       19.8.1 用DLL增加功能
       19.8.2 扩展消息循环
    附录
     附录A 浮点指令
     附录B 在Visual C++中使用内联汇编
    术语表
    参考文献



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册

    x

    该用户从未签到

    hh2371 发表于 2009-11-15 23:11:37 | 显示全部楼层
    不是教程吗,   下载看看

    该用户从未签到

    luobinbin2009 发表于 2010-4-18 21:24:55 | 显示全部楼层
    是教程吗??
  • TA的每日心情
    开心
    2012-3-13 11:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    gmabj520 发表于 2010-4-21 07:38:11 | 显示全部楼层
    下载看一下 ,还不知道能不能看的懂呢?

    该用户从未签到

    zyhui520 发表于 2010-6-26 10:45:46 | 显示全部楼层
    看看..........................

    该用户从未签到

    j7533577 发表于 2010-10-20 04:05:22 | 显示全部楼层
    那个连接库的怎么弄

    该用户从未签到

    huaimaoer 发表于 2010-10-24 07:11:50 | 显示全部楼层
    看看----

    该用户从未签到

    huaimaoer 发表于 2010-10-24 07:27:07 | 显示全部楼层
    我下了2次才弄好

    该用户从未签到

    jdfexa 发表于 2010-10-26 07:39:37 | 显示全部楼层
    外面的 下不了进来下

    该用户从未签到

    子羽 发表于 2010-10-26 09:59:22 | 显示全部楼层
    教程么??

    该用户从未签到

    班海龙 发表于 2010-11-8 09:45:22 | 显示全部楼层

    该用户从未签到

    sunny_8848 发表于 2014-5-28 09:54:41 | 显示全部楼层
    新手下载不了啊

    该用户从未签到

    sunny_8848 发表于 2014-5-28 09:57:02 | 显示全部楼层
    初来乍到,请多关照
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    免责声明

    本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

    QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇公网安备 53050202000040号 | 滇ICP备09007156号-2 )

    Copyright © 2001-2023 Discuz! Team. GMT+8, 2024-3-29 05:00 , File On Powered by Discuz! X3.49

    快速回复 返回顶部 返回列表