开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 26899|回复: 11
收起左侧

[Android逆向] [原创]某交友Http,TCP全套协议分析

[复制链接]
结帖率:79% (26/33)
发表于 2020-6-15 14:50:38 | 显示全部楼层 |阅读模式   贵州省毕节市
我有个朋友呀 (不是我我才18)  30多岁还是单身  于是勒他就去市面上的一些相亲交友网站到处相亲 然后勒上面骗子还多  各种机器人聊天引流的   我都看不下去了  
于是我们这篇就来分析分析一下市面上的一些相亲机器人的工作原理   机器人归根揭底无非就是协议   协议嘛一般大型app都是会有很多加密的  各种soollvm混淆啥的 各种风控   不过都问题不大  这里勒我们先来个简单的平台分析一下他的协议算法
某佳缘  拿到app首先抓包看看加密字段信息
标红线的地方都是加密的密密麻麻的   
我们接着来看看他是否加壳   加壳咱就脱问题不大
比较幸运 这个没壳
我们首先从java层开始分析一波   打开我们的jadx-gui直接进行反编译
然后我们搜索他的url 因为他请求这个网站信息 肯定会在本地进行构造  我们直接搜索/sign/signoninfo.php?


发现这里是个类  我们可以看看d.b是什么
这里就是我们url的构造   跟我们抓包出来的是一样的   那我们就往上层看一下调用


发现有3处调用位置  我们一一点过去看
((b) ((b) ((b) ((b) ((b) ((b) ((b) ((b) ((b) ((b) this.b.c(c.f4555a)).a("登录请求")).a("reallogin", "1")).a("logmod", "1")).a("userinfotypes", com.jiayuan.c.a.a())).a("name", this.c)).a("secucode", str)).a("channel", e.b())).a("logtype", "thirdparty")).a("ylcode", this.d)).x().a(new o(this.c)
最终我们确定了这里就是在构造这些参数
首先我们来看userinfotypes  字段是如何来的  

就是在com.jiayuan.c.a这类里面  点过去发现都是写死的jSONArray的一个数组


解码之后一对比果然如此

紧接着第二个参数secucode

这里的str得往上面看


接着往下层看来到了getNewCode 方法  这里下面加载了一个"jyn" so库文件  我们打开ida将这个so拖进去反编译


发现采用的java_的静态注册  传入了两个str 的值


直接切换伪代码  将第一个参数改为JNIEnv *  然后这些参数就正常识别出来了  不过我们发现这里应该是有4个参数的 但是这里只有3个   你问我为什么有4个 不是2个吗   我只能推荐你去学习一下ndk开发方便的知识了    第一个是env  第二个是jobject(java有静态关键字修饰的就为jclass)  第三个 第四个就是我们java层传进来的
这里识别有问题 我们大概看一下这里的意思

ARM汇编我就不细说了  这里就是取一下我们传入的str支付串的长度 类型转换一下  然后md5加密一下  他传入的信息是什么勒  我们可以借助frida hook 来一波

两个参数分别是一个固定的字段(这个字段根据版本的不同而不同是写死的)加上我们的手机号
“3BEF981061D37872D103E21D7BE8ED03”+”1888888888”  然后md5
Frida脚本我就不贴上来了  就一个简单的javahook   当然你hookso的第三四的参数也行  返回值就是我们抓包出来的内容
第三个字段就是我们的password  密码字段  其实想这种的一眼就看出来了  密码我设置的是123456  一般的校验加密无非就是md5 sha系列 加密出来都是一样的  这里的密码就用的是sha1加密的我们的密码
其他的traceid  android_id  deviceid  mac都是我们的设备信息 取随机的就行
然后我们就可以用代码实现登陆了

这里的滑动我们可以采用本地识别的方式   这里我以后有空教你们怎么编写本地识别库吧  这里我就不说了

这样就成功登陆了  然后我们来看看一些人聊天是怎么处理的  我们接着用fiddler抓聊天的数据包  我们发现没有包  这里我们就采用鲨鱼或者是其他的抓包工具   一般聊天都是采用的tcp的通讯



00 00 00 bc 7b 22 75 73  65 72 22 3a 22 39 38 34  
33 31 39 34 34 22 2c 22  6e 61 6d 65 6f 72 75 69  
64 22 3a 22 38 36 26 31  38 36 36 30 31 38 30 30  
31 35 22 2c 22 68 61 73  68 22 3a 22 39 32 32 63  
30 38 66 64 63 61 33 39  61 65 63 64 36 36 39 64  
61 30 34 66 32 32 39 62  33 61 34 65 33 35 31 64  
62 35 38 37 22 2c 22 6d  69 64 22 3a 22 61 6e 64  
72 6f 69 64 5f 63 63 31  37 33 38 62 30 39 35 63  
35 61 64 34 63 22 2c 22  63 69 64 22 3a 22 31 33  
22 2c 22 76 65 72 22 3a  22 38 2e 30 22 2c 22 63  
6c 69 65 6e 74 69 64 22  3a 22 31 33 22 2c 22 63  
68 61 6e 6e 65 6c 69 64  22 3a 22 30 32 35 22 7d  
这是进入聊天室的包
39 38 34 33 31 39 34 34    这里就是我们登陆成功返回的用户的id   98431944
38 36 26 31 38 36 36 30 31 38 30 30 31 35   这里是我们的设备信息  86&18660180015
39 32 32 63 61 65 63 64 36 36 39 64 61 30 34 66 32 32 39 62 30 38 66 64 63 61 33 39 61 65 63 64 36 36 39 64 61 30 34 66 32 32 39 62 33 61 34 65 33 35 31 64 62 35 38 37   这个就是我们登陆成功返回的 hash这个字段
922caecd669da04f229b08fdca39aecd669da04f229b3a4e351db587
然后就是聊天发消息的包
00 00 00 ab 7b 22 63 6d  64 22 3a 31 32 32 2c 22
74 6f 22 3a 31 37 30 33  38 36 39 36 2c 22 63 68
61 74 6d 73 67 22 3a 22  31 31 31 31 31 31 31 22
2c 22 69 6e 73 6b 22 3a  31 35 39 31 39 34 37 35
30 39 33 39 38 2c 22 70  61 79 22 3a 30 2c 22 6d
73 67 74 79 70 65 22 3a  30 2c 22 73 72 63 22 3a
33 2c 22 65 78 74 22 3a  22 7b 5c 22 62 75 62 62
6c 65 5f 6c 69 6e 6b 5c  22 3a 5c 22 5c 22 2c 5c
22 62 75 62 62 6c 65 5f  6e 6f 5c 22 3a 5c 22 72
50 47 55 6a 5a 44 39 38  5c 5c 5c 2f 4d 55 47 79
67 68 68 6e 41 75 78 77  3d 3d 5c 22 7d 22 7d
解包我们一眼就可以看到31 31 31 31 31 31 31  这些其实就是我们要发送的信息我们这里发送的是111111
以及31 37 30 33 38 36 39 36   我们要私聊的用户id   17038696
31 39 34 37 35 30 39 33 39 38 以及我们自己用户的id   1947509398
这些数据包解密出来了我们就可以编写对应的机器人了   好了这章就讲这么多  最后说一句 相亲有风险交友需谨慎





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

点评

原来是看雪先发的~   湖南省娄底市  发表于 2020-6-27 10:16
看雪转载>?   湖南省娄底市  发表于 2020-6-27 10:14
有什么技术不懂得商业合作的 或者在你逆向的路上有什么疑问的都可以联系我   贵州省毕节市  发表于 2020-6-15 14:54

签到天数: 21 天

发表于 2021-1-21 08:51:26 | 显示全部楼层   四川省成都市
回复 支持 反对

使用道具 举报

发表于 2020-12-17 06:31:22 | 显示全部楼层   福建省泉州市
像这种交友APP你能写协yi吗
回复 支持 反对

使用道具 举报

发表于 2020-12-15 22:26:49 | 显示全部楼层   四川省达州市
666666学习了
回复 支持 反对

使用道具 举报

发表于 2020-9-19 04:02:57 | 显示全部楼层   湖北省武汉市
非常6666666666
回复 支持 反对

使用道具 举报

结帖率:25% (7/28)
发表于 2020-9-9 21:32:14 | 显示全部楼层   湖北省咸宁市
虽然看不懂,还是感觉挺厉害的!
回复 支持 反对

使用道具 举报

结帖率:83% (35/42)
发表于 2020-8-30 17:22:13 | 显示全部楼层   河南省商丘市
大佬TCP这是明文啊,有没有加密后怎么处理的教程
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-6-28 22:54:45 | 显示全部楼层   河南省驻马店市
大概了解了  不错不错
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2020-6-26 20:39:09 | 显示全部楼层   广东省东莞市
这完全是看不懂啊啊,哈哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表