Title sounds confusing and It might be wrong terminology, sorry about that. I have POP OS and windows in VM (virtualbox) for few apps that are not available on linux. Im trying to install one app that requires diferent activation method because it recognized Im running virtual machine. Is there any way to hide that so I can activate the app the way I usually do on non-VM windows?

I hope I was clear enough, cheers

Edit: typo

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    English
    arrow-up
    62
    ·
    1 year ago

    Hiding virtualisation can be very easy or extremely difficult. It depends on what you’re trying to hide virtualisation from.

    If you’re trying to hide virtualisation from Windows or a random app that tries to be clever but crashes, renaming the VirtualBox devices should be more than enough. This may also work for some viruses if virus analysis is your sort of thing.

    If you’re trying to fool anticheat, you’re in for a world of hurt. There are tons of signs and weird behaviours that point out if a machine is a VM or not. You’ll need to patch a lot of hypervisor code to hide the basic hypervisor API, for example. You’ll also need to make sure the CPU architecture in your VM matches your host CPU exactly. You’ll need to patch the virtualised network cards and such to make them bug for bug compatible with the actual hardware, you can’t just rely on the spec like a normal programmer would.

    You could go the extreme route and virtualise the entire machine (BOCHS/PCem style) but you’ll probably be limited to Pentium III speeds if you do that, and performance monitoring will still be able to point out weird timing issues that indicate a VM.

    How hardcore you’ll need to go really depends on how the application detects that it’s running inside a VM. Try tools like these and see how far you’ll come, or follow the guides written by cheaters which aren’t always successful, but at least they’re exhaustive.

      • Skull giver@popplesburger.hilciferous.nl
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 year ago

        A combination of university classes on cybersecurity/computer science and having experimented/messed with virtualization for years. The theory is quite simple: is there something that stands out among most virtual machines? Often, they all use the exact same network cards, the same sound cards, the same USB hubs, and they have some backdoors for sharing files that can be detected. From there on out you can extrapolate.

        Malware tries to detect virtual machines security researchers use to analyze them, which is where I first started reading about this stuff for. An afternoon reading into hypervisor tech a few years ago taught me a lot as well; just keep digging deeper until you’re close to the hardware. Then there was a vain attempt at running a game or two in a Windows VM and digging into why it didn’t work.

        If you’re interested into this stuff, I recommend following a tutorial about writing your own hypervisor (if you know any native programming language, it’s actually surprisingly easy with modern CPUs! the real difficulty is writing all the device implementations and their drivers…) and experimenting with detecting virtual machines yourself.

  • isgleas@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    1 year ago

    With vbox I don’t think you can do that, nor with any other hypervisor delivering full virtualization. You could try with a paravirtualization, like Xen, and see if you can trick the OS

    Note that I don’t know if windows is supported as a paravirtualized guest.

    • Max-P@lemmy.max-p.me
      link
      fedilink
      arrow-up
      9
      ·
      1 year ago

      There’s patches for QEMU that bypasses anticheats and hides the virtualization and even makes Windows’ use its own virtualization based protection.

      • fmstrat@lemmy.nowsci.com
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Was about to post this. Running qemu command line can do this, unfortunately I don’t have my old scripts to do it. It’s pretty common when doing GPU passthrough, so maybe look there?

            • Zucca@sopuli.xyz
              link
              fedilink
              arrow-up
              3
              ·
              1 year ago

              Yes.

              Even if it’s more limited compared to Solidworks, I bet learining to “cope” with FreeCAD will be easier in then end. One can even do CAD with Blander nowdays, but it’s very different. Especially how you later undo an action.

            • rambos@lemmy.worldOP
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              I don’t know, I got my installation back in 2016. Tbh, I was looking for another installation, but all I got looks the same. I can signup on rutracker if that is solution, but is it? do you know?

              I don’t know is it allowed to talk about piracy here? :D Please warn me if its not.

              First of all, I own a SW2016 license and that’s why I’m trying to install the same version on another PC. I’m willing to switch version if needed, cant go back to dual boot windows anymore :D Some people obviously successfully masked virtualization. There are examples, but I couldn’t figure out myself:

              example 1: For Windows VirtualBox virtual machine use “hidevm.bat”

              example 2: SolidWorks_Spoof.sh

              example 3: link

              I was hoping I just need to modify my virtualbox on linux, but seems like its much more complex. I’m still reading and doing my best, but I’m not even sure are guides made for host OS or guest OS

                • rambos@lemmy.worldOP
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  1 year ago

                  Thx mate.

                  I ended up downloading new version and then installed 2016 by following guide from new one. It uses different activation method which is allowed, so no need to hide VM.

  • thalience@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    It might be possible to trick the app’s activation function. But before you can do that, you’d have to understand how it is checking for virtualization, so that you know what aspect of the VM’s behavior to tweak.

    Someone on Lemmy might be able to help you with that, if they knew what app you were trying to use…