悬浮窗生效范围:没有任何保护的app
自动查找生效前提:官方没有改动il2cpp相关的结构体 && il2cpp导出函数没有被隐藏
- 生成
app-release.apk
- 下载源码,使用android studio打开
- 如果是局域网用户(CN),修改根目录下的build.gradle, 将CN version下面的注释取消掉,这样就可以使用阿里云镜像下载对应依赖库了
- Generate Signed Bundle --> APK
- 反编译
app-release.apk
,得到app-release
文件夹 - 反编译
games.apk
,得到games
文件夹 - 将
app-release
的smali文件夹下的文件,拷贝到games
文件夹下的smali目录里面(如果有多个smali目录,放在最后一个)
- 将
app-release
文件夹的so文件libHI3.so
改名为libHI3
(Main.java决定),并拷贝到games
文件夹下的assets目录里面 - 修改
games
的 AndroidManifest.xml,并保存<application android:appComponentFactory="androidx.core.app.CoreComponentFactory" ... android:name="com.combosdk.openapi.ComboApplication" ...>
application
里面的这个android:name
指向我们要修改的smali
路径- 在
</application>
这个标签,在它前后添加代码,如下:
<service android:name="com.android.support.Launcher" android:enabled="true" android:exported="false" android:stopWithTask="true"/> </application> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
- 根据上条,打开
games
的smali目录, 编辑android:name
指向的smali
,找到constructor <init>()V
这个方法(一般是第一个方法),在.locals
的下一行插入代码invoke-static {}, Lcom/android/support/Main;->Start()V
- 将
games
重新编译成apk文件就完事了。
- 某些游戏可能存在游戏保护,当它发现游戏被篡改时,会第一时间杀掉游戏进程,导致游戏闪退。
- 使用本项目导致游戏闪退,可能是存在游戏保护,自行搞定
- 我目前推荐使用重定向文件绕过游戏保护检测,对BI3生效
- 重定向代码其实在github里就有,由于倒卖狗的存在,我不能提供网址给你们,需要你们自行搜索