记一次,某小电影软件广告去除,并解锁一些限制。
本帖最后由 h88782481 于 2023-6-26 22:44 编辑最近正在学安卓开发,但是经常搞机的我对逆向也非常感兴趣,所以就双管齐下了。
正好正己大佬发布了一系列课程,我最近学完了,手很痒痒,手头刚好有一款软件,我就拿来练手了,废话不多说,下面开始实战。
首先打开软件
如图所示,开屏之后有5秒的强制广告,不能跳过(至于为什么广告没加载,我只能说懂的都懂)
如果有看过正己大佬的教程,想必各位应该想到很多种去除方式
这里我最先想到的是activity,拿出mt管理器
这里有一个activity记录,打开看一下广告到主页面的activity是如何跳转的
可以看到,广告的activity和主页面不是一个activity。
最简单是思路就是直接启动主页的activity。
下面打开mt管理器,打开清单xml
打开之后查找android.intent.action.MAIN
如图所示,将com.comeback.data.ui.main.LauncherActivity替换成刚刚mt记录的com.comeback.data.ui.main.MainActivity
保存后退出并签名app,然后安装看看开屏广告是否消失了
修改后发现打开app会黑屏,app没有任何反应。
这时候我想到了是不是有签名校验的原因,所以直接用了mt的去除签名校验的功能。
但是发现去除签名校验后依旧黑屏,然后我就试了试先去除签名校验,之后在修改app,发现成功了。
如果有大佬知道为啥修改后去除签名校验依旧无法恢复,欢迎指点指点我。
接下来继续打开软件,发现弹出非法破解弹窗
看到这个,人都麻了,又得继续分析了。
接下来,我还是优先考虑activity的分析。
继续用mt来分析。
然后发现,app从mainactivity跳转到了updateactivity
下面直接用mt反编译dex文件,看看mainactivity和updateactivity的逻辑
打开之后发现字符串已经被混淆了
接下来我选择用jeb继续分析,因为jeb是pc工具,比手机好操作,而且jeb的反混淆非常好用
用jeb反编译之前的两个类
发现mainactivity里并没有找到调用updateactivity的方法
接下来打开updateactivity,发现updateactivity确实是非法破解的界面
看到这里,我首先想到查看一下是谁调用了updateactivity类里的e方法
结果发现在baseactivity里有调用
从这里可以大致的分析出启动的时候都干了点什么
判断此时启动是广告activity还是主页面activity
接下来我打算把this.e();包括this.e();之后的代码全删掉
在mt中反编译dex文件,找到baseactivity类,查找oncreate方法,把之后this.e();的代码全删除
保存后安装app
发现主页面一片空白,这时意识到,全删代码肯定不行,在jeb中继续分析
这时候发现,在e方法下边有一行UpdateActivity.l(this);方法的调用
这时候去UpdateActivit类看了一下l方法是干什么的
发现调用了a.w方法,看到这里其实我心里已经有数了,为了保险起见又进w方法看了一眼
果然没猜错,是启动Activity的方法,接下来回mt,把UpdateActivity.l(this);这行代码全注释掉
直接注释,保存退出,安装app查看
发现成功去除了广告,并且去除了破解提示
至此,练手算是比较成功了。
逆向新手,技术很菜,大佬误嘲:lol
如有违规请联系我删除
有人能发给我一款风险APP吗我要测试一款杀毒软件 签名校验问题其实很简单,你修改后的app再去除签名校验,根据mt去签的原理是会生成一个签名数据去对抗,但你这时候的签名已经不是原始的了,所以相当于没绕过签名校验。而在修改前去除签名校验,则相当于原签名数据在左右互搏。所以要保持一个良好的修改习惯,修改前先去除一下签名校验{:301_998:} 本帖最后由 waksy 于 2023-6-28 10:43 编辑
lyy20 发表于 2023-6-28 08:48
知道名字也没有用啊,没地方下载吖。
xyz我9696.绿奏云/s/1s20怕2350{:301_997:} JH1CR7 发表于 2023-6-28 15:49
小白看不懂啊,
汉字去掉,绿奏云换成这个lanzouq.com 为了表示佩服,破解过程看不懂,但启动后的内容我估计能看懂,可否发给我测试一下我的智商。 本帖最后由 hs248613 于 2023-6-27 14:10 编辑
软件名是s某某某hub.3.3,里面聚合了一堆其他app。别问我怎么知道的{:301_971:} 签名校验问题,可以这样理解:首先MT的一键去签名可以理解为先读取APP的签名,然后通过动态代{过}{滤}理的方式修改APP中获取签名的方法,返回读取到的APP的签名。
如果是修改dex,并替换到原APP时,开启了自动签名,那么此时APP的签名就会被修改,再用一键去签名,此时读到的签名就是MT自动签名的值,并不是原APP的签名;
如果是修改dex,并替换到原APP时,没有开启自动签名,那么此时APP的签名还是它自身的,再用一键去签名,读到的签名就是原APP的签名;
当然,也可以在修改之前先使用一键去签名。{:1_926:}
另外,这软件,{:1_886:} 我有一个朋友想要看这个APP{:301_997:} 被你打码的图片是app界面还是你的手机屏幕呀,我看第一行好像都是图标 侃遍天下无二人 发表于 2023-6-26 22:55
被你打码的图片是app界面还是你的手机屏幕呀,我看第一行好像都是图标
没有手机屏幕,全是app的界面 学习了 感谢分享 同是天涯养猫人{:1_918:} 工程发现。。。。。。。。。。。。。。。 看头像,好像是某猫