实例介绍
【实例截图】
【核心代码】
.
├── AUTORUN.INF
├── Autorun.dll
├── Autorun.exe
├── Readme.txt
├── cd.ico
├── chap01
│ ├── 1.2 Windows操作系统
│ │ ├── 1.2.4 Windows 9x与Unicode
│ │ │ ├── bin
│ │ │ │ └── Win9x_Unicode.exe
│ │ │ └── src
│ │ │ ├── Win9x_Unicode.cpp
│ │ │ ├── Win9x_Unicode.dsp
│ │ │ └── Win9x_Unicode.dsw
│ │ └── 1.2.5 NT与Unicode
│ │ ├── bin
│ │ │ └── windows2k_ANSI.exe
│ │ └── src
│ │ └── win2k_ansi.cpp
│ └── 1.4 认识PE格式
│ └── LordPE工具.txt
├── chap02
│ ├── 2.1 OllyDbg调试器
│ │ ├── 2.1.4 基本操作
│ │ │ ├── bin
│ │ │ │ ├── ASCII版
│ │ │ │ │ └── TraceMe.exe
│ │ │ │ └── Unicode版
│ │ │ │ └── TraceMe.exe
│ │ │ └── src
│ │ │ └── TraceMe.rar
│ │ ├── 2.1.5 断点
│ │ │ ├── 1.INT 3断点
│ │ │ │ ├── bin
│ │ │ │ │ └── IsINT3.exe
│ │ │ │ └── src
│ │ │ │ ├── IsINT3.cpp
│ │ │ │ ├── IsINT3.dsp
│ │ │ │ └── IsINT3.dsw
│ │ │ └── 6.条件断点
│ │ │ └── Conditional_bp.exe
│ │ ├── 2.1.6 插件
│ │ │ ├── ODbgScript 入门系列
│ │ │ │ └── ODbgScript.chm
│ │ │ └── 插件开发SDK
│ │ │ ├── Plugins.hlp
│ │ │ ├── plugin sdk masm.rar
│ │ │ ├── plugin sdk vc.rar
│ │ │ └── plugin_sdk_delphi.zip
│ │ └── OllyDBG工具
│ │ ├── OllyDbg.rar
│ │ └── ReadMe.txt
│ └── 2.2 SoftICE调试器
│ ├── INT3
│ │ └── INT3.exe
│ ├── SoftICE中文手册
│ │ └── SoftICE.chm
│ ├── Winice.dat文件
│ │ ├── Windows 2000-XP
│ │ │ └── Windows 2000-XP.zip
│ │ └── Windows9x
│ │ └── Winice.zip
│ ├── 有关SoftICE下载.txt
│ └── 关于额外的电子文档.txt
├── chap03
│ ├── 3.1 文件类型分析
│ │ ├── 3.1.1 PEiD工具
│ │ │ └── peid.rar
│ │ └── 3.1.2 FileInfo工具
│ │ └── fi401.rar
│ ├── 3.2 静态反汇编
│ │ ├── 3.2.1 反汇编引擎
│ │ │ ├── readme.txt
│ │ │ └── 反汇编引擎.rar
│ │ ├── 3.2.12 结构体
│ │ │ ├── C头文件样例
│ │ │ │ ├── OLLYDBG.h
│ │ │ │ └── 说明.txt
│ │ │ └── 结构体
│ │ │ ├── bin
│ │ │ │ └── Structures.exe
│ │ │ └── src
│ │ │ └── Structures.cpp
│ │ ├── 3.2.13 枚举类型
│ │ │ ├── bin
│ │ │ │ └── Enumerated.exe
│ │ │ └── src
│ │ │ └── Enumerated.cpp
│ │ ├── 3.2.15 IDC脚本
│ │ │ ├── 实例1.查看输入函数
│ │ │ │ └── Imports.idc
│ │ │ ├── 实例2.用IDC分析加密代码
│ │ │ │ ├── encrypted.exe
│ │ │ │ └── encrypted.idc
│ │ │ └── 实例3.查看输出函数
│ │ │ └── exports.idc
│ │ ├── 3.2.16 FLIRT
│ │ │ ├── Delphi5.exe
│ │ │ ├── d5vcl.sig
│ │ │ └── readme.txt
│ │ ├── 3.2.2 IDA Pro的简介
│ │ │ └── ReverseMe
│ │ │ ├── ReverseMe.exe
│ │ │ └── SRC
│ │ │ ├── ReverseMe.cpp
│ │ │ ├── ReverseMe.dsp
│ │ │ └── ReverseMe.dsw
│ │ └── 相关工具
│ │ └── 相关工具获得.txt
│ ├── 3.3 可执行文件的修改
│ │ ├── HIEW
│ │ │ └── hiew7.2.rar
│ │ └── ReverseMe.exe
│ └── 3.4 静态分析技术应用实例
│ ├── 3.4.1 解密初步
│ │ ├── bin
│ │ │ └── CrackMe.exe
│ │ └── src
│ │ └── CrackMe.rar
│ ├── 3.4.2 逆向工程初步
│ │ ├── ReverseMe01.exe
│ │ └── 己修改的
│ │ └── REme1-ok.exe
│ └── 习题
│ └── ReverseMe
│ ├── ReverseMe.rar
│ └── 说明.txt
├── chap04
│ ├── 4.1 启动函数
│ │ ├── bin
│ │ │ └── ReverseMe.exe
│ │ └── src
│ │ └── ReverseMe.cpp
│ ├── 4.2 函数
│ │ ├── 4.2.1 函数的识别
│ │ │ ├── bin
│ │ │ │ └── add.exe
│ │ │ ├── src
│ │ │ │ ├── add.dsp
│ │ │ │ ├── add.dsw
│ │ │ │ └── main.cpp
│ │ │ └── 说明.txt
│ │ ├── 4.2.2 函数的参数
│ │ │ ├── 1.利用堆栈传递参数
│ │ │ │ ├── local.exe
│ │ │ │ └── 说明.txt
│ │ │ └── 2.利用寄存器传递参数
│ │ │ ├── fastcall
│ │ │ │ ├── bin
│ │ │ │ │ └── fastcall.exe
│ │ │ │ └── src
│ │ │ │ ├── fastcall.dsp
│ │ │ │ ├── fastcall.dsw
│ │ │ │ └── main.cpp
│ │ │ └── this指针
│ │ │ ├── bin
│ │ │ │ └── VF.exe
│ │ │ └── src
│ │ │ ├── VF.dsp
│ │ │ ├── VF.dsw
│ │ │ └── main.cpp
│ │ └── 4.2.3 函数的返回值
│ │ ├── 1.用return操作符返回值
│ │ │ ├── bin
│ │ │ │ └── add.exe
│ │ │ └── src
│ │ │ ├── Debug
│ │ │ ├── Release
│ │ │ │ └── add.exe
│ │ │ ├── add.dsp
│ │ │ ├── add.dsw
│ │ │ ├── add.ncb
│ │ │ ├── add.opt
│ │ │ ├── add.plg
│ │ │ └── main.cpp
│ │ └── 2.通过参数按传引用方式返回值
│ │ ├── bin
│ │ │ └── return.exe
│ │ └── src
│ │ ├── main.cpp
│ │ ├── return.dsp
│ │ └── return.dsw
│ ├── 4.3 数据结构
│ │ ├── 4.3.1 局部变量
│ │ │ ├── bin
│ │ │ │ └── local.exe
│ │ │ └── src
│ │ │ ├── local.dsp
│ │ │ ├── local.dsw
│ │ │ └── main.cpp
│ │ ├── 4.3.2 全局变量
│ │ │ ├── bin
│ │ │ │ └── global.exe
│ │ │ └── src
│ │ │ ├── global.dsp
│ │ │ ├── global.dsw
│ │ │ └── main.cpp
│ │ └── 4.3.3 数组
│ │ ├── bin
│ │ │ └── Arrays.exe
│ │ └── src
│ │ ├── Arrays.dsp
│ │ ├── Arrays.dsw
│ │ └── main.c
│ ├── 4.4 虚函数
│ │ ├── bin
│ │ │ └── Calling_a_Virtual_Function.exe
│ │ └── src
│ │ ├── Calling_a_Virtual_Function.dsp
│ │ ├── Calling_a_Virtual_Function.dsw
│ │ └── main.cpp
│ ├── 4.5 控制语句
│ │ ├── 4.5.1 IF-THEN-ELSE语句
│ │ │ ├── bin
│ │ │ │ └── if_else.exe
│ │ │ └── src
│ │ │ ├── condition.dsp
│ │ │ ├── condition.dsw
│ │ │ └── main.cpp
│ │ ├── 4.5.2 SWITCH-CASE语句
│ │ │ ├── SWITCH-CASE语句
│ │ │ │ ├── bin
│ │ │ │ │ ├── 优化编译.exe
│ │ │ │ │ └── 未优化编译.exe
│ │ │ │ └── src
│ │ │ │ └── main.cpp
│ │ │ └── SWITCH-CASE语句跳表
│ │ │ ├── bin
│ │ │ │ └── switch.exe
│ │ │ └── src
│ │ │ └── main.cpp
│ │ ├── 4.5.4 条件设置指令
│ │ │ ├── bin
│ │ │ │ └── SETcc.exe
│ │ │ └── src
│ │ │ ├── SETcc.cpp
│ │ │ ├── SETcc.dsp
│ │ │ └── SETcc.dsw
│ │ └── 4.5.5 纯算法实现逻辑判断
│ │ ├── bin
│ │ │ └── 4.5.5.exe
│ │ └── src
│ │ └── main.cpp
│ ├── 4.6 循环语句
│ │ ├── bin
│ │ │ ├── 优化.exe
│ │ │ └── 没优化.exe
│ │ └── src
│ │ └── main.cpp
│ └── 4.7 数学运算符
│ ├── 4.7.1 整数的加法和减法
│ │ ├── bin
│ │ │ └── add.exe
│ │ └── src
│ │ └── main.cpp
│ ├── 4.7.2 整数的乘法
│ │ ├── bin
│ │ │ └── imul.exe
│ │ └── src
│ │ └── main.cpp
│ └── 4.7.3 整数的除法
│ ├── bin
│ │ ├── 优化.exe
│ │ └── 没优化.exe
│ └── src
│ └── main.cpp
├── chap05
│ ├── 5.1 序列号保护方式
│ │ └── 5.1.4 注册机制作
│ │ ├── 1.明码比较软件的攻击
│ │ │ └── KeyMake工具
│ │ │ ├── KeyMake使用动画教学.exe
│ │ │ └── keymake
│ │ │ ├── keymake1.73.rar
│ │ │ └── 注意.txt
│ │ └── 2.非明码比较
│ │ └── serial
│ │ ├── bin
│ │ │ └── serial.exe
│ │ ├── keygen
│ │ │ ├── bin
│ │ │ │ └── keygen.exe
│ │ │ └── src
│ │ │ ├── 11.ico
│ │ │ ├── dialog.rc
│ │ │ ├── keygen.cpp
│ │ │ ├── keygen.dsp
│ │ │ ├── keygen.dsw
│ │ │ └── resource.h
│ │ └── 内嵌汇编的keygen
│ │ ├── bin
│ │ │ └── keygen.exe
│ │ └── src
│ │ ├── 11.ico
│ │ ├── dialog.rc
│ │ ├── keygen.cpp
│ │ ├── keygen.dsp
│ │ ├── keygen.dsw
│ │ └── resource.h
│ ├── 5.2 警告(Nag)窗口
│ │ ├── Nag.exe
│ │ └── 己修改的
│ │ ├── Nag方法1.exe
│ │ └── Nag方法2.exe
│ ├── 5.3 时间限制
│ │ └── 5.3.3 拆解时间限制保护
│ │ ├── Timer.exe
│ │ └── 己修改的
│ │ ├── Timer方法1.exe
│ │ ├── Timer方法2.exe
│ │ └── Timer方法3.exe
│ ├── 5.4 菜单功能限制
│ │ └── EnableMenu.exe
│ ├── 5.5 KeyFile保护
│ │ ├── PacMe.exe
│ │ └── keygen
│ │ ├── KWAZYWEB.BIT
│ │ └── KeyGenerator.exe
│ ├── 5.6 网络验证
│ │ ├── bin
│ │ │ ├── CrackMeNet.exe
│ │ │ ├── CrackMeNetS.exe
│ │ │ ├── ReadMe.txt
│ │ │ └── crack
│ │ │ ├── CrackMeNet.bak
│ │ │ └── CrackMeNet.exe
│ │ ├── idc脚本
│ │ │ └── getasm.idc
│ │ └── src
│ │ ├── source_client
│ │ │ ├── Script1.rc
│ │ │ ├── crackmenet1.c
│ │ │ ├── crackmenet1.dsp
│ │ │ ├── crackmenet1.dsw
│ │ │ ├── icon1.ico
│ │ │ └── resource.h
│ │ └── source_server
│ │ ├── crackmenet1s.c
│ │ ├── crackmenet1s.dsp
│ │ └── crackmenet1s.dsw
│ ├── 5.7 CD-Check
│ │ └── CD_Check.exe
│ ├── 5.8 只运行一个实例
│ │ ├── 修改后
│ │ │ └── serial己修改.exe
│ │ └── 原文件
│ │ └── serial.exe
│ └── 习题
│ ├── PEDIY CrackMe 2007.rar
│ └── 说明.txt
├── chap06
│ ├── 6.1 单向散列算法
│ │ ├── 6.1.1 MD5算法
│ │ │ ├── MD5KeyGenMe
│ │ │ │ ├── KeyGen
│ │ │ │ │ ├── bin
│ │ │ │ │ │ └── MD5KeyGen.exe
│ │ │ │ │ └── src
│ │ │ │ │ ├── MD5KeyGen.c
│ │ │ │ │ ├── MD5KeyGen.dsp
│ │ │ │ │ ├── MD5KeyGen.dsw
│ │ │ │ │ ├── dialog.aps
│ │ │ │ │ ├── dialog.rc
│ │ │ │ │ ├── global.h
│ │ │ │ │ ├── kg.bmp
│ │ │ │ │ ├── kg.ico
│ │ │ │ │ ├── md5.h
│ │ │ │ │ ├── md5c.c
│ │ │ │ │ └── resource.h
│ │ │ │ └── MD5KeyGenMe
│ │ │ │ ├── bin
│ │ │ │ │ └── MD5KeyGenMe.exe
│ │ │ │ └── src
│ │ │ │ ├── MD5KeyGenMe.c
│ │ │ │ ├── MD5KeyGenMe.dsp
│ │ │ │ ├── MD5KeyGenMe.dsw
│ │ │ │ ├── dialog.rc
│ │ │ │ ├── global.h
│ │ │ │ ├── kg.bmp
│ │ │ │ ├── kg.ico
│ │ │ │ ├── md5.h
│ │ │ │ ├── md5c.c
│ │ │ │ └── resource.h
│ │ │ └── MD5calculator
│ │ │ ├── bin
│ │ │ │ └── MD5calculator.exe
│ │ │ └── src
│ │ │ ├── 11.ico
│ │ │ ├── MD5calculator.C
│ │ │ ├── MD5calculator.dsp
│ │ │ ├── MD5calculator.dsw
│ │ │ ├── dialog.rc
│ │ │ ├── global.h
│ │ │ ├── md5.h
│ │ │ ├── md5c.c
│ │ │ └── resource.h
│ │ └── 6.1.2 SHA算法
│ │ ├── KeyGen
│ │ │ ├── bin
│ │ │ │ └── SHA1KeyGen.exe
│ │ │ └── src
│ │ │ ├── SHA1KeyGen.c
│ │ │ ├── SHA1KeyGen.dsp
│ │ │ ├── SHA1KeyGen.dsw
│ │ │ ├── dialog.rc
│ │ │ ├── kg.bmp
│ │ │ ├── kg.ico
│ │ │ └── resource.h
│ │ └── SHA1KeyGenMe
│ │ ├── bin
│ │ │ └── SHA1KeyGenMe.exe
│ │ └── src
│ │ ├── SHA1KeyGenMe.c
│ │ ├── SHA1KeyGenMe.dsp
│ │ ├── SHA1KeyGenMe.dsw
│ │ ├── dialog.rc
│ │ ├── kg.bmp
│ │ ├── kg.ico
│ │ └── resource.h
│ ├── 6.2 对称加密算法
│ │ ├── 6.2.1 RC4流密码
│ │ │ ├── bin
│ │ │ │ └── RC4Sample.exe
│ │ │ └── src
│ │ │ ├── RC4Sample.c
│ │ │ ├── RC4Sample.dsp
│ │ │ ├── RC4Sample.dsw
│ │ │ ├── dialog.aps
│ │ │ ├── dialog.rc
│ │ │ ├── kg.ico
│ │ │ └── resource.h
│ │ ├── 6.2.2 TEA算法
│ │ │ ├── KeyGen
│ │ │ │ ├── bin
│ │ │ │ │ └── TEAKeyGen.exe
│ │ │ │ └── src
│ │ │ │ ├── TEAKeyGen.c
│ │ │ │ ├── TEAKeyGen.dsp
│ │ │ │ ├── TEAKeyGen.dsw
│ │ │ │ ├── dialog.aps
│ │ │ │ ├── dialog.rc
│ │ │ │ ├── global.h
│ │ │ │ ├── kg.bmp
│ │ │ │ ├── kg.ico
│ │ │ │ ├── md5.h
│ │ │ │ ├── md5c.c
│ │ │ │ └── resource.h
│ │ │ └── TEAKeyGenMe
│ │ │ ├── bin
│ │ │ │ └── TEAKeyGenMe.exe
│ │ │ └── src
│ │ │ ├── TEAKeyGenMe.bbs
│ │ │ ├── TEAKeyGenMe.c
│ │ │ ├── TEAKeyGenMe.dsp
│ │ │ ├── TEAKeyGenMe.dsw
│ │ │ ├── dialog.rc
│ │ │ ├── global.h
│ │ │ ├── kg.bmp
│ │ │ ├── kg.ico
│ │ │ ├── md5.h
│ │ │ ├── md5c.c
│ │ │ └── resource.h
│ │ ├── 6.2.3 IDEA算法
│ │ │ ├── IDEAKeyGenMe
│ │ │ │ ├── bin
│ │ │ │ │ └── IDEAKeyGenMe.exe
│ │ │ │ └── src
│ │ │ │ ├── IDEAKeyGenMe.c
│ │ │ │ ├── IDEAKeyGenMe.dsp
│ │ │ │ ├── IDEAKeyGenMe.dsw
│ │ │ │ ├── dialog.aps
│ │ │ │ ├── dialog.rc
│ │ │ │ ├── kg.bmp
│ │ │ │ ├── kg.ico
│ │ │ │ └── resource.h
│ │ │ └── KeyGen
│ │ │ ├── bin
│ │ │ │ └── IDEAKeyGen.exe
│ │ │ └── src
│ │ │ ├── IDEAKeyGen.bbs
│ │ │ ├── IDEAKeyGen.c
│ │ │ ├── IDEAKeyGen.dsp
│ │ │ ├── IDEAKeyGen.dsw
│ │ │ ├── dialog.aps
│ │ │ ├── dialog.rc
│ │ │ ├── kg.bmp
│ │ │ ├── kg.ico
│ │ │ └── resource.h
│ │ ├── 6.2.4 BlowFish算法
│ │ │ ├── BlowfishKGM
│ │ │ │ ├── bin
│ │ │ │ │ └── BlowfishKGM.exe
│ │ │ │ └── src
│ │ │ │ ├── BlowfishKGM.c
│ │ │ │ ├── BlowfishKGM.dsp
│ │ │ │ ├── BlowfishKGM.dsw
│ │ │ │ ├── blowfish.c
│ │ │ │ ├── blowfish.h
│ │ │ │ ├── dialog.aps
│ │ │ │ ├── dialog.rc
│ │ │ │ ├── kg.bmp
│ │ │ │ ├── kg.ico
│ │ │ │ └── resource.h
│ │ │ └── keygen
│ │ │ ├── bin
│ │ │ │ └── BlowfishKg.exe
│ │ │ └── src
│ │ │ ├── BlowfishKg.c
│ │ │ ├── BlowfishKg.dsp
│ │ │ ├── BlowfishKg.dsw
│ │ │ ├── blowfish.c
│ │ │ ├── blowfish.h
│ │ │ ├── dialog.rc
│ │ │ ├── kg.bmp
│ │ │ ├── kg.ico
│ │ │ └── resource.h
│ │ └── 6.2.5 AES算法
│ │ ├── AESKeyGenMe
│ │ │ ├── bin
│ │ │ │ └── AESKeyGenMe.exe
│ │ │ └── src
│ │ │ ├── AESKeyGenMe.c
│ │ │ ├── AESKeyGenMe.dsp
│ │ │ ├── AESKeyGenMe.dsw
│ │ │ ├── MIRACL.H
│ │ │ ├── MIRDEF.H
│ │ │ ├── dialog.rc
│ │ │ ├── global.h
│ │ │ ├── kg.bmp
│ │ │ ├── kg.ico
│ │ │ ├── md5.h
│ │ │ ├── md5c.c
│ │ │ ├── ms32.lib
│ │ │ └── resource.h
│ │ └── keygen
│ │ ├── bin
│ │ │ └── AESKeyGenMeKG.exe
│ │ └── src
│ │ ├── AESKeyGen.c
│ │ ├── AESKeyGenMeKG.dsp
│ │ ├── AESKeyGenMeKG.dsw
│ │ ├── MIRACL.H
│ │ ├── MIRDEF.H
│ │ ├── dialog.rc
│ │ ├── global.h
│ │ ├── kg.bmp
│ │ ├── kg.ico
│ │ ├── md5.h
│ │ ├── md5c.c
│ │ ├── ms32.lib
│ │ └── resource.h
│ ├── 6.3 公开密钥加密算法
│ │ ├── 6.3.1 RSA算法
│ │ │ ├── RSAKeyGenMe
│ │ │ │ ├── KeyGen
│ │ │ │ │ ├── bin
│ │ │ │ │ │ └── RSAKeyGen.exe
│ │ │ │ │ └── src
│ │ │ │ │ ├── MIRACL.H
│ │ │ │ │ ├── MIRDEF.H
│ │ │ │ │ ├── RSAKeyGen.c
│ │ │ │ │ ├── RSAKeyGen.dsp
│ │ │ │ │ ├── RSAKeyGen.dsw
│ │ │ │ │ ├── dialog.aps
│ │ │ │ │ ├── dialog.rc
│ │ │ │ │ ├── kg.bmp
│ │ │ │ │ ├── kg.ico
│ │ │ │ │ ├── ms32.lib
│ │ │ │ │ └── resource.h
│ │ │ │ └── RSAKeyGenMe
│ │ │ │ ├── bin
│ │ │ │ │ └── RSAKeyGenMe.exe
│ │ │ │ └── src
│ │ │ │ ├── MIRACL.H
│ │ │ │ ├── MIRDEF.H
│ │ │ │ ├── RSAKeyGenMe.c
│ │ │ │ ├── RSAKeyGenMe.dsp
│ │ │ │ ├── RSAKeyGenMe.dsw
│ │ │ │ ├── dialog.aps
│ │ │ │ ├── dialog.rc
│ │ │ │ ├── kg.bmp
│ │ │ │ ├── kg.ico
│ │ │ │ ├── ms32.lib
│ │ │ │ └── resource.h
│ │ │ └── RSA演示
│ │ │ ├── Crypt.exe
│ │ │ ├── Decrypt.exe
│ │ │ ├── 客户端
│ │ │ │ ├── bin
│ │ │ │ │ └── Crypt.exe
│ │ │ │ └── src
│ │ │ │ ├── 11.ico
│ │ │ │ ├── Crypt.C
│ │ │ │ ├── Crypt.dsp
│ │ │ │ ├── Crypt.dsw
│ │ │ │ ├── MIRACL.H
│ │ │ │ ├── MIRDEF.H
│ │ │ │ ├── Release
│ │ │ │ │ └── Crypt.exe
│ │ │ │ ├── dialog.aps
│ │ │ │ ├── dialog.rc
│ │ │ │ ├── ms32.lib
│ │ │ │ └── resource.h
│ │ │ └── 服务端
│ │ │ ├── bin
│ │ │ │ └── Decrypt.exe
│ │ │ └── src
│ │ │ ├── 11.ico
│ │ │ ├── Decrypt.C
│ │ │ ├── Decrypt.dsp
│ │ │ ├── Decrypt.dsw
│ │ │ ├── MIRACL.H
│ │ │ ├── MIRDEF.H
│ │ │ ├── Release
│ │ │ │ └── Decrypt.exe
│ │ │ ├── dialog.rc
│ │ │ ├── ms32.lib
│ │ │ └── resource.h
│ │ ├── 6.3.2 ElGamal公钥算法
│ │ │ ├── ElgamalKGM
│ │ │ │ ├── bin
│ │ │ │ │ └── ElgamalKGM.exe
│ │ │ │ └── src
│ │ │ │ ├── ElgamalKGM.c
│ │ │ │ ├── ElgamalKGM.dsp
│ │ │ │ ├── ElgamalKGM.dsw
│ │ │ │ ├── MIRACL.H
│ │ │ │ ├── MIRDEF.H
│ │ │ │ ├── dialog.rc
│ │ │ │ ├── global.h
│ │ │ │ ├── kg.bmp
│ │ │ │ ├── kg.ico
│ │ │ │ ├── md5.h
│ │ │ │ ├── md5c.c
│ │ │ │ ├── ms32.lib
│ │ │ │ └── resource.h
│ │ │ └── KeyGen
│ │ │ ├── bin
│ │ │ │ └── ElgamalKG.exe
│ │ │ └── src
│ │ │ ├── ElgamalKG.bbs
│ │ │ ├── ElgamalKG.c
│ │ │ ├── ElgamalKG.dsp
│ │ │ ├── ElgamalKG.dsw
│ │ │ ├── MIRACL.H
│ │ │ ├── MIRDEF.H
│ │ │ ├── dialog.aps
│ │ │ ├── dialog.rc
│ │ │ ├── global.h
│ │ │ ├── kg.bmp
│ │ │ ├── kg.ico
│ │ │ ├── md5.h
│ │ │ ├── md5c.c
│ │ │ ├── ms32.lib
│ │ │ └── resource.h
│ │ ├── 6.3.3 DSA数字签名算法
│ │ │ ├── bin
│ │ │ │ └── DSASample.exe
│ │ │ └── src
│ │ │ ├── DSASample.c
│ │ │ ├── DSASample.dsp
│ │ │ ├── DSASample.dsw
│ │ │ ├── MIRACL.H
│ │ │ ├── MIRDEF.H
│ │ │ ├── dialog.rc
│ │ │ ├── kg.bmp
│ │ │ ├── kg.ico
│ │ │ ├── ms32.lib
│ │ │ └── resource.h
│ │ └── 6.3.4 椭圆曲线密码编码学
│ │ ├── bin
│ │ │ └── ECDSASample.exe
│ │ └── src
│ │ ├── ECDSASample.c
│ │ ├── ECDSASample.dsp
│ │ ├── ECDSASample.dsw
│ │ ├── MIRACL.H
│ │ ├── MIRDEF.H
│ │ ├── dialog.aps
│ │ ├── dialog.rc
│ │ ├── kg.bmp
│ │ ├── kg.ico
│ │ ├── ms32.lib
│ │ └── resource.h
│ ├── 6.4 其他算法
│ │ ├── 6.4.1 CRC32算法
│ │ │ ├── CRC原理.htm
│ │ │ └── crc32.txt
│ │ └── 6.4.2 Base64
│ │ └── Base64inC
│ │ └── base64.c
│ ├── 6.5 常见加密库接口及其识别
│ │ ├── 6.5.1 Miracl大数运算库
│ │ │ ├── MiraclStudy
│ │ │ │ ├── bin
│ │ │ │ │ └── MiraclStudy.exe
│ │ │ │ └── src
│ │ │ │ └── MiraclStudy.rar
│ │ │ └── magic.table.txt
│ │ └── 6.5.2 FGInt
│ │ └── FGIntStudy
│ │ ├── bin
│ │ │ └── FGIntStudy.exe
│ │ └── src
│ │ └── FGIntStudy.rar
│ └── tools
│ ├── DSA
│ │ └── dsatoolv13.zip
│ ├── MD5
│ │ ├── MD5_force.zip
│ │ └── mdcrk30.rar
│ ├── RSA
│ │ ├── CE.EXE
│ │ ├── CN.EXE
│ │ ├── MulInv.exe
│ │ ├── RSATool
│ │ │ └── RSATool2v17.zip
│ │ ├── gcd.exe
│ │ └── powmod.exe
│ └── calculator
│ ├── BigCalc
│ │ ├── bigcalc
│ │ │ └── bigcalc.zip
│ │ └── calcpro
│ │ └── calcpro.zip
│ ├── BigIntCalc_by_readyu
│ │ └── BigIntCalc_v1.13.rar
│ ├── PPSIQS
│ │ └── tomabechi_ppsiqs11.zip
│ ├── RDLP
│ │ └── RDLP-v1.12.rar
│ ├── base64
│ │ └── base64kit_v1.3.rar
│ ├── dm_Hash Calculator
│ │ └── dm_hc151.zip
│ └── 离散对数
│ ├── DLPTool_by_readyu
│ │ ├── DLPTool_by_readyu_v1.1.rar
│ │ └── readme.txt
│ └── dlptool_by_figugegl
│ └── dlptool_by_figugegl.zip
├── chap07
│ ├── DE_Delphi_6.exe
│ ├── Delphi 5.0
│ │ └── DE_Delphi_5.exe
│ ├── Delphi 6.0
│ │ ├── DE_Delphi_6.exe
│ │ └── src
│ │ └── DE_Delphi_6.rar
│ └── Delphi 7.0
│ ├── DE_Delphi_7.exe
│ └── 模块初始化
│ ├── SysInit.pas
│ └── System.pas
├── chap08
│ ├── 8.2 自然编译(Native)
│ │ └── 8.2.2 VB程序比较方式
│ │ ├── Byte.exe
│ │ ├── Currency.exe
│ │ ├── Double.exe
│ │ ├── Integer.exe
│ │ ├── Single.exe
│ │ ├── Variant.exe
│ │ ├── long.exe
│ │ └── string.exe
│ ├── 8.3 伪编译(Pcode)
│ │ ├── 8.3.1 虚拟机与伪代码
│ │ │ └── 2.虚拟机实例分析
│ │ │ └── VBP-code-Ex.exe
│ │ ├── 8.3.2 动态分析VB P-code程序
│ │ │ ├── vbpcode.exe
│ │ │ └── vbpcode动画教学.exe
│ │ ├── 8.3.4 VB P-code攻击实战
│ │ │ └── CyberBlade.2.exe
│ │ └── tools
│ │ └── WKTVBDE.rar
│ └── 资料
│ ├── VB结构文档
│ │ └── VB结构文档.rar
│ ├── vb4实例
│ │ └── vb4.rar
│ └── 运行库
│ ├── VB3.0
│ │ └── VBRUN300.DLL
│ ├── VB4.0
│ │ ├── VB40016.DLL
│ │ └── VB40032.DLL
│ ├── VB5.0
│ │ └── Vbrun50.zip
│ └── VB6.0
│ └── Vbrun60.exe
├── chap09
│ ├── 9.1 .net概述
│ │ └── 9.1.3 第一个.net程序
│ │ ├── hello.cs
│ │ └── hello.exe
│ ├── 9.2 MSIL与元数据
│ │ └── 9.2.2 .net下的汇编MSIL
│ │ ├── sample922.IL
│ │ └── sample922.exe
│ ├── 9.3 代码分析技术
│ │ ├── 9.3.1 静态分析
│ │ │ └── Crackme.exe
│ │ └── 9.3.3 代码修改
│ │ ├── 再编译patch
│ │ │ ├── 1.exe
│ │ │ ├── 1.il
│ │ │ ├── 1.res
│ │ │ ├── WindowsApplication1.Form1.resources
│ │ │ └── WindowsApplication1.Properties.Resources.resources
│ │ └── 直接修改
│ │ └── 直接修改过的Crackme.exe
│ ├── 9.4 代码保护技术及其逆向
│ │ ├── 9.4.1 强名称
│ │ │ ├── mykey.snk
│ │ │ ├── sample1041.cs
│ │ │ └── sample1041.exe
│ │ ├── 9.4.2 名称混淆
│ │ │ ├── sample1042_1
│ │ │ │ ├── sample1042_1.cs
│ │ │ │ ├── sample1042_1.exe
│ │ │ │ └── 原始sample1042_1.exe
│ │ │ ├── sample1042_2
│ │ │ │ ├── sample1042_2.cs
│ │ │ │ ├── sample1042_2.exe
│ │ │ │ ├── sample1042_2_lib.cs
│ │ │ │ ├── sample1042_2_lib.dll
│ │ │ │ ├── 原始 sample1042_2.exe
│ │ │ │ └── 原始 sample1042_2_lib.dll
│ │ │ └── sample1042_3
│ │ │ └── sample1042_3.exe
│ │ ├── 9.4.3 流程混淆
│ │ │ ├── dump.il
│ │ │ ├── dump.res
│ │ │ └── sample1043.exe
│ │ ├── 9.4.4 压缩
│ │ │ ├── bsp加壳
│ │ │ │ ├── dump的loader.dll
│ │ │ │ ├── dump的loader.exe
│ │ │ │ └── 加壳的sample1044.exe
│ │ │ ├── sample1044.EXE
│ │ │ ├── sample1044.il
│ │ │ └── sample1044.res
│ │ └── 9.4.5 加密
│ │ ├── CodeVeil保护
│ │ │ ├── CFF修复的 Dumped.exe
│ │ │ ├── CodeVeil保护.rar
│ │ │ ├── Crackme.exe
│ │ │ ├── Dumped.exe
│ │ │ └── dis#导出再重新编译的Dumped.exe
│ │ ├── 原始Crackme.exe
│ │ └── 国外壳
│ │ └── 例子.msi
│ ├── 9.5 深入.net
│ │ ├── 9.5.1 反射与CodeDOM
│ │ │ ├── GetILCode(CodeVeil加密).rar
│ │ │ └── GetILCode.rar
│ │ ├── 9.5.2 Unmaganed API
│ │ │ ├── Debugger
│ │ │ │ └── Debuggers under .NET
│ │ │ │ ├── DebuggerArticle1.zip
│ │ │ │ ├── DebuggerArticle2.zip
│ │ │ │ ├── DebuggerArticle3.zip
│ │ │ │ └── Debuggers under .NET.pdf
│ │ │ └── Profiler
│ │ │ ├── CLRProfiler.exe
│ │ │ └── 一个只监测方法参数和返回值的profiler
│ │ │ ├── Profiler.dll
│ │ │ ├── off.bat
│ │ │ └── on.bat
│ │ └── 9.5.3 Rotor、MONO与.net内核
│ │ └── Mono
│ │ ├── Mono.Cecil, the most powerfull tool you've never heard of
│ │ │ ├── CecilChapter1.zip
│ │ │ └── Mono.pdf
│ │ ├── cecil-0.5-bin.zip
│ │ └── cecil-0.5-src.zip
│ └── 工具
│ ├── 加壳
│ │ ├── Sixxpack11
│ │ │ └── Sixxpack.rar
│ │ ├── Sixxpack20
│ │ │ └── Sixxpack20.rar
│ │ └── bsp
│ │ └── bsp.rar
│ ├── 脱壳
│ │ └── NETUnpack
│ │ └── NETUnpack.rar
│ ├── 调试
│ │ ├── PEBrowseDbgv8.4.zip
│ │ └── 注意.txt
│ ├── 反混淆
│ │ ├── DOBSTR
│ │ │ └── DOBSTR.rar
│ │ ├── DeFlowOb
│ │ │ └── DeFlowOb.rar
│ │ ├── deobfuscator
│ │ │ └── deobfuscator.rar
│ │ ├── dreaman的名称反混淆工具
│ │ │ └── deobfuscator.rar
│ │ └── rick的反混淆工具MetaEditor
│ │ └── rick的反混淆工具MetaEditor.rar
│ ├── 反编译
│ │ ├── Reflector
│ │ │ ├── Reflector.zip
│ │ │ └── Reflector的插件
│ │ │ └── Addin.rar
│ │ └── ildasm修正版
│ │ ├── ildasm v1.1.rar
│ │ └── ildasm v2.0.rar
│ ├── 强名称
│ │ ├── RE Assign
│ │ │ └── RE Assign.rar
│ │ ├── StrongNameRemove
│ │ │ └── StrongNameRemove20.rar
│ │ └── snreplace
│ │ └── snreplace.rar
│ └── 文件结构与元数据
│ ├── CFF_Explorer
│ │ └── CFF_Explorer.zip
│ ├── ResourceNet2
│ │ ├── Resource.exe
│ │ ├── example.resources
│ │ └── example.resx
│ └── asmex
│ ├── asmex_bin.zip
│ └── asmex_src.zip
├── chap10
│ ├── 10.10 TLS初始化
│ │ └── TlsExe.rar
│ ├── 10.12 延迟装入数据
│ │ └── DelayDll.rar
│ ├── 10.15 编写PE分析工具
│ │ └── PEInfo_example
│ │ ├── bin
│ │ │ └── PEInfo_example.exe
│ │ └── src
│ │ └── PEInfo_example.rar
│ ├── 10.1~10.7 实例
│ │ ├── PE32
│ │ │ ├── Dumped.exe
│ │ │ ├── PE.exe
│ │ │ └── ReadMe.txt
│ │ ├── PE32
│ │ │ └── 64-NOTEPAD.EXE
│ │ └── VC头文件
│ │ └── WinNT.h
│ ├── 10.8 基址重定位
│ │ ├── DllDemo.DLL
│ │ └── test.EXE
│ ├── 10.9 资源
│ │ └── pediy.exe
│ └── tools
│ ├── LordPE
│ │ └── LPE-DLX.rar
│ └── Stud_PE
│ └── Stud_PE.rar
├── chap11
│ ├── 11.2 SEH相关数据结构
│ │ └── Seh.exe
│ └── 11.3 异常处理回调函数
│ ├── bin
│ │ └── seh2.exe
│ └── src
│ └── seh2.asm
├── chap12
│ ├── 12.1 认识壳
│ │ └── 12.1.2 压缩引擎
│ │ ├── JCALG1
│ │ │ └── JCALG1_R5.34_SOURCE.rar
│ │ ├── LZMA
│ │ │ ├── LzmaLib.lib.rar
│ │ │ ├── lzma406.zip
│ │ │ ├── lzma432.tar.bz2
│ │ │ ├── lzma439.tar.bz2
│ │ │ └── lzma_cs412bc.zip
│ │ └── aPLib
│ │ └── aPLib043.zip
│ ├── 12.2 压缩壳
│ │ ├── 12.2.1 UPX
│ │ │ └── upx303w.zip
│ │ └── 12.2.2 ASPack
│ │ └── aspack212r.zip
│ ├── 12.3 加密壳
│ │ └── ReadMe.txt
│ └── 12.4 虚拟机保护软件
│ └── 12.4.2 VMProtect简介
│ ├── ReadMe.txt
│ └── SDK
│ └── Examples.zip
├── chap13
│ ├── 13.10 加密壳
│ │ ├── 13.10.1 ASProtect
│ │ │ ├── Emulate standard system functions
│ │ │ │ ├── OllyScript.txt
│ │ │ │ ├── TraceMe.exe
│ │ │ │ ├── TraceMe_Emulate standard system functions.exe
│ │ │ │ └── 补丁说明.txt
│ │ │ └── VolX脚本
│ │ │ ├── Aspr2.XX_unpacker_v1.11E.rar
│ │ │ └── 操作说明.txt
│ │ └── 13.10.2 Thmedia
│ │ ├── 13.9.2 Themidia的SDK分析补充文档.pdf
│ │ └── thmedia.rar
│ ├── 13.2 寻找OEP
│ │ ├── 13.2.1 根据跨段指令寻找OEP
│ │ │ ├── 没加壳
│ │ │ │ └── RebPE.exe
│ │ │ └── 加壳后的
│ │ │ └── RebPE.exe
│ │ ├── 13.2.4 根据编译语言特点找OEP
│ │ │ ├── Borland C
│ │ │ │ ├── Borland C 1999
│ │ │ │ │ └── TestWin.exe
│ │ │ │ └── Borland C 5.0
│ │ │ │ └── asminc.exe
│ │ │ ├── Delphi
│ │ │ │ ├── Delphi 5.0
│ │ │ │ │ └── DE_Delphi_5.exe
│ │ │ │ ├── Delphi 6.0
│ │ │ │ │ └── DE_Delphi_6.exe
│ │ │ │ └── Delphi 7.0
│ │ │ │ └── DE_Delphi_7.exe
│ │ │ ├── GCC
│ │ │ │ ├── CUI(控制台用户界面)
│ │ │ │ │ └── GCC_CUI.exe
│ │ │ │ ├── GUI(图形用户界面)
│ │ │ │ │ └── GCC_GUI.exe
│ │ │ │ └── readme.txt
│ │ │ ├── Visual Basic
│ │ │ │ ├── Native
│ │ │ │ │ └── VB 6.0
│ │ │ │ │ └── Byte.exe
│ │ │ │ └── P_code
│ │ │ │ └── VB 6
│ │ │ │ └── vbpcode.exe
│ │ │ └── Visual C
│ │ │ ├── Visual C 6.0
│ │ │ │ ├── VC6_CUI.exe
│ │ │ │ └── VC_GUI 6.0.exe
│ │ │ ├── Visual C 7.0
│ │ │ │ ├── VC_CUI.exe
│ │ │ │ └── VC_GUI.exe
│ │ │ ├── Visual C 8.0
│ │ │ │ ├── VC_CUI_2005.exe
│ │ │ │ └── VC_GUI_2005.exe
│ │ │ └── Visual C 9.0
│ │ │ ├── VC_CUI_2008.exe
│ │ │ ├── VC_GUI_2008.exe
│ │ │ └── readme.txt
│ │ └── 用脚本找OEP
│ │ ├── RebPE.exe
│ │ ├── hying 0.4x.txt
│ │ └── 操作说明.txt
│ ├── 13.3 抓取内存映像
│ │ └── 13.3.2 反DUMP技术(Anti-Dump)
│ │ └── Modify_the_read_right
│ │ ├── bin
│ │ │ └── Modify_the_read_right.exe
│ │ └── src
│ │ ├── Modify_the_read_right.cpp
│ │ ├── Modify_the_read_right.dsp
│ │ └── Modify_the_read_right.dsw
│ ├── 13.4 重建输入表
│ │ ├── 13.4.2 确定IAT的地址和大小
│ │ │ └── RebPE.exe
│ │ ├── 13.4.3 根据IAT重建输入表
│ │ │ ├── 内存Dump取的程序
│ │ │ │ ├── dumped.exe
│ │ │ │ └── readme.txt
│ │ │ ├── 原文件
│ │ │ │ └── Reb_IT.exe
│ │ │ ├── 加壳后的
│ │ │ │ └── Reb_IT.exe
│ │ │ └── 输入表己重建的程序
│ │ │ └── dumped.exe
│ │ └── 13.4.4 ImportREC重建输入表
│ │ ├── RebPE
│ │ │ ├── RebPE.exe
│ │ │ ├── RebPE_脱壳.rar
│ │ │ └── readme.txt
│ │ ├── TestWin
│ │ │ └── TestWin.exe
│ │ ├── apitest
│ │ │ └── apitest.exe
│ │ └── tools
│ │ └── Import REC16f.rar
│ ├── 13.5 DLL文件脱壳
│ │ ├── ReloREC
│ │ │ └── ReloREC 1.0.rar
│ │ ├── 加壳的
│ │ │ ├── EdrLib.dll
│ │ │ ├── EdrTest.exe
│ │ │ └── ReadMe.txt
│ │ ├── 没加壳
│ │ │ ├── EdrLib.dll
│ │ │ └── EdrTest.exe
│ │ ├── 脱壳后
│ │ │ ├── Relo.bin
│ │ │ ├── dumped_.dll
│ │ │ ├── dumped__.dll
│ │ │ └── readme.txt
│ │ └── 动画演示
│ │ ├── 13.5.1 寻找OEP
│ │ │ ├── 16.5.1 停在外壳.exe
│ │ │ └── readme.txt
│ │ └── 13.5.4 构造重定位表
│ │ └── 16.5.4 构造重定位表.exe
│ ├── 13.6 附加数据
│ │ ├── 原文件
│ │ │ └── overlay.exe
│ │ └── 脱壳后
│ │ ├── dumped_.exe
│ │ └── dumped_fix.exe
│ ├── 13.7 PE文件的优化
│ │ ├── 加壳的
│ │ │ └── RebPE.exe
│ │ └── 优化后文件
│ │ └── dumped_.exe
│ ├── 13.8 压缩壳
│ │ ├── 13.8.1 UPX外壳
│ │ │ ├── 1.UPXPR保护
│ │ │ │ ├── UPXPR_notepad.exe
│ │ │ │ └── tools
│ │ │ │ ├── UPXFIX_by_DiKeN..exe
│ │ │ │ ├── readme.txt
│ │ │ │ └── upx.exe
│ │ │ └── 2.手动脱UPX的壳
│ │ │ ├── 原文件
│ │ │ │ ├── EdrLib.dll
│ │ │ │ └── EdrTest.exe
│ │ │ └── 脱壳后的文件
│ │ │ ├── EdrLib.dll
│ │ │ ├── relo.bin
│ │ │ ├── upx_dumped__.dll
│ │ │ └── 说明.txt
│ │ └── 13.8.2 ASPack外壳
│ │ ├── 己加ASPack壳
│ │ │ └── EdrLib.dll
│ │ ├── 原文件
│ │ │ ├── EdrLib.dll
│ │ │ └── EdrTest.exe
│ │ └── 脱壳后
│ │ └── dumped.dll
│ └── 13.9 静态脱壳
│ ├── 13.9.1 外壳Loader的分析
│ │ ├── calc.exe
│ │ ├── calc_ASPack.exe
│ │ ├── calc_ASPack.idb
│ │ ├── pack_2.bin
│ │ └── readme.txt
│ └── 13.9.2 编写静态脱壳器
│ └── unaspack10804
│ ├── unaspack10804.cpp
│ ├── unaspack10804.dsp
│ └── unaspack10804.dsw
├── chap14
│ ├── 14.2 抵御静态分析
│ │ ├── 14.2.1 花指令
│ │ │ ├── example1.asm
│ │ │ ├── example1.exe
│ │ │ ├── example2.exe
│ │ │ └── example3.asm
│ │ ├── 14.2.2 SMC技术实现
│ │ │ ├── SMC.rar
│ │ │ └── readme.txt
│ │ └── 14.2.4 简单多态变形技术
│ │ ├── IPBPROT.zip
│ │ └── readme.txt
│ ├── 14.3 文件完整性检验
│ │ ├── 14.3.1 磁盘文件校验实现
│ │ │ ├── bin
│ │ │ │ ├── add2crc32.exe
│ │ │ │ ├── crc32.exe
│ │ │ │ └── readme.txt
│ │ │ └── src
│ │ │ ├── add2crc32
│ │ │ │ ├── Release
│ │ │ │ │ └── add2crc32.exe
│ │ │ │ ├── add2crc32.cpp
│ │ │ │ ├── add2crc32.dsp
│ │ │ │ └── add2crc32.dsw
│ │ │ └── crc32
│ │ │ ├── Release
│ │ │ │ └── crc32.exe
│ │ │ ├── crc32.cpp
│ │ │ ├── crc32.dsp
│ │ │ └── crc32.dsw
│ │ └── 14.3.3 内存映像校验
│ │ ├── 1. 对整个代码数据校验
│ │ │ ├── bin
│ │ │ │ ├── add2memcrc32.exe
│ │ │ │ ├── memcrc32.exe
│ │ │ │ └── readme.txt
│ │ │ └── src
│ │ │ ├── add2memcrc32
│ │ │ │ ├── add2memcrc32.cpp
│ │ │ │ ├── add2memcrc32.dsp
│ │ │ │ └── add2memcrc32.dsw
│ │ │ └── memcrc32
│ │ │ ├── memcrc32.cpp
│ │ │ ├── memcrc32.dsp
│ │ │ └── memcrc32.dsw
│ │ └── 2. 校验内存代码片段
│ │ ├── bin
│ │ │ └── DetectingBk.exe
│ │ └── src
│ │ ├── DetectingBk.cpp
│ │ ├── DetectingBk.dsp
│ │ └── DetectingBk.dsw
│ └── 14.4 代码与数据结合技术
│ └── codeEncrypt
│ ├── Encrypter
│ │ ├── bin
│ │ │ └── Encrypter.exe
│ │ └── src
│ │ ├── 11.ico
│ │ ├── Encrypter.cpp
│ │ ├── Encrypter.dsp
│ │ ├── Encrypter.dsw
│ │ ├── dialog.rc
│ │ └── resource.h
│ ├── ReadMe.txt
│ ├── codeEncrypt
│ │ ├── Release
│ │ │ └── codedata.exe
│ │ ├── codedata.cpp
│ │ ├── codedata.dsp
│ │ ├── codedata.dsw
│ │ ├── codedata.exe
│ │ ├── codedata.rc
│ │ ├── icon.ico
│ │ └── resource.h
│ └── codedataOK.exe
├── chap15
│ ├── 15.1 由BeingDebugged引发的蝴蝶效应
│ │ ├── 15.1.1 BeingDebugged
│ │ │ ├── GetPebBase.c
│ │ │ └── HideDebugger.c
│ │ ├── 15.1.2 NtGlobalFlag
│ │ │ ├── LdrpInitialize.c
│ │ │ └── MyIsDebuggerPresentEx.c
│ │ └── 15.1.3 Heap Magic
│ │ ├── CheckHeapFlags.c
│ │ ├── IsDebugHeap.c
│ │ ├── antiRing3Debugger.c
│ │ └── hook OD's IAT.c
│ ├── 15.2 回归Native用户态的梦魇
│ │ ├── 15.2.1 CheckRemoteDebuggerPresent
│ │ │ └── CheckDebugger.c
│ │ ├── 15.2.2 ProcessDebugPort
│ │ │ ├── CheckRemoteDebuggerPresent.c
│ │ │ └── 《Windows NT 2000 Native API Reference》
│ │ │ └── w2knative.pdf
│ │ ├── 15.2.3 ThreadHideFromDebugger
│ │ │ └── DisableDebugEvent
│ │ │ ├── bin
│ │ │ │ └── DisableDebugEvent.exe
│ │ │ └── src
│ │ │ ├── DisableDebugEvent.cpp
│ │ │ ├── DisableDebugEvent.dsp
│ │ │ └── DisableDebugEvent.dsw
│ │ ├── 15.2.4 Debug Object
│ │ │ └── CheckDebugObject.c
│ │ ├── 15.2.5 SystemKernelDebuggerInformation
│ │ │ └── CheckKernelDbgr.c
│ │ ├── 15.2.6 Native API
│ │ │ └── 1.认识Native API
│ │ │ └── 参考资料.chm
│ │ └── 15.2.7 Hook和AntiHook
│ │ ├── 2. AntiHook_Splicing
│ │ │ ├── 对付API-splicing的一种简单方法
│ │ │ │ └── 对付API-splicing的一种简单方法.txt
│ │ │ ├── 如何中断Themida的MessageBox对话框
│ │ │ │ └── 如何中断Themida的MessageBox对话框.chm
│ │ │ └── 一个小花招
│ │ │ ├── messagebox.rar
│ │ │ └── readme.txt
│ │ ├── 3. 小结
│ │ │ └── ThreadHideFromDebugger.c
│ │ └── Windows_System_Call_Table.htm
│ └── 15.3 真正的奥秘:小技巧一览
│ ├── 15.3.1 SoftICE检测方法
│ │ ├── Back Door
│ │ │ ├── bin
│ │ │ │ └── Back Door.exe
│ │ │ └── src
│ │ │ ├── Back Door.cpp
│ │ │ ├── Back Door.dsp
│ │ │ └── Back Door.dsw
│ │ ├── BoundsChecker后门
│ │ │ └── BoundsChecker.asm
│ │ ├── MeltICE
│ │ │ ├── MeltICE.cpp
│ │ │ ├── MeltICE.dsp
│ │ │ ├── MeltICE.dsw
│ │ │ └── Release
│ │ │ └── MeltICE.exe
│ │ ├── NticeService
│ │ │ ├── NticeService.cpp
│ │ │ ├── NticeService.dsp
│ │ │ ├── NticeService.dsw
│ │ │ └── Release
│ │ │ └── NticeService.exe
│ │ ├── UnhandledExceptionFilter
│ │ │ ├── Release
│ │ │ │ └── UnhandledExceptionFilter.exe
│ │ │ ├── UnhandledExceptionFilter.cpp
│ │ │ ├── UnhandledExceptionFilter.dsp
│ │ │ └── UnhandledExceptionFilter.dsw
│ │ ├── int1
│ │ │ ├── Release
│ │ │ │ └── int1.exe
│ │ │ ├── int1.cpp
│ │ │ ├── int1.dsp
│ │ │ └── int1.dsw
│ │ └── int41
│ │ ├── Release
│ │ │ └── int41.exe
│ │ ├── int41.cpp
│ │ ├── int41.dsp
│ │ └── int41.dsw
│ ├── 15.3.2 OllyDbg检测方法
│ │ └── 6.SetUnhandledExceptionFilter方法
│ │ ├── SetUnhandledExceptionFilter 的讨论.chm
│ │ └── exception.rar
│ ├── 15.3.3 调试器漏洞
│ │ └── test.c
│ ├── 15.3.4 防止调试器附加
│ │ └── Anti-Attach.c
│ └── 15.3.5 父进程检测
│ ├── CheckParentProc
│ │ ├── Win 2000&XP
│ │ │ ├── bin
│ │ │ │ └── CheckParentProc.exe
│ │ │ └── src
│ │ │ └── CheckParentProc.rar
│ │ └── Win98& 2000&XP
│ │ ├── bin
│ │ │ └── CheckParentProc.exe
│ │ └── src
│ │ └── CheckParentProc.rar
│ └── readme.txt
├── chap16
│ └── PE-Armor_VC版
│ ├── bin
│ │ └── PE-Armor.exe
│ └── src
│ ├── pediy
│ │ ├── Debug
│ │ ├── DisposeShell.h
│ │ ├── ImportTable.cpp
│ │ ├── ImportTable.h
│ │ ├── IsPEFile.h
│ │ ├── PE-Armor.cpp
│ │ ├── PE-Armor.dsp
│ │ ├── PE-Armor.dsw
│ │ ├── PE-Armor.ncb
│ │ ├── PE-Armor.opt
│ │ ├── PackFile.h
│ │ ├── PropertyDialog.h
│ │ ├── ProtTheFile.h
│ │ ├── Relocation.h
│ │ ├── ResourceDir.h
│ │ ├── Section.h
│ │ ├── aplib
│ │ │ ├── aPLib-0.42
│ │ │ │ ├── doc
│ │ │ │ │ └── aPLib-0.42.chm
│ │ │ │ ├── examples
│ │ │ │ │ ├── 16bit
│ │ │ │ │ │ ├── deppack.nas
│ │ │ │ │ │ ├── depptiny.nas
│ │ │ │ │ │ ├── history.txt
│ │ │ │ │ │ └── makeit.bat
│ │ │ │ │ ├── ada
│ │ │ │ │ │ ├── ACU_Dos
│ │ │ │ │ │ │ ├── apacdemo.ali
│ │ │ │ │ │ │ └── aplib.ali
│ │ │ │ │ │ ├── ACU_Win
│ │ │ │ │ │ │ ├── apacdemo.ali
│ │ │ │ │ │ │ └── aplib.ali
│ │ │ │ │ │ ├── aPLibAda.txt
│ │ │ │ │ │ ├── apacdemo.adb
│ │ │ │ │ │ ├── aplib.adb
│ │ │ │ │ │ ├── aplib.ads
│ │ │ │ │ │ ├── gnat.ago
│ │ │ │ │ │ ├── mk_aonix.bat
│ │ │ │ │ │ ├── mk_gndos.bat
│ │ │ │ │ │ └── mk_gnwin.bat
│ │ │ │ │ ├── bcb
│ │ │ │ │ │ ├── LibForDll
│ │ │ │ │ │ │ └── aplib.lib
│ │ │ │ │ │ ├── MainFormUnit.cpp
│ │ │ │ │ │ ├── MainFormUnit.ddp
│ │ │ │ │ │ ├── MainFormUnit.dfm
│ │ │ │ │ │ ├── MainFormUnit.h
│ │ │ │ │ │ ├── README_ABOUT_APLIB_DLL.txt
│ │ │ │ │ │ ├── apacksamplec.cpp
│ │ │ │ │ │ ├── apacksamplec.h
│ │ │ │ │ │ ├── aptest.bpr
│ │ │ │ │ │ ├── aptest.cpp
│ │ │ │ │ │ └── aptest.res
│ │ │ │ │ ├── c
│ │ │ │ │ │ ├── appack.c
│ │ │ │ │ │ ├── make_bcc.bat
│ │ │ │ │ │ ├── make_dj.bat
│ │ │ │ │ │ ├── make_dll.bat
│ │ │ │ │ │ ├── make_pc.bat
│ │ │ │ │ │ ├── make_vc.bat
│ │ │ │ │ │ ├── make_wat.bat
│ │ │ │ │ │ ├── makefile.cyg
│ │ │ │ │ │ ├── makefile.elf
│ │ │ │ │ │ └── makefile.mgw
│ │ │ │ │ ├── delphi
│ │ │ │ │ │ ├── aplib.pas
│ │ │ │ │ │ ├── aplibu.pas
│ │ │ │ │ │ ├── aplibud.pas
│ │ │ │ │ │ ├── aptest.dof
│ │ │ │ │ │ ├── aptest.dpr
│ │ │ │ │ │ ├── aptest.res
│ │ │ │ │ │ ├── makefile
│ │ │ │ │ │ ├── t_main.dfm
│ │ │ │ │ │ └── t_main.pas
│ │ │ │ │ ├── dotnet
│ │ │ │ │ │ ├── IbsenSoftware
│ │ │ │ │ │ │ └── aPLib
│ │ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ │ └── DllInterface.cs
│ │ │ │ │ │ ├── appack.cs
│ │ │ │ │ │ └── mk.bat
│ │ │ │ │ ├── masm32
│ │ │ │ │ │ ├── ap.ico
│ │ │ │ │ │ ├── aplib.inc
│ │ │ │ │ │ ├── appack.asm
│ │ │ │ │ │ ├── appack.inc
│ │ │ │ │ │ ├── ctrls.asm
│ │ │ │ │ │ ├── file0750.bmp
│ │ │ │ │ │ ├── filedlgs.asm
│ │ │ │ │ │ ├── makeit.bat
│ │ │ │ │ │ ├── rsrc.rc
│ │ │ │ │ │ ├── tbmacros.asm
│ │ │ │ │ │ └── toolbar.asm
│ │ │ │ │ ├── tmt
│ │ │ │ │ │ ├── aplibu.pas
│ │ │ │ │ │ ├── appack.pas
│ │ │ │ │ │ ├── apunpack.pas
│ │ │ │ │ │ └── makeit.bat
│ │ │ │ │ └── vpascal
│ │ │ │ │ ├── aplib.def
│ │ │ │ │ ├── aplibu.pas
│ │ │ │ │ ├── aplibud.pas
│ │ │ │ │ ├── appack.pas
│ │ │ │ │ ├── apunpack.pas
│ │ │ │ │ ├── descript.ion
│ │ │ │ │ ├── make_exe.cmd
│ │ │ │ │ ├── test_exe.cmd
│ │ │ │ │ └── vpc.cfg
│ │ │ │ ├── lib
│ │ │ │ │ ├── delphi
│ │ │ │ │ │ ├── aplib.obj
│ │ │ │ │ │ ├── crc32.obj
│ │ │ │ │ │ ├── depack.obj
│ │ │ │ │ │ ├── depackf.obj
│ │ │ │ │ │ ├── depacks.obj
│ │ │ │ │ │ ├── readme.txt
│ │ │ │ │ │ ├── scheck.obj
│ │ │ │ │ │ ├── sdepack.obj
│ │ │ │ │ │ ├── sgetsize.obj
│ │ │ │ │ │ └── spack.obj
│ │ │ │ │ ├── djgpp
│ │ │ │ │ │ ├── aplib.a
│ │ │ │ │ │ └── aplib.h
│ │ │ │ │ ├── dll
│ │ │ │ │ │ ├── aplib.dll
│ │ │ │ │ │ ├── aplib.h
│ │ │ │ │ │ ├── aplib.lib
│ │ │ │ │ │ └── readme.txt
│ │ │ │ │ ├── elf32
│ │ │ │ │ │ ├── aplib.a
│ │ │ │ │ │ ├── aplib.h
│ │ │ │ │ │ └── readme.txt
│ │ │ │ │ ├── mscoff
│ │ │ │ │ │ ├── aplib.h
│ │ │ │ │ │ └── aplib.lib
│ │ │ │ │ └── omf
│ │ │ │ │ ├── aplib.h
│ │ │ │ │ └── aplib.lib
│ │ │ │ ├── readme.txt
│ │ │ │ └── src
│ │ │ │ ├── asm
│ │ │ │ │ ├── depack.asm
│ │ │ │ │ ├── depack16.asm
│ │ │ │ │ ├── depackf.asm
│ │ │ │ │ ├── depacks.asm
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── c
│ │ │ │ │ ├── depack.c
│ │ │ │ │ ├── depack.h
│ │ │ │ │ ├── depacks.c
│ │ │ │ │ └── depacks.h
│ │ │ │ ├── nasm
│ │ │ │ │ ├── depack.nas
│ │ │ │ │ ├── depack16.nas
│ │ │ │ │ ├── depackf.nas
│ │ │ │ │ ├── depacks.nas
│ │ │ │ │ ├── nasmlcm.inc
│ │ │ │ │ └── readme.txt
│ │ │ │ └── safe
│ │ │ │ ├── crc32.nas
│ │ │ │ ├── nasmlcm.inc
│ │ │ │ ├── scheck.nas
│ │ │ │ ├── sdepack.nas
│ │ │ │ ├── sgetsize.nas
│ │ │ │ └── spack.nas
│ │ │ ├── aplib.h
│ │ │ └── aplib.lib
│ │ ├── pediy.h
│ │ ├── res
│ │ │ ├── 11.ico
│ │ │ ├── dialog.aps
│ │ │ ├── dialog.rc
│ │ │ ├── resource.h
│ │ │ └── xpmenu.h
│ │ └── shell.asm
│ └── pediy.rar
├── chap17
│ ├── vm
│ │ ├── ReadMe.txt
│ │ └── 反汇编
│ │ ├── 反汇编
│ │ │ ├── ASM
│ │ │ │ ├── asmserv.cpp
│ │ │ │ ├── assembl.cpp
│ │ │ │ ├── disasm.cpp
│ │ │ │ └── disasm.h
│ │ │ ├── CCodeILFactory.cpp
│ │ │ ├── CCodeILFactory.h
│ │ │ ├── CLink.cpp
│ │ │ ├── CLink.h
│ │ │ ├── CVMFactory.cpp
│ │ │ ├── CVMFactory.h
│ │ │ ├── CVirtualMemory.cpp
│ │ │ ├── CVirtualMemory.h
│ │ │ ├── InterpretHandler.cpp
│ │ │ ├── InterpretHandler.h
│ │ │ ├── PEStructure.cpp
│ │ │ ├── PEStructure.h
│ │ │ ├── ReadMe.txt
│ │ │ ├── VCommand.cpp
│ │ │ ├── VCommand.h
│ │ │ ├── comm.cpp
│ │ │ ├── comm.h
│ │ │ ├── main.cpp
│ │ │ ├── stdafx.cpp
│ │ │ ├── stdafx.h
│ │ │ ├── vmdisasm.cpp
│ │ │ ├── vmdisasm.h
│ │ │ ├── vmserv.cpp
│ │ │ ├── 反汇编.vcproj
│ │ │ └── 反汇编.vcproj.BUG.bug.user
│ │ ├── 反汇编.sln
│ │ └── 反汇编.suo
│ └── vm.rar
├── chap18
│ ├── 18.1 文件补丁
│ │ ├── EnableMenu.exe
│ │ └── patch
│ │ ├── VC版
│ │ │ ├── bin
│ │ │ │ └── dialog.exe
│ │ │ └── src
│ │ │ ├── 11.ico
│ │ │ ├── dialog.dsp
│ │ │ ├── dialog.dsw
│ │ │ ├── dialog.rc
│ │ │ ├── patch.cpp
│ │ │ ├── peFile.c
│ │ │ └── resource.h
│ │ └── 汇编版
│ │ ├── bin
│ │ │ └── FilePatch.exe
│ │ └── src
│ │ ├── FilePatch.Asm
│ │ ├── mainicon.ico
│ │ └── rsrc.rc
│ ├── 18.2 内存补丁
│ │ ├── 18.2.1 跨进程内存存取机制
│ │ │ ├── bin
│ │ │ │ ├── Loader01.exe
│ │ │ │ └── TraceMe_asp.exe
│ │ │ └── src
│ │ │ ├── Loader01.dsp
│ │ │ ├── Loader01.dsw
│ │ │ └── main.cpp
│ │ ├── 18.2.2 Debug API机制
│ │ │ ├── bin
│ │ │ │ ├── Loader02.exe
│ │ │ │ └── TraceMe.exe
│ │ │ └── src
│ │ │ ├── Loader02.dsp
│ │ │ ├── Loader02.dsw
│ │ │ └── main.cpp
│ │ ├── 18.2.3 利用调试寄存器机制
│ │ │ ├── 1.利用Single Step机制
│ │ │ │ ├── bin
│ │ │ │ │ ├── Loader01.exe
│ │ │ │ │ └── TraceMe_asp.exe
│ │ │ │ └── src
│ │ │ │ ├── Loader01.dsp
│ │ │ │ ├── Loader01.dsw
│ │ │ │ └── main.cpp
│ │ │ └── 2.利用ntdll.ntcontinue作为跳板
│ │ │ ├── bin
│ │ │ │ ├── Loader01.exe
│ │ │ │ └── TraceMe_asp.exe
│ │ │ └── src
│ │ │ ├── Loader01.dsp
│ │ │ ├── Loader01.dsw
│ │ │ └── main.cpp
│ │ └── 18.2.4 DLL劫持技术
│ │ ├── doc
│ │ │ └── 补丁地址汇总.txt
│ │ ├── lpk
│ │ │ ├── bin
│ │ │ │ └── lpk.dll
│ │ │ └── src
│ │ │ ├── lpk.cpp
│ │ │ ├── lpk.def
│ │ │ ├── lpk.dsp
│ │ │ └── lpk.dsw
│ │ ├── readme.txt
│ │ ├── tools
│ │ │ ├── AheadLib 2.2.150 源代码.rar
│ │ │ └── AheadLib.rar
│ │ ├── ws2_32
│ │ │ ├── bin
│ │ │ │ └── ws2_32.dll
│ │ │ └── src
│ │ │ ├── ws2_32.cpp
│ │ │ ├── ws2_32.dsp
│ │ │ └── ws2_32.dsw
│ │ └── 原文件
│ │ ├── CrackMeNet.exe
│ │ ├── CrackMeNetS.exe
│ │ ├── CrackMeNet_tmd.rar
│ │ └── readme.txt
│ ├── 18.3 SMC补丁技术
│ │ ├── 18.3.1 单层SMC补丁技术
│ │ │ ├── SMC后的文件
│ │ │ │ └── SMC_EnableMenu.exe
│ │ │ └── 原文件
│ │ │ └── MenuUPX.exe
│ │ └── 18.3.2 多层SMC补丁技术
│ │ ├── SMC后的文件
│ │ │ └── SMC_ASPack.exe
│ │ └── 原文件
│ │ └── MenuASPack.exe
│ └── 18.4 补丁工具
│ ├── CodeFusion的使用
│ │ └── CodeFusion.chm
│ └── tools
│ ├── CodeFusion
│ │ └── CODEFS30.rar
│ └── dup
│ └── dup v2.17.rar
├── chap19
│ ├── 19.2 增加空间
│ │ ├── tools
│ │ │ └── CFF_Explorer
│ │ │ └── readme.txt
│ │ ├── 原文件
│ │ │ └── pediy
│ │ │ ├── bin
│ │ │ │ └── pediy.exe
│ │ │ └── src
│ │ │ ├── icon.ico
│ │ │ ├── pediy.c
│ │ │ ├── pediy.dsp
│ │ │ ├── pediy.dsw
│ │ │ ├── pediy.rc
│ │ │ └── resource.h
│ │ └── 增加区块
│ │ └── pediy.exe
│ ├── 19.3 获得函数的调用
│ │ ├── 19.3.1 增加输入函数
│ │ │ ├── 修改后
│ │ │ │ └── addapi.exe
│ │ │ └── 原文件
│ │ │ └── addapi.exe
│ │ └── 19.3.2 显式链接调用DLL
│ │ ├── 修改后
│ │ │ └── addapi.exe
│ │ └── 原文件
│ │ └── addapi.exe
│ ├── 19.4 代码的重定位
│ │ ├── 19.4.1 修复重定位表
│ │ │ ├── 修改后
│ │ │ │ ├── CodeRloc.dll
│ │ │ │ └── Main.exe
│ │ │ └── 原文件
│ │ │ ├── CodeRloc.dll
│ │ │ └── Main.exe
│ │ ├── 19.4.2 代码的自定位技术
│ │ │ ├── 修改后
│ │ │ │ ├── CodeRloc.dll
│ │ │ │ └── Main.exe
│ │ │ └── 原文件
│ │ │ ├── CodeRloc.dll
│ │ │ └── Main.exe
│ │ ├── CodeRloc.dll
│ │ └── Main.exe
│ ├── 19.5 增加输出函数
│ │ ├── 原文件
│ │ │ └── MenuLib.dll
│ │ └── 增加输出函数
│ │ └── MenuLib.dll
│ ├── 19.6 消息循环
│ │ └── pediy
│ │ ├── bin
│ │ │ └── pediy.exe
│ │ └── src
│ │ ├── icon.ico
│ │ ├── pediy.c
│ │ ├── pediy.dsp
│ │ ├── pediy.dsw
│ │ ├── pediy.rc
│ │ └── resource.h
│ ├── 19.7 修改WndProc扩充功能
│ │ ├── 原文件
│ │ │ └── pediy.exe
│ │ └── 修改后的
│ │ └── PEDIY.EXE
│ └── 19.8 增加接口
│ ├── 19.8.1 用DLL增加功能
│ │ ├── 用DLL增加功能
│ │ │ ├── bin
│ │ │ │ ├── MenuLib.dll
│ │ │ │ └── pediy.exe
│ │ │ └── src
│ │ │ ├── MenuLib.bbs
│ │ │ ├── MenuLib.cpp
│ │ │ ├── MenuLib.def
│ │ │ ├── MenuLib.dsp
│ │ │ ├── MenuLib.dsw
│ │ │ └── MenuLib.h
│ │ └── 原文件
│ │ └── pediy.exe
│ └── 19.8.2 扩展消息循环
│ ├── 原程序
│ │ └── pediy.exe
│ ├── 增加菜单
│ │ └── pediy.exe
│ └── 修改后的程序
│ ├── bin
│ │ ├── pediy.exe
│ │ └── peplug.dll
│ └── src
│ ├── peplug.cpp
│ ├── peplug.def
│ ├── peplug.dsp
│ ├── peplug.dsw
│ └── peplug.h
├── document
│ ├── API
│ │ └── WIN32.HLP
│ ├── Library
│ │ ├── WinBase.h
│ │ ├── WinNT.h
│ │ └── WinUser.h
│ └── opcode
│ ├── ASMHELP.hlp
│ └── FPHELP.HLP
├── music.mp3
├── 目录.txt
├── 附录A
│ └── bin
│ ├── fpu.exe
│ └── 浮点指令补充.pdf
├── 附录B
│ └── 编译独立汇编文件的步骤.txt
├── 《加密与解密》 第三版 随书光盘.ISO
├── 关于额外的电子文档.txt
└── 未经允许请勿转载本光盘.txt
693 directories, 1091 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论