某诗词类APP会员破解教程

查看 150|回复 11
作者:tlc123   
https://www.52pojie.cn/thread-1707463-1-1.html
最近再论坛看到了这篇帖子,没想到,我自己经常用的这个APP竟然没有加壳,也可以破解,所以就自己研究了一下,步骤跟帖子不太一样,不过也是有所参考,感谢~
1、所需工具
  • jadx-gui
  • 雷电模拟器
  • 小黄鸟
  • MT管理器
  • 主角:xi窗烛

    2、分析
    2.1、app信息


    image.png (229.41 KB, 下载次数: 0)
    下载附件
    2022-11-19 21:52 上传

    2.2、看一下需要会员的地方


    image.png (256.52 KB, 下载次数: 0)
    下载附件
    2022-11-19 21:53 上传



    image.png (263.26 KB, 下载次数: 0)
    下载附件
    2022-11-19 21:54 上传



    image.png (224.94 KB, 下载次数: 0)
    下载附件
    2022-11-19 21:55 上传



    image.png (540.29 KB, 下载次数: 0)
    下载附件
    2022-11-19 21:56 上传

    这些地方都与会员有关系
    2.3、关键字"未开通"
    咱们从这个未开通开始破解工作
    jadx打开apk,所有”未开通“


    image.png (64.71 KB, 下载次数: 0)
    下载附件
    2022-11-19 21:57 上传

    很明显,这个文本肯定是在代码里面赋值的,点击第二条搜索结果进去


    image.png (112.35 KB, 下载次数: 0)
    下载附件
    2022-11-19 21:59 上传

    看,我们发现了什么,终身会员、会员、高级会员
    我们来看截图的第2行和第9行,有两个关键的判断,点进去看看


    image.png (21.41 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:03 上传



    image.png (21.1 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:03 上传

    看得出来c方法里面又调用了b方法,并且是 || 或的关系,所以我们指关注b方法即可,至此,我们可以得出一些分析结果:
    [Asm] 纯文本查看 复制代码premiumMembership:高级会员
    lifetimeMembership:终身会员
    那么这个时候,就回想了,我们有没有可能通过URL代{过}{滤}理来直接修改自己账户的会员级别呢,不多说,上小黄鸟
    2.4、小黄鸟
    不多说怎么使用,咱们直接开始抓包吧


    image.png (39.75 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:08 上传

    紧接着启动APP


    image.png (592.61 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:09 上传

    请求很多,咱们直接搜索上一步怎们找到了关键字premiumMembership和lifetimeMembership


    image.png (184.65 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:10 上传

    感觉与User相关,主要是截图里面的url,我们点进去看看相应是什么
    [Asm] 纯文本查看 复制代码{
        "premiumMembership":false,
        "bindHuawei":false,
        "chatEnabled":true,
        "followersCount":1,
        "usernameOrDescSpam":false,
        "likedAuthorsCount":0,
        "listsPrivacy":0,
        "autoCopyToChild":false,
        "ipAddressForShow":null,
        "isAdmin":false,
        "male":true,
        "studyPlansPrivacy":0,
        "ban":false,
        "lifetimeMembership":false,
        "autoHide":false,
        "receivedLikesCount":0,
        "didFixLikedWorksCountIfNeeded3":true,
        "likedWorksCount":5,
        "publicListsCount":0,
        "xczNumberId":122017478,
        "username":"xxx",
        "bindWechat":true,
        "studyDays":0,
        "xczId":"111",
        "postsPrivacy":0,
        "membership":false,
        "attributesForAdmin":{
        },
    }
    我们很明显的发现:
    [Asm] 纯文本查看 复制代码 "premiumMembership":false,
    "lifetimeMembership":false,
    这个。。。是不是太容易了些呢
    那就简单了,我们把这些值都改成true,不就行了嘛,哈哈哈,so easy啊


    image.png (171.42 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:14 上传

    不多说,直接重写,然后重启APP
    呵呵呵,惊不惊喜,意不意外,还是没有变成会员

    [color=](本人纯小白,最后也没明白是什么原因,有大佬知道,可以指教一下~)



    2.5、MT管理器
    既然如此,咱们还是回到代码分析上来:
    咱们可以把方法b直接返回true是不是就可以了呢,说做就做
    不多说,直接用MT管理器的Dex编辑器++打开所有的dex文件


    image.png (198.24 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:19 上传

    然后直接搜索,咱们之前定位的关键字premiumMembership
    只有一条结果,我们直接定位到了b方法


    image.png (284.82 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:21 上传

    2264行,返回了p0,我们知道肯定是false,所以我们需要修改为true


    image.png (128.07 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:23 上传

    在2263行,直接给p0赋值为true
    然后咱们保存、重新打包,卸载之前的app,然后安装我们修改后的apk,启动app看看


    image.png (80.6 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:25 上传

    可以看到已经增加了vip的标识,我们再来看搜索是否还会有成为会员字段


    image.png (204.17 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:26 上传

    也没有了,完美啊~~~~
    我们看看是不是可以添加书了


    image.png (616 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:27 上传

    虽然显示已经是高级会员,但是点击的时候,还是会报错,所以。。。
    2.6、关键字"点击领取"


    image.png (597.56 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:21 上传

    看这一张图,我们以这些字作为切入点,搜索看看


    image.png (55.72 KB, 下载次数: 0)
    下载附件
    2022-11-19 22:28 上传

    是Android里面的布局文件activity_book_info.xml,点进去看看


    image.png (96.1 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:18 上传

    然后我们看下activity_book_info.xml这个文件谁使用了


    image.png (86.64 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:22 上传

    使用的类叫做BookIntroActivity,然后在这个类里面搜一下xml里面的id


    image.png (113.05 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:25 上传

    赋值给了w,因为是个按钮,肯定是有点击事件的,我们找下


    image.png (23.36 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:25 上传

    找到了,是e,继续跟


    image.png (31.2 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:26 上传

    又调用了y,继续


    image.png (36.1 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:26 上传

    又。。。又。。。调用了h,


    image.png (50.63 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:27 上传

    领取成功!!!!!感觉终于要成功了啊
    我们可以看到领取成功之后,主要是执行了x方法,所以我们是不是可以把那个if判断给去掉呢。
    来继续上MT


    image.png (495.89 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:31 上传

    直接把57行去掉,然后编译


    image.png (595.1 KB, 下载次数: 0)
    下载附件
    2022-11-20 08:37 上传

    3、结果
    成为了高级会员,并且可以领取书籍了
    4、扩展
    MT管理器,帮我们进行了编译、打包和签名,如果不依赖MT管理器,是否也可以呢,后续研究一下。


    下载次数, 下载附件

  • tlc123
    OP
      

    小伙子,封包暴露手机号了,我给你编辑掉了
    封包里还有一个membership,试试有没有效果
    NP管理器也可以进行编译、打包和签名
    手机端修改基本上就这两个管理器方便,电脑上静态分析的工具倒是蛮多的,不过如果说要直接修改smali还是没有那两个管理器好用
    dong19872008   


    Mailz 发表于 2022-11-21 14:13
    这个领取,真能领取到手吗?

    目前看,是可以
    dofu05jj7uu   

    用黄鸟抓包也是可以的,当你把Membership的值改成true之后只是会显示会员,但App还会验证会员结果,所以领取不了。解决办法是,继续抓包,你会看到一个关键字:result,把它的值false改成true就可以通过验证了!iOS版的同理!!
    a2604273891   

    大佬腻害,学习了!
    xytwlh   

    这个不错,值得学习一下
    Marcel007   

    看看怎么样
    vans4u1   

    这个可以试一下,经常用的
    lqp0083   

    详细,值得学习。。收藏了。
    hmzhushou   

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

    返回顶部