首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >逆向工程Web应用

逆向工程Web应用
EN

Stack Overflow用户
提问于 2013-04-05 14:03:22
回答 1查看 5.5K关注 0票数 5

阿罗哈,斯塔克溢流。

我经常遇到web应用程序,并自问:“我怎么能编写一个脚本/应用程序来与它接口呢?”(纯属学术性质,并非滥发电邮的目的!)

例如,网站Omegle;人们已经编写了Python脚本来与网站进行接口,并在不打开浏览器的情况下运行聊天.多么?我承认WEB编程并不是我最擅长的领域,但我真的很想知道如何从这些应用程序中提取正在使用的协议,并利用这些知识创建自定义应用程序并对服务进行修补。

因此,基本上,我如何才能弄清楚一个网络应用程序的内部运作(即。imeetzu.com,这样我就可以从我的桌面上编写与它接口的代码了?

提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2013-04-05 14:11:52

首先,您需要一组工具:

  • 带有调试窗口的浏览器(Chrome对此特别有用)。这将特别允许您访问浏览器直接发出的网络调用(有一个警告即将到来),并查看:
代码语言:javascript
复制
- their content
- their parameters
- their target

  • 一个网络数据包嗅探器,用来追踪任何通过闪存(或WebSockets)的东西。我很喜欢Ethereal (现在被称为Wireshark),尽管如果你在美国,你可能会用它违反法律(取决于你对它的使用)。这将允许您查看进入和离开网络接口的每个TCP帧。

你所需要的知识:

  • 识别和隔离网络流的能力。这是通过实践得出的。
  • 知识的语言,应用程序,你试图反向-工程师是写的。如果JavaScript不是你的茶,避免使用JS的东西。
  • 数学和密码学。数据很可能不时被加密/混淆/加密。要注意和小心它。

在这种情况下,看起来您可能需要处理Flash。有额外的资源来帮助这一点,尽管所有这些资源都是非免费的。有一个特别好的Flash反编译器叫做SoThink SWF反编译器,它允许您将SWF转换为FLA或AS源的集合。

这就是工具的全部。这个方法很简单--看看什么数据输入/输出,并通过消除什么是什么来找出。如果它是加密的,您将需要IVs和示例来希望破解它(或者只是解压缩代码并找到密钥/握手是如何完成的)。这是一个非常非常广泛的领域,我甚至没有触及冰山的一角

(我怎么知道这一切的?我是eAthena项目的贡献者,该项目反向设计了一个游戏协议)

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15835987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档