<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Working with VMProtect - VMProtect Software</title>
<link>https://vmpsoft.com/</link>
<atom:link href="https://vmpsoft.com/index.php?category=working-with-vmprotect&amp;do=cat&amp;mod=rss" rel="self" type="application/rss+xml" />
<language>en</language>
<description>Working with VMProtect - VMProtect Software</description><item>
<title>Console version</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=35</guid>
<link>https://vmpsoft.com/index.php?newsid=35</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 15:55:20 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>After you create a project in <a href="/9-main-window.html">GUI mode</a>, you can use the console version (VMProtect_Con.exe). You can run it as follows:</p> <pre class="language-c"><code>VMProtect_Con File [Output File] [-pf Project File] [-sf Script File] [-lf Licensing Parameters File] [-bd Build Date (yyyy-mm-dd)] [-wm Watermark Name] [-we]</code></pre> <ul> <li><strong>File</strong> — the name of the executable you want to protect (*.exe, *.dll, etc.) or the name of a (*.vmp) project file. If a project file is specified, the executable file name is taken from the project.</li> <li><strong>Output File</strong> — the name and path of the protected file that will be created after processing the original file. If this parameter is not set, the value is taken from the project file.</li> <li><strong>Project File</strong> — the name and path of the project file created in <a href="/9-main-window.html">GUI mode</a>. If this parameter is not set, the program searches for a *.vmp file in the executable’s folder.</li> <li><strong>Script file</strong> — the name of the <a href="/66-using-scripts.html">script</a> used to process the protected file. If this parameter is not set, the script from the current project file is used.</li> <li><strong>Licensing Parameters File</strong> — the name of a file containing <a href="/19-managing-licenses.html">licensing parameters</a>. If this parameter is not set, licensing parameters are taken from the current project file.</li> <li><strong>Build Date</strong> — application build date in the format “yyyy-mm-dd”. If this parameter is not set, the current date is used. The build date is written into the protected application and is used by the licensing system to validate serial numbers against the “<a href="/19-managing-licenses.html#AddLicense">Maximum build date</a>” field.</li> <li><strong>Watermark Name</strong> — the name of a <a href="/70-watermarks.html">watermark</a> inserted into the protected file. If not specified, the watermark defined in the project settings is used.</li> <li><strong>we</strong> — when this parameter is set, all warnings are treated as errors.</li> </ul> <blockquote> <p><span class="mark">!</span><strong>Important</strong></p> <p>The console version is not available in the <a href="/5-what-is-vmprotect.html#editions">Lite</a> edition.</p> </blockquote>]]></description>
</item><item>
<title>Dump section</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=34</guid>
<link>https://vmpsoft.com/index.php?newsid=34</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 15:53:36 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>Displays the memory dump of the protected application as machine language code and assembly instructions:</p> <p><img src="/uploads/properties_dump.png" alt=""></p> <p>The “Go To Address” button on the toolbar allows you to navigate to a specified address in the protected application:</p> <p><img src="/uploads/properties_dump_goto.png" alt=""></p> <p>To quickly navigate to a specific function, start typing its name in the quick search box. You can also enter its exact address.</p>]]></description>
</item><item>
<title>Resources section</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=33</guid>
<link>https://vmpsoft.com/index.php?newsid=33</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 15:52:31 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>Displays information about resources:</p> <p><img src="/uploads/properties_resources.png" alt=""></p> <h3>Options</h3> <ul> <li><strong>Excluded from packing</strong> — a resource can be excluded from <a href="/25-options-section.html#PackOutputFile">packing</a>.</li> </ul>]]></description>
</item><item>
<title>Exports section</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=32</guid>
<link>https://vmpsoft.com/index.php?newsid=32</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 15:51:28 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>Displays information about the exports the file contains:</p> <p><img src="/uploads/properties_export.png" alt=""></p>]]></description>
</item><item>
<title>Imports section</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=31</guid>
<link>https://vmpsoft.com/index.php?newsid=31</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 15:47:56 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>Displays information about imported functions and libraries:</p> <p><img src="/uploads/properties_import.png" alt=""></p>]]></description>
</item><item>
<title>Segments section</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=30</guid>
<link>https://vmpsoft.com/index.php?newsid=30</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 15:46:53 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>Displays information about segments:</p> <p><img src="/uploads/properties_segments.png" alt=""></p> <h3>Options</h3> <ul> <li><strong>Excluded from memory protection</strong> — a segment can be excluded from <a href="/25-options-section.html#MemoryProtection">memory protection</a>.</li> <li><strong>Excluded from packing</strong> — a segment can be excluded from <a href="/25-options-section.html#PackOutputFile">packing</a>.</li> </ul>]]></description>
</item><item>
<title>Directories section</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=29</guid>
<link>https://vmpsoft.com/index.php?newsid=29</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 15:45:57 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>Displays information about file directories:</p> <p><img src="/uploads/properties_directory.png" alt=""></p>]]></description>
</item><item>
<title>Details section</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=28</guid>
<link>https://vmpsoft.com/index.php?newsid=28</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 15:41:52 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>The “Details” section displays various information about the protected application. It also allows you to exclude certain data segments or resources from packing. Changes made in this section are saved to the project file.</p> <p><img src="/uploads/properties_directory.png" alt=""></p> <p>The “Details” section contains the following subsections:</p> <ul> <li><a href="https://vmpsoft.com/29-directories-section.html">Directories</a></li> <li><a href="https://vmpsoft.com/30-segments-section.html">Segments</a></li> <li><a href="https://vmpsoft.com/31-imports-section.html">Imports</a></li> <li><a href="https://vmpsoft.com/32-exports-section.html">Exports</a></li> <li><a href="https://vmpsoft.com/33-resources-section.html">Resources</a></li> <li><a href="https://vmpsoft.com/34-dump-section.html">Dump</a></li> </ul>]]></description>
</item><item>
<title>Functions section</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=27</guid>
<link>https://vmpsoft.com/index.php?newsid=27</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 15:39:01 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>The “Functions” section lists all functions available for protection:</p> <p><img src="/uploads/functions.png" alt=""></p> <p>When a function is selected, you can see its properties and protection options in the main panel. For each function, you can specify a <a href="/18-functions-for-protection-section.html#CompilationTypes">compilation type</a> and enable <a href="/37-licensing-system-features.html#lock">lock to a serial number</a>.</p>]]></description>
</item><item>
<title>Options section</title>
<guid isPermaLink="true">https://vmpsoft.com/index.php?newsid=25</guid>
<link>https://vmpsoft.com/index.php?newsid=25</link>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 06 Jun 2023 14:27:31 +0500</pubDate>
<category>Working with VMProtect</category>
<description><![CDATA[<p>The “Options” section allows you to configure various protection parameters:</p> <p><img src="/uploads/project_options.png" alt=""></p> <h3>Virtual Machine</h3> <ul> <li><a id="VMVersion"></a><strong>Version</strong> — this option allows you to specify the virtual machine version (the default value is the current version). Selecting “Compact” uses the older virtual machine version, which has a smaller bytecode size.</li> <li><a id="/25-options-section.html#VMInstances"></a><strong>Instances</strong> — this option allows you to specify the number of virtual machine instances (default is 10). Each virtual machine has a unique set of properties (different register layouts, different bytecode directions, different command handlers, etc.), making analysis and reverse engineering more difficult.</li> <li><a id="VMComplexity"></a><strong>Complexity</strong> — this option defines the probability of generating complex handlers (composed of multiple simple handlers) inside the virtual machine. This also significantly increases the difficulty of analyzing and cracking virtualized code. As complexity increases, the size of the protected file also increases.</li> </ul> <h3>File</h3> <ul> <li><a id="MemoryProtection"></a><strong>Memory Protection</strong> — this option protects the in-memory image of the file from modifications (integrity is checked for all sections that do not have the WRITABLE attribute). Integrity verification is performed before control is passed to the program’s entry point. If integrity is violated, a corresponding message is displayed and the program stops execution.</li> <li><a id="ImportProtection"></a><strong>Import Protection</strong> — this option hides the list of APIs used by the protected program from reverse engineers. It is recommended to use this option together with packing of the output file.</li> <li><a id="ResourceProtection"></a><strong>Resource Protection</strong> — this option encrypts program resources (except icons, manifests, and other system resources).</li> <li><a id="PackOutputFile"></a><strong>Pack the Output File</strong> — this option packs the protected file to reduce its size. The application is automatically unpacked when executed. Unpacking is performed entirely in memory without writing to disk. When using this option, it is also recommended to include the <a href="/3-glossary.html#EntryPoint">EntryPoint</a> in the list of protected objects.</li> </ul> <blockquote> <p><span class="mark">!</span><strong>Important</strong></p> <p>When the program starts, after the code is unpacked, control is passed to the EntryPoint. If the EntryPoint code is virtualized, it will be executed on the same VM interpreter as the unpacker code. Virtualizing the EntryPoint together with packing the protected file prevents manual unpacking, since an attacker would need to reconstruct the EntryPoint code to obtain a working image of the file.</p> </blockquote> <h3><a id="Additional"></a><strong>Additional</strong></h3> <ul> <li><a id="VMSectionName"></a><strong>Segments</strong> — when the file is compiled, new segments are added to store system data (virtualized and mutated code, VM interpreters, watermarks, etc.). This option allows you to specify names for these new segments. It is recommended to change the default “.vmp” segment name to something else (for example, “.UPX”).</li> <li><strong>Strip Debug Information</strong> — removing debug information makes code analysis more difficult. For .NET applications, this option also renames classes, methods, properties, and fields, except those excluded from <a href="/207-using-for-net.html">renaming</a>.</li> <li><strong>Strip Relocations</strong> — some compilers (e.g. Delphi) generate a relocation table for EXE files that is not used by the operating system. If enabled, the space occupied by the relocation table is used for VM needs.</li> <li><strong>Watermark</strong> — allows adding a <a href="/70-watermarks.html">watermark</a> to the program.</li> <li><strong>Lock To HWID</strong> — allows locking the program to a <a href="/48-step-1-9-hardware-lock.html">hardware identifier</a>.</li> </ul> <h3>Detection</h3> <ul> <li><a id="DebuggerDetection"></a><strong>Debugger</strong> — this option prevents debugging of the protected file. There are two types of debuggers: user-mode debuggers (OllyDBG, WinDBG, etc.) and kernel-mode debuggers (SoftICE, Syser, and others). Debugger detection is performed before control is passed to the program’s entry point. If a debugger is detected, a corresponding message is displayed and the program stops execution.</li> <li><a id="VirtualizationToolsDetection"></a><strong>Virtualization Tools</strong> — this option prevents execution of the protected file in virtual environments such as VMware, Virtual PC, VirtualBox, and Sandboxie. Detection is performed before control is passed to the entry point. If a virtual environment is detected, a corresponding message is displayed and the program stops execution.</li> </ul> <h3>Messages</h3> <p>Here you can customize the messages displayed when the program detects a debugger, a virtualization tool, file corruption, or an attempt to execute code protected by a serial number.</p> <h3><a id="LicensingParameters"></a>Licensing parameters</h3> <ul> <li><strong>File Name</strong> — select a project file created in the <a href="/19-managing-licenses.html">license manager</a> as the licensing parameter file. By default, the current project file is used.</li> <li><strong>Activation Server</strong> — this option is required for the <a href="/62-activation-system.html">activation system</a>.</li> </ul>]]></description>
</item></channel></rss>