逆向工程(Reverse Engineering)
逆向工程是分析翻墙软件的重要方法,通过对二进制文件或可执行文件的反编译和调试,可以获取代码结构、网络请求、加密算法等信息。
-
工具:
- IDA Pro:一款强大的二进制分析工具,支持多种架构,适合逆向工程。
- Ghidra:由Google开发的开源逆向工具,功能强大,支持多种平台。
- Radare2:一个基于插件的反调试框架,支持多种分析任务。
- OllyDbg:用于分析32位Windows可执行文件的逆向工具。
-
方法:
- 分析二进制文件,提取字符串、函数名、变量名等信息。
- 模拟运行,观察网络请求、加密算法等。
- 密钥分析:通过找到加密密钥或算法,解密数据。
网络协议分析
翻墙软件通常使用代理服务器或VPN协议传输流量,分析这些协议可以帮助理解其工作机制。
-
工具:
- Wireshark:一个强大的网络协议分析工具,支持捕获和解析网络流量。
- Cinderella:用于分析DNS、HTTP、HTTPS等协议的工具。
- mitmproxy:一个开源的HTTP/HTTPS代理,支持插件和脚本。
- Fiddler:用于分析Web流量的工具,支持自动化测试。
-
方法:
- 捕获翻墙软件的网络流量,分析请求和响应。
- 解析HTTP/HTTPS、TLS/SSL等协议,查看加密数据。
- 找到隐藏的CRLF标头、压缩选项等。
行为分析
通过监控翻墙软件的运行行为,分析其对系统资源的使用、与系统的交互等。
-
工具:
- Process Monitor:监控文件、注册表、进程等系统活动。
- Sysinternals:提供多种工具,如Procmon、Syskey等,用于分析系统行为。
- Sandboxie:将程序隔离在沙盒环境中,观察其行为。
-
方法:
- 监控进程创建、文件读写、网络连接等。
- 分析启动脚本或配置文件,获取运行参数。
- 找到与系统库或环境的依赖项。
协议分析
翻墙软件通常会修改或伪装网络请求,分析其协议可以揭示其隐藏的功能或漏洞。
-
工具:
- Nmap:用于网络扫描和协议分析,支持多种协议。
- Ncat:一个强大的网络通信工具,适合模拟和分析网络流量。
- Nsock:一个测试网络协议的库,支持多种协议。
- Python/JavaScript:通过自定义脚本分析协议。
-
方法:
- 模拟客户端或服务器,发送特定协议请求。
- 解析协议包,提取命令、参数等信息。
- 找到协议中的错误或不一致点。
加密算法分析
翻墙软件通常使用加密算法保护数据,分析加密算法可以帮助破解其加密机制。
-
工具:
- Crypto++:一个跨平台加密库,支持多种加密算法。
- OpenSSL:一个开源的加密库,支持RSA、AES、MD5等算法。
- 加密工具:如Hashcat、FGM(Fast Graph Mapper)用于破解密码。
-
方法:
- 提取加密数据,分析加密算法和密钥。
- 尝试暴力破解、字典攻击等方法。
- 研究算法的弱点,如弱密钥生成、固定偏移量等。
Web应用分析
如果翻墙软件包含Web界面或API,分析其Web应用的漏洞和安全性可以帮助理解其防护机制。
-
工具:
- Burp Suite:一个Web安全测试工具,支持自动化扫描和漏洞挖掘。
- ZAP:一个开源的Web应用安全测试工具。
- OWASP ZAP:专注于Web应用安全测试。
-
方法:
- 执行自动化测试,找出SQL注入、XSS等漏洞。
- 分析滥用脚本,观察其对服务器的影响。
- 研究登录机制和令牌验证方式。
移动应用分析
对于移动端翻墙软件,分析其在iOS或Android系统中的行为和数据传输。
-
工具:
- Xiaomi Mi Vacuum:用于分析移动应用的网络流量。
- Charles:一个代理工具,适合分析移动应用的网络请求。
- NethTool:用于分析网络流量和协议。
-
方法:
- 捕获移动应用的网络流量,分析请求和响应。
- 解析移动应用的APK或IPA文件,提取代码和资源。
- 分析数据存储和加密方式。
PAC配置器
翻墙软件通常使用PAC(Proxy Auto-Config)文件或DNS过滤来控制网络流量,分析这些配置文件可以理解其规则。
-
工具:
- PAC配置器:如Shadowsocks的PAC配置工具。
- DNS分析工具:如dig、nslookup等。
-
方法:
- 解析PAC文件,提取代理服务器和端口信息。
- 分析DNS请求,观察翻墙软件的域名过滤规则。
其他工具
- Clash:一个智能的PAC代理,支持多种协议。
- Surge:一个轻量级的PAC代理,适合快速测试。
- OneSwitch:一个多功能的翻墙工具,支持多种协议。
- PAC配置器:如手动配置代理,分析其规则。









