工具:MT管理器(没钱开会员) app 儿歌点点3.1.12 app(某安下的)
1. 开始上mt,居然没加固,是瞧不起我吗?我才不会承认我不会脱壳。。。
Screenshot_20210407-095954.png (150.08 KB, 下载次数: 1)
下载附件
居然不加固
2021-4-7 11:05 上传
2. 选择【dex编辑器++】 打开所有 【dex】
Screenshot_20210407-100316.png (112.88 KB, 下载次数: 0)
下载附件
dex编辑器++ 走起
2021-4-7 11:05 上传
3. 选【搜索】-查找内容为 【isVip】 搜索类型为 【方法名】(别问怎么知道的,问就是分析了n天的反编译源码)
Screenshot_20210407-101946.png (87.64 KB, 下载次数: 0)
下载附件
关键词 isVip
2021-4-7 11:05 上传
Screenshot_20210407-101953.png (159.67 KB, 下载次数: 0)
下载附件
2021-4-7 11:06 上传
4. 修改第一个函数。将 【User】下面的 【isVip】方法打开
Screenshot_20210407-102108.png (223.66 KB, 下载次数: 0)
下载附件
User 的isVip
2021-4-7 11:07 上传
一猜就知道这个肯定时判断是否是会员的方法,【第764行】将 【v0】 赋值为 【0x0】 然后 【第767行】 直接返回了【 v0】的值,不就是返回 【false】 ,说我不是【会员】,这哪行,必须改啊,把【const/4 v0,0x0】改成 【const/4 v0,0x1】,不就成了true吗,也就是说我是【会员】咯
Screenshot_20210407-102804.png (225.07 KB, 下载次数: 0)
下载附件
ADUtill 的 isVip
2021-4-7 11:07 上传
同理把【ADUtill】 里面的【第662行】的【const/4 v0,0x0】改成 【const/4 v0,0x1】,图片里面我没改,大家自己改,别忘了。。。不然搞不好不要找我
Screenshot_20210407-102854.png (224.27 KB, 下载次数: 0)
下载附件
ADUtill 的 isVip1
2021-4-7 11:17 上传
5. 选【搜索】-查找内容为 【getIs_vip】 搜索类型为 【方法名】
Screenshot_20210407-103208.png (146.88 KB, 下载次数: 0)
下载附件
关键词 getIs_vip
2021-4-7 11:08 上传
Screenshot_20210407-103644.png (241.36 KB, 下载次数: 0)
下载附件
整数型返回值修改
2021-4-7 11:09 上传
分析一下代码啊,就是从 某个地方读取一个【is_vip】的整数【integer】,然后赋值给 【v0】,最后返回 【v0】。那就好整了,直接把【v0】赋值为【1】不就完了所以就直接在【601行】添加一行【const/4 v0,0x1】,完事。
同理,改其他的几个【getIs_vip】方法,需要注意的是【User】里面的【getIs_vip】,它的返回值是字符串(String)
Screenshot_20210407-111044.png (236.04 KB, 下载次数: 0)
下载附件
字符串型返回值修改
2021-4-7 11:10 上传
这个家伙的返回值是一个 String 类型,所以要把前面的赋值语句改改,改成【const-string v0,“1”】(注意,这里必须是英文双引号)
6. 这样广告去掉了,但是,没法切换高清视频,让我很不爽,所以继续研究jadx反编译的源码,终于在某个地方找到了端倪
image-20210407104040024.png (86.92 KB, 下载次数: 0)
下载附件
jadx 关键函数D
2021-4-7 11:11 上传
这个函数【m30803D】的最后居然还调用了一个函数【m30805E】,跳转看看【m30805E】干嘛的
image-20210407104211848.png (41.76 KB, 下载次数: 0)
下载附件
jadx 关键函数E
2021-4-7 11:11 上传
这里面居然有个词语【video_definition_high】,看看它的汉字是啥 高清这不就是我在界面看到的【高清】按钮么?这个就是我苦苦寻找的切换视频的按钮啊。(这里实际上是先搜索【高清】然后得到【video_definition_high】,然后查找【video_definition_high】才找打的【m30805E】,最后才确定的【m30803D】)再回头仔细看【m30803D】,发现它给 【str】赋了一个初始值【0】,后面就开始比较 【str】是不是等于【1】,如果不是就进入下面的判断,如果是,那么就调用【m30805E】。那么我只需要把【str】的初始值改成【1】,不久直接调用【m30805E】么。,接下来上mt,找到这个函数,因为函数名是【D】(这里jadx反混淆了,实际上函数名是【D】,第1445行说明的),所以我们不好直接搜索【D】,那么我就搜索函数中的字符串【videoDefintion】试试
Screenshot_20210407-105147.png (108.99 KB, 下载次数: 0)
下载附件
videoDefintion
2021-4-7 11:12 上传
得到如下三个结果,都进去看看
Screenshot_20210407-112200.png (102.32 KB, 下载次数: 0)
下载附件
videoDefintion 搜索结果
2021-4-7 11:22 上传
第一个点进去看
Screenshot_20210407-105244.png (270.17 KB, 下载次数: 0)
下载附件
第一个函数不对
2021-4-7 11:12 上传
好像函数【m30803D】里面没有【rewardVideo】,那么下一个
Screenshot_20210407-105323.png (265.81 KB, 下载次数: 0)
下载附件
第二个函数没问题
2021-4-7 11:12 上传
发现里面有【video.hd.click】,那么应该就是它了,向上翻看看函数名
Screenshot_20210407-105447.png (243.04 KB, 下载次数: 0)
下载附件
确认函数名
2021-4-7 11:13 上传
函数名就是【D】那就是它了,正好【第1967行】就有一句【const-string v0, "0"】。
哟好家伙,这不就是反编译源码里面的【str】的初始值吗?改它!改成【const-string v0, "1"】。
Screenshot_20210407-105653.png (244.56 KB, 下载次数: 0)
下载附件
修改初始值
2021-4-7 11:13 上传
好了,保存,返回,保存并退出,等mt编译完成,选确定,然后签名,安装,打开看看
Screenshot_20210407-105949.png (609.1 KB, 下载次数: 1)
下载附件
演示
2021-4-7 11:13 上传
好嘛,没广告了,也可以看高清视频了,舒服了。
最后,暂时不提供成品,如果有需要请自己动手修改,有问题留下评论,我看到了会一一回复的。
另,如有不对,请见谅,小白初次破解,大神勿喷
看到蛮多人没有找到原版素材,我在这里补一下
https://wwe.lanzouj.com/ivjsznr1ete