【问题标题】:Protocol reverse engineering / Reproduce HTTP dialogue协议逆向工程/重现 HTTP 对话
【发布时间】:2010-01-27 00:07:00
【问题描述】:

为了项目的特定需求,我必须将我的一些代码与其他闭源代码进行交互。 我的想法是了解原始应用程序如何通信,然后模仿行为。我已经完成了第一步,即使用Wireshark 分析一些HTTP 交换(使用POST 请求和XML 回复完成)。 在交换结束时,服务器会产生一个我需要记录的输出。

现在,我的问题是:用我的输入复制客户端行为的最简单方法是什么?即涉及较少编码的那个? 基本上我不需要太多的“编程”能力,只需要解析服务器响应中的一些变量并在后续请求中重用它们的能力。

我已经使用命令行 PHP 脚本完成了类似的复制客户端行为的工作,但它相当乏味,而且代码难以阅读,因此难以维护。

欢迎提出任何建议!! 谢谢

【问题讨论】:

  • 我不确定细节,所以我将其发布为评论。我假设协议是基于 http 的 xml。您可以在任何支持 COM 的语言中使用 XMLHttpRequest 对象,包括 HTML 中的 Javascript。

标签: http reverse-engineering protocols wireshark


【解决方案1】:

如果您不需要可扩展的解决方案,并且您的应用只需要处理特定的请求/响应,您可以预先创建多个请求作为 XML blob,然后更新其中的任何变量、发送它们并执行基本的 XML 解析通过响应获取 XML 元素的值。从本质上讲,您的应用将充当您使用 Wireshark 录制的对话的中继器,并进行调整以更改几个值。

【讨论】:

  • 感谢您的回答!!这就是我最终所做的,尽管我希望找到一种涉及更少编码或至少更易于维护的方法(即代码本身和交换的数据结构之间更大的分离)。还是谢谢!!!
  • @Franci Penov 这是一个类似的问题:stackoverflow.com/questions/15679883/…
【解决方案2】:

这两个适用于 Firefox:

Tamper Data

fiddler

【讨论】:

  • -1 Fiddler 绝对是一场灾难。我永远不会在我的电脑上安装它。
  • 为什么没有人提到 chrome rest console
猜你喜欢
  • 2012-03-09
  • 2010-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-28
  • 1970-01-01
  • 2018-05-16
相关资源
最近更新 更多