3

There are virtual space apps for Android, such as Parallel Space or Dual Space. I know that we can't access outside files in a virtual environment, but I was able to access them in Dual Space's virtual environment.

Do such virtual space apps provide a fully virtual environment?

2
  • 2
    What do you mean with "fully virtual environment"?
    – Robert
    Commented Apr 9, 2020 at 15:23
  • Yes man. You got it right. Commented Apr 10, 2020 at 19:16

2 Answers 2

4

If virtual space apps are acting like Parallel Space then they are virtualizing the app runtime environment. Accessing external storage would not be a problem.

Commonsware put up a blogpost explaining what is going on under the hood with this virtualization with a caveat:

However, this sort of virtualization technique – Android apps running inside other Android apps, for an Inception-style experience – requires that you trust the virtualization engine. After all, by definition, it can see all I/O between the app and Android, as it proxies all of that I/O. It is a [Man-In-The-Middle] MITM attack on the app.

So if you trust the makers of Parallel Space (or don't care) it is an option to consider.

From my answer: https://android.stackexchange.com/a/169048/3573

2
  • Because it is hosting the virtualized app, can it also see the raw memory processes from the app and/or perform memory injection? I'm wondering if there are any separate security/privacy risks besides I/O
    – ETL
    Commented Nov 19 at 3:17
  • @ETL You can find the original Boxify papers/presentations online, to my understanding the authors were focused on isolating untrusted apps. While altering the app is possible(?), I wonder if in modern Android such a container runs into the W^X problem or problems with ART runtime optimization. Commented Nov 19 at 4:08
3

ParallelSpace and DualSpace use the same technology if I get their description correctly and this technology has nothing to do with virtualization: they use app cloning

App cloning means that an app is renamed (not the visible name but the app package name such as com.whatsapp). Therefore the app is unpacked, modified at certain points to use the new name and then packed and signed with a new signature and afterwards installed.

As Android separates each app a renamed app can be installed side-by-side with the original app. The actual separation is done by the Android OS in exactly the same way it is done for every app.

And just like any other app if the repackaged app stores data in the sd-card section you can access this data.

5
  • Do you have any references for app cloning process? Commented Apr 9, 2020 at 15:00
  • @MorrisonChang The general process is not that complicated: stackoverflow.com/a/54032434/150978 However I would assume that certain apps require more modifications even on code level.
    – Robert
    Commented Apr 9, 2020 at 15:07
  • Great, the 3rd point answer in your reference is basically my answer. (I knew it was doable but felt brittle as app devs can do various code checks which would result in arms race for detection). Commented Apr 9, 2020 at 15:10
  • Thanks man for explaining me the basics behind these apps. Commented Apr 10, 2020 at 19:14
  • Parallel Space FAQs page states: "07.Does Parallel Space reinstall an app? Nope, we run and store the app in a virtualization engine.". So it seems they are running the apps in their own virtual machine, not modifying the app. Haven't investigated myself but this guy has: stackoverflow.com/a/41702482/9165920 Commented Feb 16, 2021 at 14:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .