当前位置: 首页 > 工具软件 > VirtualApp > 使用案例 >

【使用VirtualApp无root对手游进行修改】

韦泳
2023-12-01


VirtualApp相信大家都不陌生,在手游上被用来做外挂,做mod也是非常常见的了,VirtualApp原本的功能就是免安装对应用进行动态加载,而我们需要用到的其实只是VirtualApp的部分,因为VirtualApp已经商业化,开源部分已不再更新,但是有更优秀的(当前开源的双开引擎Blackbox支持到Android 12.0)。当前我用的还是VirtualApp开源版本所以兼容性存在问题。

下载VirtualApp

git clone https://github.com/asLody/VirtualApp.git

下载好后我们还得对源码进行修改才能达到注入so的效果

将so注入进游戏进程

在VirtualApp的MyComponentDelegate类下面 有一个beforeApplicationCreate方法

    @Override
    public void beforeApplicationCreate(Application application) {
        System.load(HostApplication.getApplicationInfo().nativeLibraryDir+"/libinject.so");
    }

这里的HostApplication是VirutalApp自身的application,也可以通过context来获取路径
这样之后我们就可以将so注入进游戏内了

修改手游

我们将so注入进游戏进程后,我们的so文件就可以对通进程下运行的so进行操作了
通过获取模块地址来对so函数进行Hook操作(通过proc/self/maps获取)代码就不放了
毕竟大家了解一下都会写,VirtualApp对beforeApplicationCreate这个方法传入了进程名和包名
可以通过包名和进程名来判断是否注入

学习VirtualApp

VirtualApp源码下载(去年开源的商业版本,忘记是哪个公司了)
VirtualApp(很早就泄露的商业版本代码是上面的旧版)
如果想兼容到12就用下面的对着上面抄就可以,每次Android版本更新VirutalApp是围绕着四大组件对着Android源码更新
致谢VirtualApp开源

 类似资料: