如何从 android 模拟器对 kik 的服务器 API 进行逆向工程?

How do I reverse engineer kik's server API from an android emulator?

我在 kik messenger that has reached over 50 members. I need to automate some things like reputation points based on engagement and also kicking inactive members that don't post anything for XXX days. I've looked at the API reference and it seems that the only way bots can be interacted with in groups is using @mentions. which means we can't add them to groups and they can't monitor the group conversations. I've also come across this 中有一个群聊,但它似乎没有帮助。

当前的 kik bot API 提供的权限非常有限,并且不允许监控群组消息,所以我一直在考虑 reverse engineering the server API and creating a normal account that acts as a bot and interacts with this API. I've managed to reroute the traffic through fiddler,但我不确定从那里去哪里。

所以问题是:在 android 模拟器

上对 运行 应用的 API 进行逆向工程的工作流程是什么

提前致谢

这是检查网络流量以及如何调试与 API 交互的一般说明。仅将它们用于 devices/APIs 您被允许的情况。了解可能的法律影响并事先寻求法律建议。例如,在您所在的国家/地区对某些东西进行逆向工程可能是非法的。

准备:

  1. 使用 Fiddler, mitmproxy.
  2. 等工具在计算机上设置代理
  3. 配置您的代理以拦截和解密 SSL 连接。在此过程中,您必须生成一个 SSL 根证书 (instructions for Fiddler and instructions for mitmproxy) 并将其安装在您的 phone/emulator 上,以便它们接受代理生成的任何证书。
  4. 在 phone 的网络设置中配置代理。

如果 app/device 不支持代理,请在您的计算机上启动 ad-hoc WiFi 网络,将设备连接到它并使用 Wireshark (instructions how to decrypt SSL) 捕获整个流量。

看来你已经这样做了。现在是时候对 phone 和 watch/record 它们触发的请求执行您喜欢 inspect/intercept 的任何操作了。这可能看起来像这样:

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

如果您认为自己找到了要查找的内容,请尝试使用 curl 等工具重新创建会话,并检查结果是否符合您的预期。如果不是,请继续收集数据并重试。编写一些自动化测试,以便将来能够验证行为。