二进制程序运行在一台 linux 机器上,非安卓。作为 client,与公网上的 server 通信,我的目的是想通过解密看下原始的包的格式是怎样的。我对操作系统完全具有控制权限,也知道公网上的 server 的域名,请问下怎么做呢?
1
virusdefender 2020-01-07 18:41:06 +08:00
如果是标准 https 的话,安装一下 ca 配置代理就可以了
|
2
virusdefender 2020-01-07 18:42:44 +08:00
如果二进制程序有双向认证、证书绑定可能得做一下库劫持或者逆向后 patch
|
3
xenme 2020-01-07 18:44:53 +08:00 via iPhone
直接逆向找到程序发送前和接收解密后的数据就行了。
|
4
huangya OP @virusdefender
操作系统没有图形化界面,这个二进制程序也属于 command line 程序,不知这个如何设置代理,是直接使用 iptables 这样把 443 端口发到装有类似 Fiddler 这样的 PC 上吗? |
5
virusdefender 2020-01-07 18:59:34 +08:00 1
设置代理的话,可以试试 http_proxy 和 https_proxy (部分程序是大写)环境变量,实在不行就 proxychains
|
6
mazyi 2020-01-07 19:26:31 +08:00
关键词,Linux 任何程序 代理
|
7
libook 2020-01-08 09:39:43 +08:00 1
一楼是正解,如果不明白的话建议研究一下 HTTPS 加密的原理。
大体方案就是: 1. Client 上安装抓包软件附带的抓包用 HTTPS 证书,这个证书优先级很高,以至于 Client 的任何 HTTPS 通信都会优先使用这个证书。 2. Client 上配置抓包软件的代理地址,让 Client 发任何网路请求都优先发到抓包软件上。 3. 抓包,就能直接看到数据包解密后的内容了。 |