加密与逆向技术

逆向与逆向工程

逆向并非起源于软件

软件逆向

开源VS闭源

  • 开源
    • Telegram、ss、ssr、病毒框架等等
  • 闭源
    • 僵木蠕、某些FQ软件等
  • 软件逆向角度
    • java-Like
    • C

逆向基础

计算机硬件

  • CPU寄存器/内存
  • CPU指令集32位与64位
    • Intel
    • Arm

语言

  • 汇编语言
  • C/C++
  • java、C#
  • Swift/Objective-C
  • Go
  • PHP

壳保护技术与对抗

防止程序代码被分析

  • UPX(开源,主要功能是压缩程序大小)、ASPack(抗调试)、Armadillo -> 抗调试技术

  • VMProtect、Themide(TMD)、EXECryptor vs 杀软 -> 虚拟机保护技术,简单代码膨胀,增加分析难度,容易被杀毒软件判定为毒

  • FLEXLM -> 注册保护

  • 加密狗

  • 脱壳

  • 带壳调试

    • 比低

密码学

  • 编码
  • 散列算法
  • 对称算法
  • 非对称算法

操作系统API/库

  • 常用
  • OpenSSL、Crypto(Python)等

网络协议

  • TCP/IP、DNS、HTTP、SSL/TLS、SMB
  • 私有协议

工具库

  • 静态分析
    • Win32dasm、 IDApro、Ghodra、dnSpy、jadx、Hopper(IOS系统)
  • 动态调试
    • SoftIce、OllyDdg、Immunity Debugger、x64Dbg、Windbg、GDB
  • 其他工具
    • ExeinfoPe、PEiD、010Editor、WinHex、PETools
    • Process Explorer、Process Montor
    • Wireshark、Commview、科来网络分析系统

书籍

  • 加密与解密、逆向工程核心原理、C++反汇编与逆向分析技术揭秘、IDA Pro权威指南
  • Android软件安全与逆向分析
  • IOS应用逆向工程
  • 恶意代码分析与实战
  • 漏洞战争

站点

  • 看雪学院
  • 52Pojie
  • Youtube
  • Twitter
  • Blog

协议分析

通信协议

通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。

漏洞挖掘

重点关注信息是如何一步步生成

私有VS非私有

密码学

  • XOR
  • 编码
    • Base64
      • Cknife
      • REST API
    • Base58
      • 比特币
  • 散列 -> 不论数据长度多少,结果长度固定
    • MD5、SHA1
    • SHA256、SHA512、RIPEMD-160(比特币)、SM3(国密算法)、HAVAL系列
    • CRC32
  • 对称加密算法
    • 流加密算法
      • RC4 -> 缺陷(弱密钥)
      • ChaCha20
    • 块加密算法
      • DES -> 缺陷(位数太短)
      • AES、Blowfish、3-DES、RC5/RC6、TEA、Camellia、Serpent、SM4(国密算法)
      • 模式
        • ECB、CBC、OFB、CFB

    • 非对称加密算法
      • DH、DSA、RSA、EIGamal
      • ECDH、ECDSA
        • X25519
      • SM2

协议伪装

实战

posted @ 2022-05-07 17:38  甜腻  阅读(178)  评论(0编辑  收藏  举报