吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3961|回复: 26
收起左侧

[Android 原创] x米社区App逆向 登陆、点赞、发帖、评论

  [复制链接]
飞龙Test 发表于 2022-7-31 12:51
本帖最后由 飞龙Test 于 2022-8-3 19:56 编辑

前段时间申请x米的开发者权限,奈何积分不够。就分析了一下app做了一个辅助签到,点赞,发帖以及登陆的算法。助力打卡申请开发者必备

点赞Sign值

  1. 搜索抓包参数postId,可以找到其中一处可疑的代码段。
    1.png
  2. 该方法将postId以及timestamp作为Map传入Utils.b,跳转过来。此处第一行代码为:.keySet().stream().sorted(),为map的流遍历。但是在这之间又经过了一次v1的方法。
    2.png
  3. 分析其中的v1方法是把map继续传入Utils.a。可以看出来这里是把url参数和值进行的拼接。
    3.png
    3-2.png
  4. 经过分析Utils.av1方法,这里的目的就已经很明了了。可以猜测是把Map遍历拼接为:postId=xxxxxx×tamp=xxxxxxxxxxxxx
    拼接好的字符串再传入p。这里的p方法在看后可以确定为该方法为md5加密方法。
    clipboard.png
    clipboard (1).png
  5. 那么回到Utils.b,当前字符串p的值就为:md5加密后的:postId=xxxxxx×tamp=xxxxxxxxxxxxx
  6. 继续执行最后一步,把加密后的md5值继续加盐再经历过一次md5。Md5(p+j)为最终结果。,其中j为字符串常量
    6.png
  7. 最终的还原结果就是:Md5(Md5(postId=xxxxxx×tamp=xxxxxxxxxxxxx)+067f0q5wds4)

评论算法(评论为web协议不做过多分析)

  1. md5(md5("postId=34386247&text=不错×tamp=1644058059166")+"067f0q5wds4")
  2. 抓包:
    clipboard (2).png
  3. 推断的加密:
    postId=35276168&text=不错啊×tamp=1644055938036
    加密后:7af254a6c79e31fd6da44dd6201f1e6a
    加盐再加密后:bb78c98386db74e63de01ec74fc067de
  4. requestId算法:截取0-5的md5(`"互"`)值。(注意:这里的汉字带有双引号),参考web网页端的Js算法。
    clipboard (1).png
    clipboard.png

发帖子算法

  1. clipboard.png

  2. clipboard (1).png

  3. clipboard (2).png

  4. Aes加密key不为固定参数 需指定生成
  5. clipboard (3).png

  6. 参数原样输出str: GET&/community/user/notice/unReadCnt&android_version=O0vUHya686StpYFwJuYbHw==&app_name=VSXf5cNA+U8VqUmgmNxraTFw5o26TbHw3DGS7nrBfxc=&build_date=AH8NTkZR7sfRnV6jrVkwdg==&country=mAv2t6qRI1TpGa8urJyrvw==&dark_mode=D+tZs7jEk6YMrlE97RMhhA==&device=fwbuEU4d8i+fyAhvqIsA3Q==&device_oaid=8G+/izVOLh3FSpIdvl3ofaC2ocgw/Bhha0HHQrMRzWk=&ip=KquK1F69/WDmYPcYDrp8Mw==&language=OXymerkAOAyZtomM/VkISw==&miui_big_version=xx/Y1NsGy8kJuIWclluAMg==&miui_version=FTe/sYPY+1/Iy9besMmVow==&model=sDanBfW03RlGrADLH/Hxxg==&product=fwbuEU4d8i+fyAhvqIsA3Q==&ref=Cg2re42ywQwZKuKvkK5JG22pUVmrZu4zIVDhqLRxCWU=&requestId=TA34tYoAMp9b2ZTEfyDxkKqM9Wj/RwR5JsA93Ee9nIE=&requestTime=UAIqI8ye+tGlNmcBXkw4IQ==&restrict_imei=jxDKBPPrwdY+e77KiaPZfw==&sim_operator=i16BObUTRO2D9lAn87kLBA==&version=CjJpQDbSvMkBTfYPymX2FA==&vip-gzip=ovqdQ6UadcFHfRO8JXMNlw==&8ZryYeE4SweIz1S7QunpuA==
    结果原样输出: YwvtnFYf/k7u9gQHknk15U4X7MM= 

    clipboard (4).png

  7. 经过观察发现,Aes的key值是随机变化的。猜测为服务器生成。所以这里先hook一下Aes的解密函数,观察返回值。
    clipboard (5).png
  8. 经过重新登陆,发现Aes的key值返回在这里。
    clipboard (6).png
  9. 那么接下来就需要再逆向登陆算法了。
  10. 登录算法见下文,登陆完成之后发现帖子中也有一个sign算法。搜索announce 感觉似曾相识,跟点赞中的几乎一样。
    clipboard (7).png
  11. 上文已经分析过p为md5加密,这里直接Hook即可。
    clipboard (8).png

登陆算法

  1. 根据关键参数尝试搜索登陆代码段,搜索serviceLoginAuth2找到常量URL_LOGIN_AUTH2_HTTPS。继续搜索可以找到这个叫做loginByPassword的方法。确实是通过密码登录,所以是这个代码段应该是没错了。代码jadx转换失败并不清晰,所以直接看smali即可。!
    微信截图_20220731124816.png
  2. 在smali代码中可以看到该类中有多处loginByPassword经过整理逻辑,这些方法最终指向了我们找到的这个无法可看java伪代码的方法。
    clipboard (1).png
    以上都是一些iget获取对象的值没有实质性的代码。再继续往下可以找到invoke-static {},....getPassWordEncryptor()这句代码字面理解就肯定是获取密码的加密值了。其中v2是获取到的password的值,v2经过Md5转大写之后又传入了getEncryptedValue
    clipboard (2).png
    跳转进入之后发现没什么实际作用,那么猜测这里只是做了一个Md5转大写。
    clipboard (3).png
  3. 经过Hash值对应的密码Md5转大写确实是验证通过!
    clipboard (4).png
    clipboard (5).png
  4. 这个sign值其实是从服务端返回
    clipboard (6).png
  5. 到这里这个第一个登录就完成了

1.png
4.png

免费评分

参与人数 8威望 +1 吾爱币 +28 热心值 +8 收起 理由
qtfreet00 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ddddhm + 1 + 1 我很赞同!
木羊羽 + 3 + 1 我很赞同!
g167349852l + 1 谢谢@Thanks!
weiekko + 2 + 1 我很赞同!
夜步城 + 1 + 1 谢谢@Thanks!
tigerxiao + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
LewChich + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

A021 发表于 2022-8-14 23:55
haishe 发表于 2022-8-14 13:38
老哥,你用的就旧版的是哪个版本,试了好几个,安装时直接闪退,恳请前辈指教!

前辈算不上,还是好久以前做的了,后来做好了就把东西给卸载了,没什么要探索的了,所以现在也没那个版本安装包了,当时还是在豌豆荚的版本中一个一个试的
haishe 发表于 2022-8-14 13:38
A021 发表于 2022-8-11 16:19
一直在用,旧版接口不需要sign,新接口sign也搞到了,但还是用的旧接口

老哥,你用的就旧版的是哪个版本,试了好几个,安装时直接闪退,恳请前辈指教!
aonima 发表于 2022-8-2 12:41
Topstone 发表于 2022-8-2 13:13
好好好好好好好
kkzdq 发表于 2022-8-2 13:52
有成品吗
Neveseno7 发表于 2022-8-2 14:17
那个,手机号不打码吗
banaaaaaaana 发表于 2022-8-2 14:55
这个太实用了。看个大概,收藏看
wk10575wk 发表于 2022-8-2 15:46
分析的不错,思路也清晰可以学习
金佳慧 发表于 2022-8-2 16:51
也太厉害了吧,学习了
shenshidenb 发表于 2022-8-2 18:22
感谢支持
rekoe 发表于 2022-8-2 21:15
感谢分享。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 13:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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