新手安卓逆向【9】-某料素材app-【免登录+永久VIP会员】破解教程
本帖最后由 让IP飘一会 于 2022-3-1 12:50 编辑运行环境:
WIN10
涉及工具:
MT管理器,逍遥模拟器
教程类型:
如 逆向限制,算法分析等
是否讲解思路和原理:
是
以下为图文内容:
0x1 前言
最近有个朋友在搞那种短视频之类的,需要挺多那种素材还有什么bgm、高清素材等,询问了我有无这种资源,找了下看到这个软件挺不错的{:5_121:},
资源还是很足的看着,但是需要会员啊,不然就得买了,即使是免费的也是广告多的离谱,每个广告30秒视频呢 或者至少看完需要下载视频的时长{:6_224:}
可是一直囊中羞涩的我{:6_224:},只能忍痛写下此篇图文了,啊哈哈哈{:6_198:}
0x2 目的
体验不同的逆向思路,逆向道路千千万,条条大道通会员啊{:6_223:},还有就是本次的 免登录+永久VIP会员逆向,提前说下,这次的例子比之前的会员逆向稍微难一丢丢{:6_197:}
不过问题不大,不是在学习就是在学习的路上啦{:6_208:}
0x3 分析【免登录】
1.先来搞定免登录吧,为啥呢?{:6_204:}因为往下的各种操作查看很多时候都是建立在已登录情况下,所以必须先搞 免登录,
步骤:打开MT管理器->安装包提取->MT2文件夹即可看到已提取好的apk->点击-可看到无壳{:6_208:},如下:
2.先过签【MT管理器 或 NP管理器】,看下有没有签名校验,这里是没有的,当然保险起见你也可以使用去签的软件包进行操作{:6_197:}
3.签名这步做了那就继续往下,开始免登录的分析,你会发现主页部分是都会登录的,然后包括即使是看免费的素材也要你登录,我特么。。。。{:6_221:}
4.可以看到每次都会出现提示 请先登录 那免登录逆向的搜索关键词就是【请先登录】,
步骤:点击软件包->查看->然后随便点一个 .dex 文件 用 【Dex编辑器++打开】-> 然后【全选】 -> 确定 -> 发起新搜索
-> 搜索内容为【请先登录】->搜索类型选【字符串】
5.上面搜索到四个结果,不过你会发现第一个跟其它三个都不一样,而且看类名就很清楚的知道这是课程分类片段{:6_210:},
那点这个进去看看【插一句,有些时候就是有理性的猜测啦,而且这里结果也不多,即使一个一个试那也很快的{:6_223:}】,如下:
6.逻辑分析:先看到底是哪一步判断跳到这里的,逆向往上走走就看到是73行处if-nez p1, :cond_2d上这个判断假如p1不等于零则跳到 :cond_2d
此时很多人想直接给它个 goto 让它直接跳过 下面这段提示 请先登录 的逻辑吧?{:6_197:}假如是这样那你就错了,为啥,因为你会看到跳过了之后的逻辑其实还是要使用上面 p1的值的,
假如你的p1没改, 那是不是下面大概率会出点问题{:6_201:}所以还要继续往上看,此时你会看到 p1 的值是 从上面的69行处方法【->f()Z 】赋值的
7.有了上一步的分析,那就知道我们要进到 f() 方法里面去修改返回值了,
步骤:选中69行处的 f() 方法,长按后,点 【跳转】 ,如下:
8.跳转了之后看到的逻辑就很轻车熟路啦{:6_215:},不多说,改返回值{:6_207:}
修改:287行处 const/4 v0, 0x0 修改成const/4 v0, 0x1【就是后面的0改成1即可】,然后修改好后 保存 退出 自动签名 ,
也可以重新安装修改好的包看是否免登录实现了{:6_197:},如下:
0x4 分析【永久VIP会员】
1.免登录 逆向完成了,这边就到主菜 永久VIP会员 的逆向了{:6_210:},
步骤:点击上面逆向了免登录的新软件包->查看->然后随便点一个 .dex 文件 用 【Dex编辑器++打开】-> 然后【全选】 -> 确定 -> 发起新搜索
-> 搜索内容为【永久会员】->搜索类型选【字符串】,看到有四个搜索结果,如下:
2.上面也是搜索到四个结果{:6_207:},但是一看就排除掉第一个和最后一个结果了,那先看第二个,点进去,看到方法 【payVipPackage】好像是 支付的包啥的看着不太像,
那退出后再看第三个,可以看到大量的逻辑判断等,而且类名还是 带 pro相比第二个 这个比较像了吧 {:6_214:},如下:
3.经过上面的简单等分析判断第二个为永久会员的逻辑所在,所以就此重点分析
逻辑分析:跟上面的免登录一样,看是那个判断致使跳转到此的,往上可以看出 在371行处有个判断 if-eqz p1, :cond_130 判就是判断 p1的值是否为零,
如果为零的话,则跳转到 :cond_30即就不会提示您是永久会员这段了,所以不能让它跳过去,问题又来了,这里不能直接注释掉判断 或 修改判断为 if-nez, 原理同上!
因为下面依旧会使用上面的p1值进行往下判断,而 p1 的值又是从 方法 ->e()Z获取的所以,同理,进到 e()方法里面修改返回值即可
4.上面的分析很清楚了,所以,在367行处 选中 方法 e() 长按后点 【跳转】,可以看到逻辑当中最后返回v1, 所以改返回值大法就来了{:6_206:}
修改:直接在276行处,加多一行代码 const/4 v1,0x1 如下:
5.注意:还没改完,上面看到有个获取会员的方法 getvip() 【一般按照经验 获取状态类的还是改掉比较稳妥,多改一个也不多,我一般都改{:6_225:}】,
选中 getvip() 方法 长按跳转进去,这里直接改返回值即可,因为假如你再选中该方法下的 vip() 方法跳转过去 发现啥也没有了,但是会看到字符 意思是vip等级{:6_223:}
修改:在getvip() 方法下,282行处,添加一行代码 const/4 v0,0x1
6.上面修改完后就可以 保存、退出、自动签名,然后卸载重装了{:6_197:}整个逆向也到此结束了,废话不多说,看效果:
总结:逆向很是成功 免登录 + 永久VIP会员 ,难度的话也不是说特别难,适中吧,对比之前的帖子来说,是难一点,因为带了点坑{:6_205:}
不过也看到了,搜索结果都是几个而已,假如真判断不出是哪个,可以一个一个试下【不要懒!!!】{:5_185:},看完了教程有没有点感觉?{:5_188:}感兴趣的话赶快去试试吧{:6_209:}
感谢楼主 感谢楼主 谢谢分享 谢谢分享 谢谢分享 大佬无敌 感谢楼主 感谢楼主 谢谢分享