-
Notifications
You must be signed in to change notification settings - Fork 87
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1,884 changed files
with
236,486 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# VirtualApp2022 | ||
|
||
|
||
Virtual App(Multiple Accounts or parallel space)Professional(support Android 4.0 - Android 13) | ||
|
||
Inspired by VirtualApp,LBE Parallel Space and MultipleAcccount, this open source project redesigns the Android security sandbox, supports Android 4.0-13.0 versions with dual or multi-opening, and supports Xposed plug-ins | ||
|
||
Compared with VirtualApp, MultipleAccounts, ParallelSpace, our advantages: | ||
1. Support Android 4.0 - 13,By the way, we can provide different source codes for different Android versions | ||
2. Support different versions of different hook technologies | ||
3. Complete production testing, running most of the apps and games in the world flawlessly | ||
4. Rewritten a security engine that supports non-root dynamically granting permissions to applications | ||
5. Rewritten the network library to support real-time capture of various App network data | ||
|
||
There are two ways of cooperation: | ||
1. Purchase source code of professional version, upgrade for free within 1 years, the adaptation of the New Android and App will be provided in the form of patches | ||
2. Highly customized development, including the development of various plug-ins, the cracking of various hardened apps, the decryption of various encrypted apps, etc. | ||
my contact is: [email protected],All contracts and agreements will be signed with the main body of the company that has been established for more than 2 years to ensure the spirit of the contract and service | ||
|
||
We were a Google Play top developer, Multliple Accounts App have accumulated hundreds of millions of downloads and tens of millions of monthly active users | ||
The user's real score is 4.1+ | ||
|
||
<img width="889" alt="image" src="https://user-images.githubusercontent.com/118658129/202895115-68fc9f0c-f7e8-427b-b276-048a11e6dcf8.png"> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
apply plugin: 'com.android.application' | ||
|
||
boolean fullExt = rootProject.ext.VA_FULL_EXT | ||
|
||
android { | ||
defaultConfig { | ||
applicationId rootProject.ext.EXT_PACKAGE_NAME | ||
buildConfigField 'String', 'PACKAGE_NAME_MAIN', '"' + rootProject.ext.PACKAGE_NAME + '"' | ||
buildConfigField 'boolean', 'fullExt', rootProject.ext.VA_FULL_EXT ? 'true' : 'false' | ||
manifestPlaceholders = [ | ||
VA_ACCESS_PERMISSION_NAME: rootProject.ext.VA_ACCESS_PERMISSION_NAME, | ||
] | ||
if (rootProject.ext.VA_MAIN_PACKAGE_32BIT) { | ||
ndk.abiFilters = ["arm64-v8a"] | ||
} else { | ||
ndk.abiFilters = ["armeabi-v7a"] | ||
} | ||
} | ||
} | ||
|
||
dependencies { | ||
implementation project(':lib-ext') | ||
|
||
if (fullExt) { | ||
implementation project(':common') | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Add project specific ProGuard rules here. | ||
# You can control the set of applied configuration files using the | ||
# proguardFiles setting in build.gradle. | ||
# | ||
# For more details, see | ||
# http://developer.android.com/guide/developing/tools/proguard.html | ||
|
||
# If your project uses WebView with JS, uncomment the following | ||
# and specify the fully qualified class name to the JavaScript interface | ||
# class: | ||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { | ||
# public *; | ||
#} | ||
|
||
# Uncomment this to preserve the line number information for | ||
# debugging stack traces. | ||
#-keepattributes SourceFile,LineNumberTable | ||
|
||
# If you keep the line number information, uncomment this to | ||
# hide the original source file name. | ||
#-renamesourcefileattribute SourceFile |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
xmlns:tools="http://schemas.android.com/tools" | ||
package="io.busniess.va.addon"> | ||
|
||
<uses-permission android:name="${VA_ACCESS_PERMISSION_NAME}"/> | ||
|
||
<application | ||
android:name=".App" | ||
android:allowBackup="true" | ||
android:icon="@android:drawable/sym_def_app_icon" | ||
android:label="VirtualApp Addon" | ||
android:supportsRtl="true" | ||
tools:ignore="GoogleAppIndexingWarning"> | ||
|
||
<!-- release need remove or click start 32's activity --> | ||
<!-- <activity-alias android:name="com.lody.virtual.MainActivity" android:targetActivity="com.lody.virtual.EmptyActivity">--> | ||
<!-- <intent-filter>--> | ||
<!-- <action android:name="android.intent.action.MAIN" />--> | ||
<!-- <action android:name="android.intent.action.LAUNCH_HELPER" />--> | ||
<!-- <category android:name="android.intent.category.LAUNCHER" />--> | ||
<!-- </intent-filter>--> | ||
<!-- </activity-alias>--> | ||
|
||
<activity android:name="com.lody.virtual.EmptyActivity"> | ||
<intent-filter> | ||
<action android:name="android.intent.action.MAIN" /> | ||
<action android:name="android.intent.action.LAUNCH_HELPER" /> | ||
<category android:name="android.intent.category.LAUNCHER" /> | ||
</intent-filter> | ||
</activity> | ||
|
||
</application> | ||
</manifest> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package io.busniess.va.addon; | ||
|
||
import android.app.Application; | ||
import android.content.Context; | ||
|
||
import com.lody.virtual.DelegateApplicationExt; | ||
|
||
import java.lang.reflect.Method; | ||
|
||
/** | ||
* @author Lody | ||
*/ | ||
public class App extends DelegateApplicationExt { | ||
Object commonApp = null; | ||
Class<?> commonAppClzz; | ||
|
||
@Override | ||
protected boolean fullExt() { | ||
return BuildConfig.fullExt; | ||
} | ||
|
||
@Override | ||
protected void attachBaseContext(Context base) { | ||
super.attachBaseContext(base); | ||
if (fullExt()) { | ||
try { | ||
commonAppClzz = getClassLoader().loadClass("io.busniess.va.common.CommonApp"); | ||
commonApp = commonAppClzz.newInstance(); | ||
Method attachBaseContextMethod = commonAppClzz.getMethod("attachBaseContext", Context.class); | ||
attachBaseContextMethod.invoke(commonApp, base); | ||
} catch (Throwable e) { | ||
e.printStackTrace(); | ||
} | ||
} | ||
} | ||
|
||
@Override | ||
public void onCreate() { | ||
super.onCreate(); | ||
if (fullExt()) { | ||
try { | ||
Method onCreateMethod = commonAppClzz.getMethod("onCreate", Application.class); | ||
onCreateMethod.invoke(commonApp, this); | ||
} catch (Throwable e) { | ||
e.printStackTrace(); | ||
} | ||
} | ||
} | ||
|
||
@Override | ||
protected String getMainPackageName() { | ||
return BuildConfig.PACKAGE_NAME_MAIN; | ||
} | ||
|
||
} |
16 changes: 16 additions & 0 deletions
16
app/app-ext/src/main/java/io/busniess/va/addon/DebugActivity.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package io.busniess.va.addon; | ||
|
||
import android.app.Activity; | ||
import android.os.Bundle; | ||
|
||
/** | ||
* @author Lody | ||
*/ | ||
public class DebugActivity extends Activity { | ||
|
||
@Override | ||
protected void onCreate(Bundle savedInstanceState) { | ||
super.onCreate(savedInstanceState); | ||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
apply plugin: 'com.android.application' | ||
|
||
Properties properties = new Properties() | ||
def localProp = file(project.rootProject.file('local.properties')) | ||
if (localProp.exists()) { | ||
properties.load(localProp.newDataInputStream()) | ||
} | ||
def keyFile = file(properties.getProperty("keystore.path") ?: "/tmp/does_not_exist") | ||
|
||
android { | ||
signingConfigs { | ||
config { | ||
keyAlias properties.getProperty("keystore.alias") | ||
keyPassword properties.getProperty("keystore.pwd") | ||
storeFile keyFile | ||
storePassword properties.getProperty("keystore.alias_pwd") | ||
} | ||
} | ||
|
||
compileSdkVersion 30 | ||
buildToolsVersion '30.0.0' | ||
defaultConfig { | ||
applicationId "io.va.exposed64" | ||
minSdkVersion 21 | ||
targetSdkVersion 23 | ||
versionCode 220 | ||
versionName "0.22.0" | ||
multiDexEnabled false | ||
android { | ||
defaultConfig { | ||
ndk { | ||
abiFilters "arm64-v8a", "x86_64" | ||
} | ||
} | ||
} | ||
} | ||
// https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html?utm_source=android-studio | ||
flavorDimensions 'main' | ||
productFlavors { | ||
aosp { | ||
dimension 'main' | ||
//matchingFallbacks ['aosp'] | ||
if (keyFile.exists()) { | ||
signingConfig signingConfigs.config | ||
} | ||
} | ||
|
||
fdroid { | ||
dimension 'main' | ||
} | ||
} | ||
sourceSets { | ||
main { | ||
jniLibs.srcDirs = ['libs'] | ||
} | ||
} | ||
buildTypes { | ||
release { | ||
minifyEnabled false | ||
debuggable false | ||
} | ||
} | ||
compileOptions { | ||
sourceCompatibility JavaVersion.VERSION_1_8 | ||
targetCompatibility JavaVersion.VERSION_1_8 | ||
} | ||
lintOptions { | ||
checkReleaseBuilds false | ||
// Or, if you prefer, you can continue to check for errors in release builds, | ||
// but continue the build even when errors are found: | ||
abortOnError false | ||
} | ||
} | ||
|
||
dependencies { | ||
implementation fileTree(include: ['*.jar'], dir: 'libs') | ||
implementation project(':lib') | ||
implementation project(':launcher') | ||
//Android Lib | ||
implementation 'com.android.support:multidex:1.0.3' | ||
implementation 'com.android.support:appcompat-v7:27.1.1' | ||
implementation 'com.android.support:recyclerview-v7:27.1.1' | ||
implementation 'com.android.support:design:27.1.1' | ||
//Promise Support | ||
implementation 'org.jdeferred:jdeferred-android-aar:1.2.4' | ||
// ThirdParty | ||
implementation 'com.jonathanfinerty.once:once:1.0.3' | ||
|
||
def appCenterSdkVersion = '3.0.0' | ||
aospImplementation("com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}") | ||
aospImplementation("com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}") | ||
|
||
implementation 'com.kyleduo.switchbutton:library:1.4.6' | ||
implementation 'com.allenliu.versionchecklib:library:1.8.3' | ||
implementation 'com.github.medyo:android-about-page:1.2.2' | ||
implementation 'moe.feng:AlipayZeroSdk:1.1' | ||
|
||
//Glide | ||
implementation ('com.github.bumptech.glide:glide:4.8.0') { | ||
exclude(group: "com.android.support") | ||
} | ||
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0' | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# Add project specific ProGuard rules here. | ||
# By default, the flags in this file are appended to flags specified | ||
# in /Users/lody/Desktop/Android/sdk/tools/proguard/proguard-android.txt | ||
# You can edit the include path and order by changing the proguardFiles | ||
# directive in build.gradle. | ||
# | ||
# For more details, see | ||
# http://developer.android.com/guide/developing/tools/proguard.html | ||
|
||
# Add any project specific keep options here: | ||
|
||
# If your project uses WebView with JS, uncomment the following | ||
# and specify the fully qualified class name to the JavaScript interface | ||
# class: | ||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { | ||
# public *; | ||
#} | ||
-keep class com.amap.api.maps.**{*;} | ||
-keep class com.autonavi.**{*;} | ||
-keep class com.amap.api.trace.**{*;} | ||
|
||
#定位 | ||
-keep class com.amap.api.location.**{*;} | ||
-keep class com.amap.api.fence.**{*;} | ||
-keep class com.autonavi.aps.amapapi.model.**{*;} | ||
|
||
#搜索 | ||
-keep class com.amap.api.services.**{*;} | ||
|
||
#2D地图 | ||
-keep class com.amap.api.maps2d.**{*;} | ||
-keep class com.amap.api.mapcore2d.**{*;} | ||
|
||
#导航 | ||
-keep class com.amap.api.navi.**{*;} | ||
-keep class com.autonavi.**{*;} | ||
|
||
##--Glide-- | ||
-keep class com.bumptech.glide.**{*;} | ||
-keep public class * implements com.bumptech.glide.module.GlideModule | ||
-keep public class * extends com.bumptech.glide.module.AppGlideModule | ||
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** { | ||
**[] $VALUES; | ||
public *; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
apply plugin: 'com.android.library' | ||
|
||
dependencies { | ||
implementation 'com.jakewharton.android.repackaged:dalvik-dx:9.0.0_r3' | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
package="com.lody.virtual.sandhook" /> |
Oops, something went wrong.