loveqq520 发表于 2024-4-8 00:35

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


本文章仅用于信息安全逆向技术分享学习,请勿用于其他用途。包括但不爬虫,点赞等违法行为,用途违法与作者无关,并立即删除本文章,如往下看代表默认同意该声明。

样本:MDcxNeWciA==

工具:fiddler、jeb、jadx、vscode

这一次是被JEB的反编译坑惨了,往下看你就知道了。。。。

一、初窥门径

1、老规矩,配置好fiddler和手机进行抓包,发现codeSign、nonce、device、third-app-token参数被加密了


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




二、崭露头角

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


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


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


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



三、渐入佳境

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


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



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



四、略有小成

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


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


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


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


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




五、出类拔萃

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


爱飞的猫 发表于 2024-4-8 01:12

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

右键选 Decompile with options 菜单进行反编译吧,会弹出一个选项对话框,反模拟器那个下位框,选择 disable

https://www.52pojie.cn/forum.php?mod=redirect&goto=findpost&ptid=1893147&pid=49549101

JIeJaitt 发表于 2024-4-9 19:27

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

Lty20000423 发表于 2024-4-8 07:35

一脸震撼的点下了赞

Quincy379 发表于 2024-4-8 08:48

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

mengxz2023 发表于 2024-4-8 09:39

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

axdududu 发表于 2024-4-8 10:34

看看有什么内容

141847901 发表于 2024-4-8 10:55

666学习一下技术

ScriptKid777 发表于 2024-4-8 11:09

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

a522850 发表于 2024-4-8 11:52

学习一下

Vincent2018 发表于 2024-4-8 12:05

感谢分享 可以避坑
页: [1] 2 3 4
查看完整版本: xx15圈子登录逆向分析,被JEB坑惨了!