如何逆向工程应用程序的协议?

4
我正在使用一款不太流行的应用程序(即即时通讯工具),我想找到它使用的协议。我知道它使用TCP/IP,但我想找出它向服务器发送和接收的所有命令。
我尝试了几个嗅探器,但它们无法通过名称识别此应用程序,而且我得到的只是一些无关的十六进制代码。
有什么办法可以找到应用程序的规格说明吗?
(请注意:我已经在谷歌上搜索过了,没有找到任何信息,作者也没有提供文档。)
2个回答

5

通常有两种方法可以倒推出这样的东西:

您可以尝试使用像IDA PRO这样的工具对其进行反汇编。

您可以尝试使用像Wireshark这样的工具来嗅探其流量。

无论哪种方式,都很可能需要大量的工作。


4

Wireshark可以告诉你协议类型。不能在传输过程中以明文方式读取消息是一件好事,不是吗?


2
无法在传输线上读取明文不是什么好事,原因有两点:1)这表明协议是安全的,但实际上只是“安全性靠隐蔽性”——这意味着它很难被阅读,而不是安全的。2)使用类似wireshark这样的工具调试纯文本协议更容易。然而,二进制协议暗示着它在数据包表示方面可能更有效,这非常有用。 - Dafydd Rees
1
你怎么知道这是“安全通过混淆”,它可能是像https一样的东西? - NoBugs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接