Custom FrontEnd

Discussion about using the VirtualBox API, Tutorials, Samples.
Post Reply
pdufrene
Posts: 5
Joined: 11. Nov 2010, 17:57
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: windows

Custom FrontEnd

Post by pdufrene »

Hello all,

I was previously developing one simple custom front end using VirtualBox V4.1.26 COM API
So I implemented a framebuffer and all relative stuff in order to make it working fine.
It's basically based on VBoxHeadless frontend, nothing complex inside.

Recently I switch to the latest version of VirtualBox V4.3.14 and modify my code to adapt to the new API.
But now I am in trouble when I make the call to Console::Powerup(), my front end simply crash without any information.
I only get from the log on the vm the following info:

Code: Select all

VirtualBox VM 4.3.14 r95030 win.amd64 (Jul 15 2014 16:09:05) release log
00:00:06.225707 Log opened 2014-07-27T20:07:56.236716800Z
00:00:06.225707 Build Type: release
00:00:06.225707 OS Product: Windows 8.1
00:00:06.225707 OS Release: 6.3.9600
00:00:06.225707 OS Service Pack: 
00:00:06.239718 DMI Product Name: xxxxxxx
00:00:06.242718 DMI Product Version: xxxxxxx
00:00:06.242718 Host RAM: 8107MB total, 4276MB available
00:00:06.242718 Executable: C:\Program Files\Oracle\VirtualBox\MyFrontEnd.exe
00:00:06.242718 Process ID: 8544
00:00:06.242718 Package type: WINDOWS_64BITS_GENERIC
00:00:06.246723 Installed Extension Packs:
00:00:06.246723   None installed!
00:00:06.248723 AssertLogRel C:\tinderbox\win-4.3\src\VBox\HostDrivers\Support\SUPR3HardenedIPRT.cpp(141) int __cdecl supR3HardenedErrorV(int,bool,const char *,char *): <NULL>
00:00:06.249726 supR3HardenedVerifyFileInternal: 'C:\Program Files\Oracle\VirtualBox/VBoxVMM.dll': Image verify error rc=VERR_WRONG_ORDER: supHardenedWinVerifyImageByHandle: supHardenedWinInitImageVerifier was not called.
00:00:06.249726 supR3HardenedVerifyFileInternal: 'C:\Program Files\Oracle\VirtualBox/VBoxVMM.dll': Image verify error rc=VERR_WRONG_ORDER: supHardenedWinVerifyImageByHandle: supHardenedWinInitImageVerifier was not called.
00:00:06.249726 supR3HardenedLdrLoadIt: Verification of "C:\Program Files\Oracle\VirtualBox\VBoxVMM.DLL" failed, rc=VERR_WRONG_ORDER
My code is basically the following in C# using an interop dll

Code: Select all

var vbox = new VirtualBox();

// Open the machine
var machine = vbox .GetMachine("foo");
var session = new Session();
machine.LockMachine(session, LockType.LockType_VM);
var console = session.Console;

// Allocate frame buffers
FrameBuffers = new FrameBuffer[Parameters.MonitorCount.Value];
for (uint i = 0; i < Parameters.MonitorCount.Value; i++)
{
     FrameBuffers[i] = new FrameBuffer((int)i);
     console.Display.SetFramebuffer(i, FrameBuffers[i]);
}

// Start the machine
console.PowerUp();
I checked the difference between source code of VBoxHeadless in V4.1.26 and V4.3.14 and I couldn't find relevant differences...
Can someone give me a clue?
thanks in advance
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: Custom FrontEnd

Post by noteirak »

You should ask on the Dev Mailing list directly, as making a new frontend tends to be obscure. You can always post back your findings here.
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Custom FrontEnd

Post by socratis »

Just for kicks, would you might downgrading to 4.3.12 and see if it works?
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
pdufrene
Posts: 5
Joined: 11. Nov 2010, 17:57
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: windows

Re: Custom FrontEnd

Post by pdufrene »

socratis wrote:Just for kicks, would you might downgrading to 4.3.12 and see if it works?
Yes, it works with this version.
Do you have some information about that, or should I report a bug to VirtualBox?

regards
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Custom FrontEnd

Post by socratis »

No need to. It is a well known (by now) problem with 4.3.14 (don't let the title of the 2nd thread fool you, it is not just antivirus):
- Windows hardening in version 4.3.14.
- 4.3.14 conflicts with anti-virus packages.
Possible solution: Test the 4.3.15 release quoted in the 2nd thread. Read the posts to see if there is an update.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
bird
Oracle Corporation
Posts: 127
Joined: 10. May 2007, 10:27

Re: Custom FrontEnd

Post by bird »

I'm sorry to have to say that starting July 14th, custom VM processes are no longer supported due to security concerns. (COM client which does not use IConsole::powerUp but rather IMachine::launchVMProcess to run VMs are not affected, of course.)

If you wish to continue to use your own custom frontend, you need to make your own VirtualBox build and either disable hardening (put VBOX_WITHOUT_HARDENING=1 in LocalConfig.kmk) or add the name of your VM process to the lists in src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp and src/VBox/HostDrivers/Support/win/SUPHardenedVerifyProcess-win.cpp.

Kind Regards,
bird.
Knut St. Osmundsen
Oracle Corporation
pdufrene
Posts: 5
Joined: 11. Nov 2010, 17:57
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: windows

Re: Custom FrontEnd

Post by pdufrene »

bird wrote:I'm sorry to have to say that starting July 14th, custom VM processes are no longer supported due to security concerns. (COM client which does not use IConsole::powerUp but rather IMachine::launchVMProcess to run VMs are not affected, of course.)

If you wish to continue to use your own custom frontend, you need to make your own VirtualBox build and either disable hardening (put VBOX_WITHOUT_HARDENING=1 in LocalConfig.kmk) or add the name of your VM process to the lists in src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp and src/VBox/HostDrivers/Support/win/SUPHardenedVerifyProcess-win.cpp.

Kind Regards,
bird.
Ouch this is not a good news for me, last time I tried to build VirtualBox on my windows system, it was a little bit complex :wink:
By the way thanks for the info.
regards
Post Reply