--- title: SONY Virtual Expander layout: default created: 2009-02-02 01:47:01 +0100 updated: 2009-02-08 14:29:52 +0100 toc: false tags: - know-how - software - sony --- Virtual Expander is a software which is bundled with the following models: * [USM-E Plus](http://www.sony.net/Products/Media/Microvault/products/usm-ep/index.html#download) (v1.03) * [USM-D Plus](http://www.sony.net/Products/Media/Microvault/products/usm-dp/index.html#download) (v1.03) * [USM-JX](http://www.sony.net/Products/Media/Microvault/products/usm-jx/dl.html) (v2.3) * [USM-H](http://www.sony.net/Products/Media/Microvault/products/usm-h/dl.html) (v2.4) * [USM-J](http://www.sony.net/Products/Media/Microvault/products/usm-j/dl.html) (v2.4) * [USM-L](http://www.sony.net/Products/Media/Microvault/products/usm-l/dl.html) (v2.4) * [USM-LX](http://www.sony.net/Products/Media/Microvault/products/usm-lx/dl.html) (v2.4) The following information is based on the 1.x version since the 2.x was not available at the time I figured this out. But I guess it will work on that versions also. How it works ============ Basically, VE is a compression tool. It lets you manually compress files and adds the extension `.vem` to them. This extension is associated with the VE Decompressor. So if you double-click a `.vem`-file, it will decompress it and launch it right after that. While this works fine for single documents, it doesn't work for a program consisting of many different files as only the file you click is automatically decompressed and not all together. Also it doesn't recompress a file after use so it's not really more comfortable than using a regular compression program. The program activates itself if it detects a SONY USB drive based on its PnP-ID, like `USB\Vid_054c&Pid_0241`. Hacking the tool ================ The latest version, `VirtualExpander_v24.exe` contains the following strings hardcoded in Unicode starting at position `0x39a2c` (VendorID `054c` = *SONY*): * `USB\Vid_054c&Pid_0241` * `USB\Vid_054c&Pid_0242` * `USB\Vid_054c&Pid_0243` * `USB\Vid_054c&Pid_02a5` * `USB\Vid_054c&Pid_02a7` To make it work with ANY USB drive, just get the ID of your drive: 1. go to *Control Panel* => *System* => *Advanced* => *Environment variables* 1. add a new **System** variable `DevMgr_Show_Details` with the value "1" 1. OK your way back to the Desktop 1. open the Device Manager (make sure you closed the "System"-Control Panel before!) 1. find your USB drive in the *USB* group and right-click => *Properties* 1. find the ID on the new tab *Details* Now use your favorite Hex-editor and overwrite one of the SONY IDs with the PnP-ID of *YOUR* USB drive. That's all! (The v1.3 has 3 IDs starting at position `0x31950`.)