目前国产Android手机都有各类App检测,会报警甚至拦截“黑名单”上的应用。然而这个系统目前非常原始,只通过包名判断。因此做点小修改就可以绕过去。考虑V2rayNG的编译并不容易,而Github上的APK也没有加壳,可以直接对成品APK进行patch。
下面修改这些比较明显的特征:
- 包名
- 部分类名
- icon和应用显示名
服务名同时改服务类名和libgojni.so
里面的jni函数名会报No implementation found
,即使名称都是Java_libakash_Libakash__1init
,暂不清楚原因
改包名
<manifest>
里面的package
,直接改
部分类名
首先确定jni
部分的函数名,涉及到的部分先不动,比如
|
|
然后在AndroidManifest.xml
里面找,涉及v2ray
和.
的能改都改,用Ctrl+Shift+F
全局搜索。比如把com.v2ray.ang
替换成xyz.myApplication
。Smali语法不一样,再把com/v2ray/ang
全局替换成xyz/myApplication
。
android:process=":RunSoLibV2RayDaemon"
这个名称也可以改。
icon和应用显示名
icon通过Android Studio制作。随便开一个新工程,右键->new
->Image Asset
。ic_banner_foreground
在TV Banner
里面。做完直接替换。
应用显示名是android:label="@string/app_name"
,在资源文件里改。
其他
最后检查一下AndroidManifest.xml,看看还有哪些能改却没改的。