本帖最后由 风在这里停 于 2023-03-23 22:14 编辑
工具:jadx-gui、np管理器、要脱的应用(某智慧租房电费控制app)、模拟器没啥具体要求(只要能打开你要用到的应用就行,不涉及xposed.我用的雷电9) 一直对脱壳有种憧憬,不断摸索,终于有了小小的效果。 正文开始: 直接jadx-gui打开.apk文件,查看原代码,看是否有加壳。 ps:加壳的话用mhook或者frida去脱壳获取源码文件(论坛内直接搜关键字就可,有很多大神的文章,我就不贴链接了) 该应用未加壳,直接开始。 第一 去启动页广告: 修改AndroidManifest.xml文件,搜索关键字LAUNCHER,带这个关键字的就是广告启动页,将该activity下的 <intent-filter><action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter>
这串代码修改到你其它activity里面。 修改完之后,直接返回文件会直接保存并打包、签名。然后重新安装apk.这样启动页广告就去掉了。 第二 去除强制更新: (因为index.js文件太大,在模拟器上不好操作,我是在vscode里进行修改的。修改完后上传到模拟器。) 这个apk是weex开发的,所以大部分流程都在index.js里面,修改起来也需要一点点前端的功底。因为强制更新时会弹窗提示:“已有更新版本,请立即更新!” 所以直接搜索关键字,看上下的代码(这里需要耐心,一点点的看别人的逻辑,想象一下代码是你写的),找到关键字updateForce,接着根据updateForce找关键步骤。 发现updateForce设置成null的时候不会强制更新, 所以在强制更新判断前将updateForce设置成null. that.app.updateforce=null;if (that.app.updateforce == null) { } else { if (that.app.updateforce == 1) { that.cancelText = global.lang('!!退出'); that.isExit = false; } else { } }
之后重新打包签名就欧克了。 不太会写文章,可能会有描述不清楚的地方。欢迎大神斧正。 有像我是新人的,还在苦苦自己摸索的,也可以评论区问我,懂得不多,但是能帮的一定帮。 手动狗头。
|