|
| 1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 2 | + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| 3 | +<head> |
| 4 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
| 5 | + <title>Virtual File System Editor</title> |
| 6 | + |
| 7 | + <style type="text/css" media="screen"> |
| 8 | + html, body { margin: 0; padding: 0;} |
| 9 | + body { color: #333; font: 12px Helvetica, Arial, sans-serif; line-height: 18px; } |
| 10 | + h2 { color: #333; } |
| 11 | + a { color: #337810; } |
| 12 | + p { margin: 0 0 18px; } |
| 13 | + #container { width: 760px; margin: 0 auto; } |
| 14 | + |
| 15 | + /* Header */ |
| 16 | + #header { background: #eee; border-bottom: 2px solid #ddd; } |
| 17 | + #header h1 { color: #004b6f; margin: 0 0 3px; padding: 24px 18px 0; } |
| 18 | + #header p { color: #666; font-size: 11px; font-weight: bold; padding: 0 18px; } |
| 19 | + |
| 20 | + /* Content Style */ |
| 21 | + #navigation { margin-left: 18px; } |
| 22 | + #navigation ul { padding: 0 18px 9px; } |
| 23 | + #extra { margin: 0 18px; } |
| 24 | + #extra small { font-size: 11px; line-height: 18px; } |
| 25 | + #content { border-bottom: 1px solid #ccc; margin: 0 18px; } |
| 26 | + #content p, #extra p { padding-right: 18px; } |
| 27 | + |
| 28 | + /* Content Positioning and Size */ |
| 29 | + #navigation { float: left; width: 350px; } |
| 30 | + #content { } |
| 31 | + #extra { float: right; width: 350px; } /* Footer */ |
| 32 | + #footer { background: #333; border-bottom: 2px solid #999; clear: both; } |
| 33 | + #footer a { color: #eee; } |
| 34 | + #footer p { color: #ccc; margin: 0; padding: 0 18px 10px; } |
| 35 | + #footer ul { border-bottom: 1px solid #555; list-style: none; margin: 0 18px 6px; padding: 10px 0 6px; } |
| 36 | + #footer li { display: inline; font-size: 11px; font-weight: bold; padding-right: 5px; } |
| 37 | + </style> |
| 38 | + <!--[if IE]> |
| 39 | + <style type="text/css"> |
| 40 | + #navigation, #content, #extra { margin-top: 20px; } |
| 41 | + </style> |
| 42 | + <![endif]--> |
| 43 | +</head><body> |
| 44 | + <div id="container"> |
| 45 | + <div id="header"> |
| 46 | + <h1>Virtual File System Editor</h1> |
| 47 | + <p class="description">A tool to extract embedded files from application virtualizers</p> |
| 48 | + </div> |
| 49 | + <div id="wrapper"> |
| 50 | + <div id="content"> |
| 51 | + <h2>General Information</h2> |
| 52 | + <p align="justify"> |
| 53 | + Virtual File System Editor is a tool to extract/modify embedded files from packed executables created by application virtualizers. |
| 54 | + The main tool is provided in the form of a DLL which needs to be injected into the process you want to extract files from. |
| 55 | + Since DLL injection is a separate topic with it's own nuances, I have not provided a DLL injector in this package. You may use any DLL |
| 56 | + injector. I recommend the one developed by Ralph Hare available at <a href="http://www.ysgyfarnog.co.uk/utilities/Injector/" target="_blank">ysgyfarnog.co.uk</a> or |
| 57 | + RemoteDLL available at <a href="http://securityxploded.com/remotedll.php" target="_blank">SecurityXploded</a>. The latter is particularly |
| 58 | + recommended for ASLR aware systems. |
| 59 | + </p> |
| 60 | + </div> |
| 61 | + |
| 62 | + <div id="content"> |
| 63 | + <h2>Program Usage</h2> |
| 64 | + |
| 65 | + <p align="justify"><b>Access Test</b> : Use this to check if the selected file is readable by the virtual application. Normally both access tests |
| 66 | + would pass. If the tests fail, it indicates that packer did not correctly hook the APIs. In such cases you need to find the real VA of the |
| 67 | + hooked APIs and enter it in the options dialog. |
| 68 | + |
| 69 | + <p align="justify"><b>Run</b> : Use this to run another application in the context of this process. For example, this can be used to run <i>regedit.exe</i> |
| 70 | + to work with embedded registry keys. This feature has been modelled on the basis of Windows Run dialog, and will accept URLS, file paths etc. |
| 71 | + Note that if the application does not virtualize child processes it will be run of outside the virtualization container. |
| 72 | + |
| 73 | + <p align="justify"><b>Extract</b> : Use this to extract any files from the virtual file system. You need to ensure that the output |
| 74 | + folder is outside the virtual file system or otherwise the files will be created within it (if the filesystem is writable of course). This mode uses |
| 75 | + <i>SHFILEOPERATION</i> function to copy selected files/directories. |
| 76 | + |
| 77 | + <p align="justify"><b>Extract by name</b> : Use this to extract files by specifying their path. This option is particularly useful for extracting |
| 78 | + hidden files, which are not visible in the listing. For example, <a href="http://www.molebox.com/" target="_blank">molebox virtualization solution</a> |
| 79 | + provides an option to hide files from directory listing which uses <i>FindFirst</i> API function. In such cases, if you know |
| 80 | + the full file path (which you may obtain by debugging the application), you can extract it using this option. Also note that |
| 81 | + this method extracts the file using vfsserver process, so you need to run it. Additionally, you can only extract files by this. |
| 82 | + |
| 83 | + <p align="justify"><b>Extract by server</b> : Use this to leverage the extraction of files by using a separate process(vfsserver.exe) which is run outside |
| 84 | + the virtualization container. You can use this |
| 85 | + extraction mode, if file creation is not possible within the virtualized application. You can only extract files by this method. |
| 86 | + |
| 87 | + <p align="justify"><b>Add</b> : You can add/copy files to the virtual file system using this method. Note that the virtual file system should be |
| 88 | + writable for this to succeed. You can only add files by this method. |
| 89 | + |
| 90 | + <p align="justify"><b>Delete</b> : Delete files from the virtual file system. As usual the file system should not be read-only. |
| 91 | + Also make sure that selected files are a part of the virtual file system, or otherwise real files on disk which are outside the virtualization container |
| 92 | + will be deleted. You can delete both files as well as directories by this method. |
| 93 | + |
| 94 | + <p align="justify"><b>Options</b> : Here you can specifiy the virtual addresses for the APIs used for extraction. You need to provide the VA of |
| 95 | + four API's namely <i>CreateFileA</i>, <i>GetFileSize</i>, <i>ReadFile</i>, & <i>CloseHandle</i>. Normally, you do not need to use this, |
| 96 | + but for very old packers such as old versions of molebox this is needed. This is because the software incorrectly hooks the IAT, as a result the newly injected dll |
| 97 | + does not use the hooked APIs. In such cases, you need to debug the application to find the VA of the said hooked APIs and then provide the values here. |
| 98 | + Also note that the provided values are only used in extract by name & server modes. |
| 99 | + </div> |
| 100 | + <div id="content"> |
| 101 | + <h2>Tests</h2> |
| 102 | + <p> |
| 103 | + Virtual File System Editor was tested with the following packers on Windows XP SP3. |
| 104 | + <ul type="square"> |
| 105 | + <li><a href="http://www.boxedapp.com/" target="_blank">BoxedApp Packer 3.2.3.8</a> </li> |
| 106 | + <li><a href="http://www.cameyo.com/" target="_blank">Cameyo 2.0.8.32</a></li> |
| 107 | + <li><a href="http://www.enigmaprotector.com/en/about.html" target="_blank">Enigma Protector 4.20.20140508</a></li> |
| 108 | + <li><a href="http://www.enigmaprotector.com/en/aboutvb.html" target="_blank">Enigma Virtual Box 7.10.20131218</a></li> |
| 109 | + <li><a href="http://www.evalaze.de/" target="_blank">Evalaze Commercial Edition 2.2.1.1</a></li> |
| 110 | + <li><a href="http://www.molebox.com/" target="_blank">Molebox Virtualization Solution 5.4.6.2</a></li> |
| 111 | + <li><a href="http://www.smartpacker.nl/" target="_blank">Smart Packer Pro 1.93</a></li> |
| 112 | + <li><a href="https://spoon.net/studio" target="_blank">Spoon Virtual Application Studio 11.4.176</a></li> |
| 113 | + <li><a href="http://www.vmware.com/products/thinapp" target="_blank">VMware ThinApp Enterprise 5.0.0.1391583</a></li> |
| 114 | + </ul> |
| 115 | + </div> |
| 116 | + <div id="content"> |
| 117 | + <h2>Tips, Tricks & Limitations</h2> |
| 118 | + |
| 119 | + <p align="justify"> |
| 120 | + Molebox allows to hide specific or all files from directory structure listing. |
| 121 | + This can be controlled by the "Hide all files" option or passing specific flags in the MXB file. In such a case |
| 122 | + <i>FindFirstFile</i> / <i>FindNextFile</i> used for directory listing will not list the hidden files & so they will not be shown in the extractor window. |
| 123 | + As a workaround, you can use the extract by name method, but you need to know the full path of the embedded file beforehand. Also the main executable cannot be |
| 124 | + unpacked by this tool. For very old versions of Molebox which incorrectly hooks the IAT you also need to specify the VA of the hooked APIs in Options. |
| 125 | + |
| 126 | + |
| 127 | + <p align="justify"> |
| 128 | + For enigma virtual box & enigma protector, the main executable will not be unpacked. The best solution in this case is to use |
| 129 | + <a href="https://forum.tuts4you.com/topic/35554-static-enigma-virtual-box-unpacker/" target="_blank">Static Enigma Virtual Box Unpacker</a> |
| 130 | + by <a href="http://lifeinhex.com/">kao</a> which |
| 131 | + not only unpacks the main executable but also embedded registry keys(if any) along with other embedded files. |
| 132 | + |
| 133 | + <p align="justify"> |
| 134 | + For boxed app packer the main executable may not be unpacked. In such cases open the packed file in a PE editor, |
| 135 | + dump <i>.bxpack</i> section and find the main PE within it by searching for MZ signature. |
| 136 | + |
| 137 | + </div> |
| 138 | + <div id="content"> |
| 139 | + <h2>Changelog</h2> |
| 140 | + <b>v0.3</b> December 15, 2015 |
| 141 | + <br>• Support for large files via name & server modes |
| 142 | + <br>• Fixed some bugs |
| 143 | + <p><p><b>v0.2</b> August 22, 2015 |
| 144 | + <br>• Added run external program feature |
| 145 | + <p><p><b>v0.1</b> August 26, 2014 |
| 146 | + <br>• First Public Release |
| 147 | + <p> |
| 148 | + </div> |
| 149 | + |
| 150 | + </div> |
| 151 | + <div id="content"> |
| 152 | + <h2>Credits</h2> |
| 153 | + Coded in Borland Delphi 7 |
| 154 | + <p> |
| 155 | + Virtual File System Editor uses the following : |
| 156 | + <br>• <a href="http://www.delphicomponents.net/" target="_blank">Ortus Shell Components</a> |
| 157 | + <br>• <a href="http://dryicons.com/" target="_blank">Aesthetica Icon Set version 2.0</a> |
| 158 | + </div> |
| 159 | + <p> |
| 160 | + |
| 161 | + <div id="footer"> |
| 162 | + <p><p><b>Developed by <a href=" mailto:[email protected]" >Extreme Coders </a> © 2014 - 15. All Rights Reserved. </b></p> |
| 163 | + </div> |
| 164 | + </div> |
| 165 | +</body> |
| 166 | +</html> |
0 commit comments