Aloha,Stackoverflow。
我经常遇到网络应用程序,并对自己感到疑惑,“我怎么能编写一个与之相关的脚本/应用程序?” (纯粹是学术性的,不是出于垃圾邮件的目的!)。
例如,网站上的;人们已经编写了Python脚本来与网站连接并在不打开浏览器的情况下运行聊天......怎么样?我承认WEB编程不是我最强的领域,但我真的想知道如何从这些应用程序中提取正在使用的协议,并利用这些知识创建自定义应用程序并修改服务。
所以基本上,我如何弄清楚网络应用程序的内部工作方式(即imeetzu.com,以便我可以编写代码来从我的桌面与它进行交互?
提前谢谢!
答案 0 :(得分:9)
您需要一套工具来开始:
带有调试窗口的浏览器(Chrome特别适用于此)。这将允许您特别访问您的浏览器直接所做的网络呼叫(有一个警告),并看到:
网络数据包嗅探器,用于追踪通过Flash(或WebSockets)的任何内容。我非常喜欢Ethereal(现在称为Wireshark),但如果你在美国,你可能会违反法律(取决于你使用它)。这将允许您查看进入和离开网络接口的每个TCP帧。
您需要的知识:
在这种特殊情况下,您可能需要处理Flash。虽然所有这些都是非免费的,但还有其他资源可以帮助解决这个问题。有一个名为SoThink SWF decompiler的特别好的Flash反编译器,它允许您将SWF转换为FLA或AS源集合。
这就是工具的全部内容。这种方法很简单 - 查看数据是进/出的,并通过消除什么来计算出来。如果它是加密的,你需要IV和样本来希望破坏它(或者只是反编译代码并找到密钥/握手的完成方式)。这是一个非常非常广泛的领域,我甚至没有触及冰山一角 - 随意询问更多信息。
(我怎么知道这一切?我是eAthena项目的贡献者,该项目反向设计游戏协议)