好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 h88782481 于 2023-6-26 22:44 编辑
最近正在学安卓开发,但是经常搞机的我对逆向也非常感兴趣,所以就双管齐下了。
正好正己大佬发布了一系列课程,我最近学完了,手很痒痒,手头刚好有一款软件,我就拿来练手了,废话不多说,下面开始实战。
首先打开软件
广告倒计时
软件主页面
如图所示,开屏之后有5秒的强制广告,不能跳过(至于为什么广告没加载,我只能说懂的都懂)
如果有看过正己大佬的教程,想必各位应该想到很多种去除方式
这里我最先想到的是activity,拿出mt管理器
mt的记录功能
这里有一个activity记录,打开看一下广告到主页面的activity是如何跳转的
activity变化
可以看到,广告的activity和主页面不是一个activity。
最简单是思路就是直接启动主页的activity。
下面打开mt管理器,打开清单xml
清单xml
打开之后查找android.intent.action.MAIN
activity启动类
如图所示,将com.comeback.data.ui.main.LauncherActivity替换成刚刚mt记录的com.comeback.data.ui.main.MainActivity
替换启动类
保存后退出并签名app,然后安装看看开屏广告是否消失了
修改后黑屏
修改后发现打开app会黑屏,app没有任何反应。
这时候我想到了是不是有签名校验的原因,所以直接用了mt的去除签名校验的功能。
mt功能
但是发现去除签名校验后依旧黑屏,然后我就试了试先去除签名校验,之后在修改app,发现成功了。
如果有大佬知道为啥修改后去除签名校验依旧无法恢复,欢迎指点指点我。
接下来继续打开软件,发现弹出非法破解弹窗
非法破解弹窗
看到这个,人都麻了,又得继续分析了。
接下来,我还是优先考虑activity的分析。
继续用mt来分析。
mt分析
然后发现,app从mainactivity跳转到了updateactivity
下面直接用mt反编译dex文件,看看mainactivity和updateactivity的逻辑
mainactivity分析
打开之后发现字符串已经被混淆了
接下来我选择用jeb继续分析,因为jeb是pc工具,比手机好操作,而且jeb的反混淆非常好用
用jeb反编译之前的两个类
mainactivity jeb
发现mainactivity里并没有找到调用updateactivity的方法
接下来打开updateactivity,发现updateactivity确实是非法破解的界面
updateactivity非法破解
看到这里,我首先想到查看一下是谁调用了updateactivity类里的e方法
调用e
结果发现在baseactivity里有调用
分析调用
从这里可以大致的分析出启动的时候都干了点什么
判断此时启动是广告activity还是主页面activity
接下来我打算把this.e();包括this.e();之后的代码全删掉
在mt中反编译dex文件,找到baseactivity类,查找oncreate方法,把之后this.e();的代码全删除
删除所有e代码
保存后安装app
空白主页
发现主页面一片空白,这时意识到,全删代码肯定不行,在jeb中继续分析
update调用
这时候发现,在e方法下边有一行UpdateActivity.l(this);方法的调用
这时候去UpdateActivit类看了一下l方法是干什么的
l方法
发现调用了a.w方法,看到这里其实我心里已经有数了,为了保险起见又进w方法看了一眼
启动类
果然没猜错,是启动Activity的方法,接下来回mt,把UpdateActivity.l(this);这行代码全注释掉
注释
直接注释,保存退出,安装app查看
成功破解
发现成功去除了广告,并且去除了破解提示
至此,练手算是比较成功了。
逆向新手,技术很菜,大佬误嘲
如有违规请联系我删除
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|