xx15圈子登录逆向分析,被JEB坑惨了!

查看 129|回复 10
作者:loveqq520   
本文章仅用于信息安全逆向技术分享学习,请勿用于其他用途。包括但不爬虫,点赞等违法行为,用途违法与作者无关,并立即删除本文章,如往下看代表默认同意该声明。
样本:MDcxNeWciA==
工具:fiddler、jeb、jadx、vscode
这一次是被JEB的反编译坑惨了,往下看你就知道了。。。。
一、初窥门径
1、老规矩,配置好fiddler和手机进行抓包,发现codeSign、nonce、device、third-app-token参数被加密了


image-20240407222502099.png (398.68 KB, 下载次数: 0)
下载附件
2024-4-8 00:27 上传

2、再抓一次包,发现codeSign、nonce参数是变化的,而device、third-app-token参数是不变的,这里直觉device是Base64加密,验证一下果然是


image-20240407222624430.png (357.81 KB, 下载次数: 0)
下载附件
2024-4-8 00:27 上传



image-20240407222905994.png (57.7 KB, 下载次数: 0)
下载附件
2024-4-8 00:27 上传

二、崭露头角
1、二话不说先把它扔进jeb里反编译,搜索codeSign找到一处,那应该就是这里了,点进去反编译成java看一下加密过程


image-20240407223201172.png (108.98 KB, 下载次数: 0)
下载附件
2024-4-8 00:27 上传

2、开始兴奋了,看看k0.c函数传入了哪些参数,传入三个参数,分别是 "d79658cf304d4dfe8ba1ba52e05eb2cb",  s2,  v


image-20240407223318731.png (67.06 KB, 下载次数: 0)
下载附件
2024-4-8 00:27 上传

3、其中第一参数是一个固定字符串,第二个参数是传输的参数S2,第三个参数是当前时间戳,我们跟踪一下函数,查看交叉引用看看传入的是什么


image-20240407223601728.png (67.93 KB, 下载次数: 0)
下载附件
2024-4-8 00:27 上传

4、原来S2是post请求的请求体的{"encode":1,"password":"YTEyMzQ1Njc4\n","black_box":"","username":"15823658965"}也就是这个,感觉胜利在望


image-20240407224000011.png (69.93 KB, 下载次数: 0)
下载附件
2024-4-8 00:27 上传

三、渐入佳境
1、进入k0.c做了什么加密操作,就是把顺序排了一下,然后经过了c.c函数


image-20240407232137707.png (50.3 KB, 下载次数: 0)
下载附件
2024-4-8 00:27 上传

2、c.c函数就是将上述排好序的字符串进行md5加密,我们去验证一下


image-20240407232706237.png (45.1 KB, 下载次数: 0)
下载附件
2024-4-8 00:29 上传



image-20240407232732318.png (41.07 KB, 下载次数: 0)
下载附件
2024-4-8 00:29 上传

3、哎,为什么会不一致,这里我费了很长时间思考为什么,最后发现是JEB反编译出了错,是我太相信它了,把它扔进jadx试试


image-20240407233050751.png (35.4 KB, 下载次数: 0)
下载附件
2024-4-8 00:29 上传

四、略有小成
1、可以看到并不是jeb编译的那样,这里的固定字符串其实是随机的UUID,而这正是nonce的值


image-20240407233653154.png (66.52 KB, 下载次数: 0)
下载附件
2024-4-8 00:29 上传

2、而k0.c里的那个llunllun字符串其实是个g()函数,看看g做了什么


image-20240407234017552.png (36.3 KB, 下载次数: 0)
下载附件
2024-4-8 00:29 上传

3、g函数获取了a0和b0的值将它们拼接在一起然后倒序,我们去看看a0和b0是什么


image-20240407234244031.png (43.48 KB, 下载次数: 0)
下载附件
2024-4-8 00:29 上传

4、这里的a0和b0分别是str10和str11参数,我们继续跟踪看传入了什么


image-20240407234519140.png (42.17 KB, 下载次数: 0)
下载附件
2024-4-8 00:29 上传

5、它俩分别是R资源里的forum_key和upload_key,去jeb搜索它俩的值,原来是94ac5cfb69e87bd7和860f50db3569e448


image-20240407234749865.png (17.23 KB, 下载次数: 0)
下载附件
2024-4-8 00:29 上传



image-20240407235056143.png (148.29 KB, 下载次数: 0)
下载附件
2024-4-8 00:33 上传



image-20240407235234366.png (136.54 KB, 下载次数: 0)
下载附件
2024-4-8 00:33 上传

五、出类拔萃
1、再次去验证拼接好的数据{"encode":1,"password":"YTEyMzQ1Njc4\n","black_box":"","username":"15823658965"}b98abe7390414b18a727ab7256c98249844e9653bd05f0687db78e96bfc5ca491712499367890去MD5加密后发现与codeSign一致,最后用自吐验证思路正确


image-20240408001753271.png (54 KB, 下载次数: 0)
下载附件
2024-4-8 00:34 上传



image-20240407235710058.png (84.47 KB, 下载次数: 0)
下载附件
2024-4-8 00:34 上传

下载次数, 下载附件

JIeJaitt   

JEB 会尝试自动解析“看起来不会变的常量”功能,可以关掉:
"
Lty20000423   

大佬,像那种网页上登陆才能查看的会员文档,或者是那种要关注公众号验证才能查看的文档,这种一般用什么思路破解?
Quincy379   

一脸震撼的点下了赞
mengxz2023   

注意头发,那么晚还不睡!
axdududu   

苹果的程序没有搞过,先学习下
141847901   

看看有什么内容
ScriptKid777   

666学习一下技术
a522850   

暂时还达不到的水平哈哈哈哈,学习学习
Vincent2018   

学习一下
您需要登录后才可以回帖 登录 | 立即注册

返回顶部