![](/img/trans.png)
[英]Using Wireshark on a rooted android device with ssl decryption
[英]Sniffing SSL packets using Wireshark
我想對解碼器進行逆向工程。 所以我使用一個 android 應用程序來控制解碼器,我想嗅探應用程序向解碼器發出的數據包流。
數據包通過 SSL 發送,因此它們都是加密的。 除了 Wireshark,我嘗試使用 mitmproxy 和 mitmdump 但沒有成功。
知道我不可能從我的解碼器中獲取私鑰,我正在尋找一種使用代理(基本上是中間人)的方法,這將使我能夠生成新證書,以便我可以在Wireshark(而不是我的解碼器之一)來解密我的數據包。
有什么辦法可以做到這一點嗎? 我會很感激一些幫助。
如果您想避免更改證書(這不適用於許多應用程序),您可以嘗試將代碼注入 Android 應用程序以嗅探和轉儲 SSL 流量。 看看https://github.com/5alt/ssl_logger(5alt的 fork 適用於 Android)。 請注意,您需要 root 才能執行此操作。
這是通過在 OpenSSL 中掛鈎函數來實現的,以便可以在加密之前/解密之后轉儲原始流量。
您必須安裝 Frida Android 服務器: https : //www.frida.re/docs/android/
frida-server
CPU 架構的frida-server
getprop ro.product.cpu.abi
。/data/local/tmp
(以 root 身份),使其可執行( chmod 755
)。/data/local/tmp/frida-server
。frida-tools
使用pip install --user frida-tools
。 (必須是 Python2,而不是 Python3!)frida-ps -U
adb forward tcp:27042 tcp:27042; adb forward tcp:27043 tcp:27043
adb forward tcp:27042 tcp:27042; adb forward tcp:27043 tcp:27043
ssl_logger
python ssl_logger.py -pcap log.pcap -remote com.android.package.name
。 (注意-remote
在自述文件中沒有解釋,但它是必要的!)
-verbose
以查看實時流量輸出。log.pcap
,您可以在 Wireshark 中對其進行分析。ssl_logger.py
並插入一行包含var addresses, SSL_get_fd, SSL_get_session, SSL_SESSION_get_id, getpeername, getsockname;
在function initializeGlobals
。在 Android 上使用 Frida 的教程: https : //11x256.github.io/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.