如何从Android模拟器逆向工程kik的服务器API?

我在kik messenger中进行了一次群聊,已经有超过50个成员。 我需要自动化一些事情,比如基于订婚的声誉点,以及踢非活跃的成员,这些成员在XXX天内不发布任何内容。 我已经查看了API参考 ,似乎机器人可以在组中进行交互的唯一方法是使用@mentions。 这意味着我们无法将它们添加到组中,也无法监视组对话。 我也遇到过这个问题,但它似乎没有帮助。

当前的kik bot API提供了非常有限的权限,并且不允许监控组消息,因此我一直在考虑对服务器API进行逆向工程并创建一个充当机器人并与此API交互的普通帐户。 我已经设法通过提琴手重新路由交通,但我不知道从那里去哪里。

所以问题是:对于在Android模拟器上运行的应用程序的API进行逆向工程的工作流程是什么

提前致谢

这是检查网络流量以及如何调试与API交互的一般说明。 仅将它们用于您允许的设备/ API。 请注意可能的法律影响并事先寻求法律建议。 例如,在您的国家/地区进行逆向工程可能是违法的。

准备工作:

  1. 使用Fiddler , mitmproxy等工具在计算机上设置代理。
  2. 配置代理以拦截和解密SSL连接。 在此过程中,您必须生成SSL根证书( Fiddler 说明和mitmproxy说明 )并将其安装在您的手机/模拟器上,以使其接受代理生成的任何证书。
  3. 在手机的网络设置中配置代理。

如果应用程序/设备不支持代理,请在您的计算机上启动ad-hoc WiFi网络,将设备连接到该网络并使用Wireshark ( 如何解密SSL的说明 )来捕获整个流量。

好像你已经这样做了。 现在是时候执行您喜欢的任何操作来检查/拦截您的手机并观察/记录它们触发的请求。 这看起来像这样:

  1. 发信息。
  2. 识别触发的请求并将其与其他应用程序引起的噪声分开,例如查看请求URL或目标IP。
  3. 保存触发的请求以供将来参考,并查看可能有趣的详细信息,如用户ID,会话令牌,URL和请求参数。 如果您不确定修复了什么以及variables是什么,请多次重复操作(即发送消息)并将请求相互比较。

如果您认为您发现了所需内容,请尝试使用curl等工具重新创建会话,并检查结果是否符合您的期望。 如果没有,请继续收集数据并重试。 编写一些自动化测试,以便能够validation将来的行为。