如何从Android模拟器中反向设计kik的服务器API?

mot*_*oes 12 android reverse-engineering kik

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

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

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

提前致谢

aha*_*aha 5

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

准备工作:

  1. 使用Fiddler,mitmproxy等工具在计算机上设置代理.
  2. 配置代理以拦截和解密SSL连接.在这个过程中,你必须生成一个SSL根证书(用于提琴手指令对mitmproxy指令),为了您的电话/仿真器上安装它来使他们接受由代理产生的任何证书.
  3. 在手机的网络设置中配置代理.

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

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

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

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