Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is application virtualization implemented?

I am trying to understand how software like App-V and sandboxie (http://www.sandboxie.com/) work. But for the life of me, I can't think of anything that could make this possible. How do they intercept API calls and trick the target software? If someone would say that it's just magic and pixie dust, I would believe them. Seriously though, are there any white papers that discuss solutions to this problem?

If this is possible on the CLR level then that would be good but I'm willing to go native if I have to.

like image 553
Ilian Avatar asked Apr 23 '10 14:04

Ilian


People also ask

How is application virtualization done?

Executing Application VirtualizationA VMM infrastructure—software, firmware, and/or hardware—creates and operates virtual machines (VMs). A host (server) connects to multiple guests (endpoints). Application and desktop virtualization enables centralized management of the complete desktop environment ecosystem.

What is application virtualization in simple words?

Application virtualization software allows users to access and use an application from a separate computer than the one on which the application is installed. Using application virtualization software, IT admins can set up remote applications on a server and deliver the apps to an end user's computer.

How do virtual applications work?

Virtual apps are applications that are optimized to run in a virtual environment. Simply put, a virtual app simply runs on a computer without being installed on it. Remote apps are a popular virtual app delivery solution wherein the virtual applications installed on a server are delivered to users' devices.


1 Answers

Sandboxie does it by essentially injecting code into core Windows API, the same way a virus would (which is why Vista x64 prevents this behaviour, and why Sandboxie doesn't work on that OS).

Here is a project explaining API hooking. I learned how all this work by studying the sourcecode for Metamod:Source (used for SourceMod for CounterStrike:Source :) )

like image 126
BlueRaja - Danny Pflughoeft Avatar answered Sep 24 '22 14:09

BlueRaja - Danny Pflughoeft