use of com.lody.virtual.client.hook.base.StaticHook in project VirtualApp by asLody.
the class SearchManagerPatch method onBindHooks.
@Override
protected void onBindHooks() {
super.onBindHooks();
addHook(new StaticHook("launchLegacyAssist"));
}
use of com.lody.virtual.client.hook.base.StaticHook in project VirtualApp by asLody.
the class WindowManagerPatch method onBindHooks.
@Override
protected void onBindHooks() {
super.onBindHooks();
addHook(new StaticHook("addAppToken"));
addHook(new StaticHook("setScreenCaptureDisabled"));
}
use of com.lody.virtual.client.hook.base.StaticHook in project VirtualApp by asLody.
the class ActivityManagerPatch method onBindHooks.
@Override
protected void onBindHooks() {
super.onBindHooks();
if (VirtualCore.get().isVAppProcess()) {
addHook(new ReplaceLastUidHook("checkPermissionWithToken"));
addHook(new isUserRunning());
addHook(new ResultStaticHook("updateConfiguration", 0));
addHook(new ReplaceCallingPkgHook("setAppLockedVerifying"));
addHook(new StaticHook("checkUriPermission") {
@Override
public Object afterCall(Object who, Method method, Object[] args, Object result) throws Throwable {
return PackageManager.PERMISSION_GRANTED;
}
});
addHook(new StaticHook("getRecentTasks") {
@Override
public Object call(Object who, Method method, Object... args) throws Throwable {
Object _infos = method.invoke(who, args);
//noinspection unchecked
List<ActivityManager.RecentTaskInfo> infos = ParceledListSliceCompat.isReturnParceledListSlice(method) ? ParceledListSlice.getList.call(_infos) : (List) _infos;
for (ActivityManager.RecentTaskInfo info : infos) {
AppTaskInfo taskInfo = VActivityManager.get().getTaskInfo(info.id);
if (taskInfo == null) {
continue;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
info.baseActivity = taskInfo.baseActivity;
info.topActivity = taskInfo.topActivity;
}
info.origActivity = taskInfo.baseActivity;
info.baseIntent = taskInfo.baseIntent;
}
return _infos;
}
});
}
}
use of com.lody.virtual.client.hook.base.StaticHook in project VirtualApp by asLody.
the class NotificationManagerPatch method onBindHooks.
@Override
protected void onBindHooks() {
super.onBindHooks();
addHook(new ReplaceCallingPkgHook("enqueueToast"));
addHook(new ReplaceCallingPkgHook("cancelToast"));
addHook(new StaticHook("registerListener"));
addHook(new StaticHook("unregisterListener"));
addHook(new StaticHook("getAppActiveNotifications"));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
addHook(new ReplaceCallingPkgHook("areNotificationsEnabled"));
}
if ("samsung".equalsIgnoreCase(Build.BRAND) || "samsung".equalsIgnoreCase(Build.MANUFACTURER)) {
addHook(new ReplaceCallingPkgHook("removeEdgeNotification"));
}
}
use of com.lody.virtual.client.hook.base.StaticHook in project VirtualApp by asLody.
the class WifiManagerPatch method onBindHooks.
@Override
protected void onBindHooks() {
super.onBindHooks();
addHook(new StaticHook("getConnectionInfo") {
@Override
public Object call(Object who, Method method, Object... args) throws Throwable {
WifiInfo info = (WifiInfo) method.invoke(who, args);
PhoneInfoDelegate delegate = VirtualCore.get().getPhoneInfoDelegate();
if (info != null && delegate != null) {
String oldMac = info.getMacAddress();
if (oldMac != null) {
String newMac = delegate.getMacAddress(oldMac, getAppUserId());
if (!TextUtils.equals(oldMac, newMac)) {
mirror.android.net.wifi.WifiInfo.mMacAddress.set(info, newMac);
}
}
}
return info;
}
});
}
Aggregations