Invalid license will result in Virtualhere not allowing to bind any USB devices whatsoever. Note that this is different to ‘unlicensed’ version (when no license is specified in config.ini) which allows us to use a single USB device. In fact, if no license is defined Virtualhere will use a hardcoded version for 1 device. Virtualhere Keygen Mac Os X El Capitan Download Free Layout Essentials 100 Design Principles For Using Grids Pdf Mac Theme Download Photoshop Elements For Mac Os Company Of Heroes 2 Mac Download Free Best Download Program For Mac Bluefire Reader Download Mac Mac Os X 10.4 4 Download.
Analyze suspicious files and URLs to detect types of malware, automatically share them with the security community. Virtualhere Keygen Emule Download Free Mac Autodesk Mac Download Www Arduino Cc Download For Mac Mail For Mac Not Working Adobe Photoshop Cc 2015 For Mac Free Full Version Google Chrome Free Download For Mac Os X 10.8 5 Avast Security Review Mac Apple Os Download Sp Column 4.81 Crack Thermo King Lrt Manual. Berkeley Electronic Press Selected Works download keygen windows, windows kostenlos VirtualHere allows USB devices be used remotely over a network just if they were locally connected! Traditionally needed plugged directly into computer used top downloads teechart vcl/fmx charting components library offers set graph styles 2d 3d visualization, 50+.
VirtualHere USB seems to rely on some inline Base64 encoded data to mark the software as unlicensed when running the program in trial mode. In case the Base64 data is modified, then VirtualHere USB will announce that the license is invalid. This behaviour can be observed in sub_422c90
in the decompiled source:
The code calls the soubroutine sub_405340
with function parameters: License
, unlicensed,1,MCACDkn0jww6R5WOIjFqU/apAg4Um+mDkU2TBcC7fA1FrA
and 1
. In case the second parameter (unlicensed,1,MCACDkn0jww6R5WOIjFqU/apAg4Um+mDkU2TBcC7fA1FrA
) passed to sub_405340
is tampered with, then VirtualHere USB will display on startup:
The latter behaviour can be traced to subroutine sub_420150
of the decompiled code that performs various licensing checks resulting (most likely, if unfavourable) to a jump into the segment:
that is responsible for marking the license as invalid and hence enforcing all trial limitations. However, if the code segment starting at 0x420338
, then VirtualHere USB has no way to determine whether the license is invalid or not. Following the latter reasoning, a jump is injected at the very start of the code segment 0x420338
and up to 0x42039b
, after the code segment.
Now VirtualHere USB cannot set itself as using an invalid license however, the code is not reached unless the license is indeed invalid such that the unlicensed hash unlicensed,1,MCACDkn0jww6R5WOIjFqU/apAg4Um+mDkU2TBcC7fA1FrA
has to be destroyed to trigger the now modified invalid license code. To do so, the string is contained within the program starting with address 0x5dd1f8
:
and it is sufficient to just modify a single byte to trigger the invalid license code.
When running VirtualHere USB, the program will now display:
which is not vary pretty and just begs for a vanity fix.
This is a high level guide to bypass the unlicensed limitations of virtualhere_usb for osx.
For Windows version see: http://grimore.org/cracks/virtualhere_usb/3.5.4
Disclaimer: This guide is provided for educational purposes only.
When using invalid license key Virtualhere will print “Invalid License” string. Debugging the executable yields a single reference to it in the code:
This code will be executed when the License is invalid (as opposed to no license at all). As such the config.ini has to have a License tag defined for the above code to be executed, i.e.
License=314
Invalid license will result in Virtualhere not allowing to bind any USB devices whatsoever. Note that this is different to ‘unlicensed’ version (when no license is specified in config.ini) which allows us to use a single USB device. In fact, if no license is defined Virtualhere will use a hardcoded version for 1 device. This license is stored (hardcoded) in the executable.
Now, my next step was to stop the ‘Invalid License’ code from executing in the attempt to allow a single USB device. Consecutively I was hopping to modify the code further to allow multiple USB devices (it turned out this was not necessary anymore).
How to stop executing the ‘Invalid License’ code?
A very common way of doing is, is to invoke a ‘jmp’ and jump into the unlicensed code @ 0x1003aac3:
Note that the unlicensed code call 0x1003ab14 so I decided to jump directly to there.
Final version:
Virtualhere Keygen
Done.
Virtualhere Keygen Download
If you are lazy here is a patch you can use (in hex):
42534449464634303d000000000000006900000000000000617b96000000
0000425a68393141592653597697e8e400000965e8680008004000400000
08400001000400200021a1a0c8400c0a2440990f1ab6fc5dc914e14241da
5fa390425a68393141592653591444903700001c71f1c080400a0000c000
4000000842440800102041082000705326264191814a9434d069a7a9ea68
56f8842bee2a15543df86dbb048548db0542a470c4215238c39c6b3d2e79
cb2cfed37242a47f17724538509014449037425a68393141592653599e7d
969d00000040000010200021184682ee48a70a1213cfb2d3a0
Note that you will need to unsign the original executable (vhusbdosx) before applying the above patch with bspatch. Otherwise the patching process will fail.
Virtualhere License Keygen
To convert hex->ascii suggest to use xxd