记一次资金盘APPsign算法破解

查看 53|回复 3
作者:全拼   
经常写青龙脚本薅羊毛免不了要与sign算法打交道,随手记录一个昨天刚拿下的资金盘羊毛APP




QQ图片20230603175633.png (157.64 KB, 下载次数: 0)
下载附件
2023-6-3 17:57 上传

基本都是这一种套路,找个噱头让你投资点钱,然后每天返点多少,前期进去大概能撸点钱,后期进去裤衩子都不剩,典型的传炸药桶游戏
先抓包


QQ图片20230603175941.png (32.77 KB, 下载次数: 0)
下载附件
2023-6-3 17:59 上传

带sign值,np打开发现没有加壳,先拖进”杰尼龟“里瞅瞅长啥样


QQ图片20230603180358.png (69.59 KB, 下载次数: 0)
下载附件
2023-6-3 18:06 上传

打开AndroidManifest.xml发现经典的uniapp特征,那么分析java层就没什么意义了,解压压缩包
打开assets目录,一般uniapp的核心js文件就在assets目录下面,寻找app-service.js



QQ图片20230603180955.png (47.71 KB, 下载次数: 0)
下载附件
2023-6-3 18:10 上传

在assets某个子目录下找到了service.js文件,notepad++打开,里面是一团压缩过后的js文件,找个在线解压网站解压


QQ图片20230603181155.png (85.03 KB, 下载次数: 0)
下载附件
2023-6-3 18:12 上传

没有被混淆,直接查找关键字"sign"


QQ图片20230603181619.png (42.82 KB, 下载次数: 0)
下载附件
2023-6-3 18:16 上传

e.header["sign"] = l.default.getSign(Object.assign(e.data, e.params))这一串代码,简单分析一下,data一般指的是form表单数据,params一般是指类似于url关键字之类的东西,比如 ?wd=xxxx那种
发现调用getSign函数,继续追踪,查找getsSign()


QQ图片20230603182103.png (29.89 KB, 下载次数: 0)
下载附件
2023-6-3 18:21 上传

先分析一下n.default.APP_SECRET是一个常量,t是一个字典型数据,a对字典里的key进行排序,后面就是一堆乱七八糟的字符串操作了,基本扣下来改改就行了


捕获.PNG (98.77 KB, 下载次数: 0)
下载附件
2023-6-3 18:30 上传

输入一个时间戳字典进去(考虑到人家还没倒,我还想撸点钱,e的字符串常量我就没放上去,XD)


结果.PNG (13.86 KB, 下载次数: 0)
下载附件
2023-6-3 18:42 上传

至此大概就明白了这串东西在干什么
重新用回第一张截图的抓包数据,带入,然后进行md5加密



QQ图片20230603183527.png (24.83 KB, 下载次数: 0)
下载附件
2023-6-3 18:44 上传

和第一张截图的sign完美契合
拿到sign过后那肯定要薅羊毛啊,写青龙脚本,本人不太喜欢用js写青龙脚本,感觉不是很优雅,习惯用python写,一开始想用python复写那段加密算法,写了一段,卧槽感觉好烦。。。。。突然想起来神奇的python好像有个叫做PyExecJS的库
最终写成了一大拖一小的模式


QQ图片20230603184036.png (95.98 KB, 下载次数: 0)
下载附件
2023-6-3 18:44 上传

app和我写的脚本就不放论坛上面了,里面含有我自己薅羊毛群的信息,容易被版主正己大佬乱棍打死,就分析到这里了,溜溜球了

下载次数, 下载附件

oxding   

怎么薅羊毛?
lockxxx   

楼主厉害了。
hanchao2021   

感谢楼主分享!!!!!
您需要登录后才可以回帖 登录 | 立即注册

返回顶部