加密算法

  1. 拖 ida
  2. findcrypt
  3. 常量
  4. 动调 传参
  5. 动调 返回结果

base64

分组 移位 查表

RC4

  1. 0-255 s 盒初始化
  2. 0-255 t 盒初始化
  3. 密钥流明文一次异或

DES

  1. s 盒
  2. p 盒
  3. 16 轮
  4. cbc 引入 iv 向量先与明文异或
  5. 填充方式:0/pkcs7

AES

  1. s 盒
  2. 逆 s 盒
  3. 9 轮

RSA

ECC

ida 动调

F2 下断点

设置 debugger

F7 步入

F8 步过

F9 运行

od

F7 步入

F8 步过

F9 运行

F4 运行到选定位置

shift + 7/8/9 忽略异常

crtl+A 分析代码(代码被当成数据的情况)

脱壳(压缩壳)

出口标志法

大跳转 跨段 例如upx

popad 61

jmp E9/E8

SFX 定位法

od 专用

异常全部打勾

选项 调试设置 sfx 块方式跟踪真正入口处

不怎么好用

内存映像法

两次断点法

  1. .rsrc 下断 F9
  2. 代码段下断 F9

esp 定律法

F8 esp 改变

数据窗口跟随 esp

四个字节断点==>硬件访问==>字

脱壳(保护壳)

最后一次异常法