某圈app算法分析

Posted web安全工具库

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了某圈app算法分析相关的知识,希望对你有一定的参考价值。

​特别声明:最近网络安全类公众号可能随时失联,为防止失联,希望大家有时间加一下微信号:ivu123ivu,或者关注公众号小号:逆向有你   

一、抓包分析,经过多次对比,发现nonce和codeSign是会一直变的,access_token会随着device变化而变化

nonce=13d71ff8f23c431b9e298775adf626b5&codeSign=92C5C2C1F8217528EB1C0BF6D6BCC4D5&timestamp=1630298971591&data=%7B%22params%22%3A%7B%22password%22%3A%22a123456%22%2C%22username%22%3A%2215836353612%22%7D%7D&version=2.2.1&product_version=220&platform=HD1900&network=1&device=010067028741939&access_token=bba6034ed706e86bbb7e8e5049353a79&screen_width=1080&screen_height=1920&bbsnopic=0&system=2&system_version=25&theme=4

二、将该app拖进jeb进行分析

1、搜索"nonce",静态分析,v0来自UUID这个类,可以简单理解为取随机数

2、搜搜"codeSign",来自v.a函数,v0就是上面nonce值,v2是时间戳,跟进v.a()函数,在该函数头部下断,动态调试,v2={"params":

{"password":"a123456","username":"15865478952"}}

3、v.a()函数是重载函数,参数不同,调用的方法不同,所以需要每个a函数都下断

4、af.b()函数,就是从资源里面找一个id为0x7F08010E对应的值,后面已经给我们提示就是94ac5cfb69e87bd7

5、fa.a()函数,就是将数据反转一下,就是将前面找到两个数据合并起来再反转一下,结果是844e9653bd05f0687db78e96bfc5ca49

6、r.a()函数,就是将得到的数据MD5一下

7、arg4就是nonce,arg6就是时间戳,arg5就是上面找到的v2,和起来的结果就是:

{"params":{"password":"a123456","username":"15836353612"}}13d71ff8f23c431b9e298775adf626b5844e9653bd05f0687db78e96bfc5ca491630298971591,然后md5一下,再转到大写

8、access_token就是r.a()函数,就是将device的值md5一下

禁止非法,后果自负

欢迎关注公众号:逆向有你

欢迎关注视频号:之乎者也吧

以上是关于某圈app算法分析的主要内容,如果未能解决你的问题,请参考以下文章

App性能:TraceView分析法

C语言100个经典算法源码片段

javascript 用于在节点#nodejs #javascript内设置react app的代码片段

以下代码片段的算法复杂度

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

片段(Java) | 机试题+算法思路+考点+代码解析 2023