今天小编给大家分享一下github设备激活的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
设备注册
<br>查阅资料,设备ID注册主要是有device_id和install_id(iid)。注册的URL:[http://log.******.com/service/2/device_register/](http://log.******.com/service/2/device_register/)
。<br>先根据device_id和install_id来做搜索。某音没有做加固,用Jadx直接打开,同时搜索device_id和install_id可以发现主要代码区段在com.**.android.common.applog.AppLog
包中<br>cdn.nlark.com/yuque/0/2020/png/97322/1609167730788-236be7c6-ff07-4091-93d6-56ca77011438.png"><br><br>
设备激活
<br>不过上述项目的作者在README中也提到,通过该方式获取到的device_id和iid去访问接口,会得到空的响应。原作者猜测是有相关的激活请求,测试下来确实如此。所以本文的重点是分享一种欺骗打点日志,实现设备ID重激活的思路。<br>回到之前最开始看到的AppLog类,里边有很多记录用户行为并上传打点日志的情况,而这些日志里边会包含device_id和iid。于是猜测到会不会是这些打点日志影响了device_id的有效性。如果我们把生成的device_id注入到真实的手机App中,那么打开App会按我们注入的device_id来打点,是不是就能洗白了?<br>查阅资料发现,如果将AppLog类中还有一个控制打点日志body是否需要加密的方法,找到名字对应是getLogEncryptSwitch,先将其改为false。之后发现抓包确实都显示明文了。<br><br><br>
<br>可以发现body中header字段带上了设备信息,追溯下来其实就是mheader这个字段,所以首先要把device_id和iid注入到这个mheader中。<br>注入完成之后抓包发现,URL中的device_id和iid还没有变,不过这里边的参数修改也比较容易,找到统一加请求参数的类com.**.android.d.e
将device_id和iid扔进去即可。<br>最后看一下device_id的存储位置。回到AppLog的getServerDeviceId和getInstallId方法,可以看到他们其实最终是从SharedPreferences取出的数据。所以除了要注入获取device_id和iid的相关方法,删除SharedPreferences(/data/data/<package_name>/shared_prefs
)来清除原有的device_id和iid会更加保险。<br>做完上述的所有操作后,重新打开App抓包可以发现,所有的打点日志都用到了我们新注入的device_id,并且device_register接口返回了新install_id,经测试可以在所有接口上使用。<br>
以上就是“github设备激活的方法”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程之家行业资讯频道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。