Updated RHash and UPX to the latest versions.
This commit is contained in:
parent
e934cc960f
commit
a1a3f51f0b
56
etc/7za.license.txt
Normal file
56
etc/7za.license.txt
Normal file
@ -0,0 +1,56 @@
|
||||
7-Zip
|
||||
~~~~~
|
||||
License for use and distribution
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
7-Zip Copyright (C) 1999-2016 Igor Pavlov.
|
||||
|
||||
Licenses for files are:
|
||||
|
||||
1) 7z.dll: GNU LGPL + unRAR restriction
|
||||
2) All other files: GNU LGPL
|
||||
|
||||
The GNU LGPL + unRAR restriction means that you must follow both
|
||||
GNU LGPL rules and unRAR restriction rules.
|
||||
|
||||
|
||||
Note:
|
||||
You can use 7-Zip on any computer, including a computer in a commercial
|
||||
organization. You don't need to register or pay for 7-Zip.
|
||||
|
||||
|
||||
GNU LGPL information
|
||||
--------------------
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You can receive a copy of the GNU Lesser General Public License from
|
||||
http://www.gnu.org/
|
||||
|
||||
|
||||
unRAR restriction
|
||||
-----------------
|
||||
|
||||
The decompression engine for RAR archives was developed using source
|
||||
code of unRAR program.
|
||||
All copyrights to original unRAR code are owned by Alexander Roshal.
|
||||
|
||||
The license for original unRAR code has the following restriction:
|
||||
|
||||
The unRAR sources cannot be used to re-create the RAR compression algorithm,
|
||||
which is proprietary. Distribution of modified unRAR sources in separate form
|
||||
or as a part of other software is permitted, provided that it is clearly
|
||||
stated in the documentation and source comments that the code may
|
||||
not be used to develop a RAR (WinRAR) compatible archiver.
|
||||
|
||||
|
||||
--
|
||||
Igor Pavlov
|
51
etc/7za.readme.txt
Normal file
51
etc/7za.readme.txt
Normal file
@ -0,0 +1,51 @@
|
||||
7-Zip 16.04
|
||||
-----------
|
||||
|
||||
7-Zip is a file archiver for Windows NT / 2000 / 2003 / 2008 / 2012 / XP / Vista / 7 / 8 / 10.
|
||||
|
||||
7-Zip Copyright (C) 1999-2016 Igor Pavlov.
|
||||
|
||||
The main features of 7-Zip:
|
||||
|
||||
- High compression ratio in the new 7z format
|
||||
- Supported formats:
|
||||
- Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM.
|
||||
- Unpacking only: AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS,
|
||||
IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR,
|
||||
RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR and Z.
|
||||
- Fast compression and decompression
|
||||
- Self-extracting capability for 7z format
|
||||
- Strong AES-256 encryption in 7z and ZIP formats
|
||||
- Integration with Windows Shell
|
||||
- Powerful File Manager
|
||||
- Powerful command line version
|
||||
- Localizations for 85 languages
|
||||
|
||||
|
||||
7-Zip is free software distributed under the GNU LGPL (except for unRar code).
|
||||
Read License.txt for more information about license.
|
||||
|
||||
|
||||
This distribution package contains the following files:
|
||||
|
||||
7zFM.exe - 7-Zip File Manager
|
||||
7-zip.dll - Plugin for Windows Shell
|
||||
7-zip32.dll - Plugin for Windows Shell (32-bit plugin for 64-bit system)
|
||||
7zg.exe - GUI module
|
||||
7z.exe - Command line version
|
||||
7z.dll - 7-Zip engine module
|
||||
7z.sfx - SFX module (Windows version)
|
||||
7zCon.sfx - SFX module (Console version)
|
||||
|
||||
License.txt - License information
|
||||
readme.txt - This file
|
||||
History.txt - History of 7-Zip
|
||||
7-zip.chm - User's Manual in HTML Help format
|
||||
descript.ion - Description for files
|
||||
|
||||
Lang\en.ttt - English (base) localization file
|
||||
Lang\*.txt - Localization files
|
||||
|
||||
|
||||
---
|
||||
End of document
|
BIN
etc/rhash.exe
BIN
etc/rhash.exe
Binary file not shown.
470
etc/rhash.readme.htm
Normal file
470
etc/rhash.readme.htm
Normal file
@ -0,0 +1,470 @@
|
||||
<!-- manual page source format generated by PolyglotMan v3.2, -->
|
||||
<!-- available at http://polyglotman.sourceforge.net/ -->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>RHASH(1) manual page</title>
|
||||
</head>
|
||||
<body bgcolor='white'>
|
||||
<a href='#toc'>Table of Contents</a><p>
|
||||
|
||||
<h2><a name='sect0' href='#toc0'>Name</a></h2>
|
||||
rhash - calculate/check CRC32, MD5, SHA1, GOST, TTH, BTIH or other hash
|
||||
sums.
|
||||
<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
|
||||
<b>rhash [</b> <i>option</i> <b>]... [</b> <i>file</i> <b>]...</b>
|
||||
<h2><a name='sect2' href='#toc2'>Description</a></h2>
|
||||
<b>RHash</b> (Recursive Hasher)
|
||||
computes and verifies various message digests (hash sums) of files. Supported
|
||||
message digests include CRC32, MD4, MD5, SHA1, SHA256, SHA512, SHA3, Tiger,
|
||||
DC++ TTH, BitTorrent BTIH, AICH, ED2K, GOST R 34.11-94, RIPEMD-160, HAS-160,
|
||||
EDON-R 256/512, Whirlpool, Snefru-128/256.
|
||||
<p> The program can create and verify
|
||||
Magnet links and eDonkey ed2k:// links, see --magnet and --ed2k-link options.
|
||||
|
||||
<p> A dash string parameter ‘-’ is interpreted as stdin file.
|
||||
<p> By default <b>rhash</b>
|
||||
prints sums in SFV format with CRC32 hash sum only. The format can be changed
|
||||
by options --bsd, --magnet, --simple, --printf, --template. To output all sums use
|
||||
the ‘-a’ option.
|
||||
<p> The default output format can also be changed by renaming
|
||||
the program or placing a hardlink/symlink to it with a name containing
|
||||
strings ‘crc32’, ‘md4’, ‘md5’, ‘sha1’, ‘sha256’ ‘sha512’, ‘tiger’, ‘tth’, ‘btih’, ‘aich’, ‘ed2k’,
|
||||
‘ed2k-link’, ‘gost’, ‘gost-cryptopro’, ‘ripemd160’, ‘has160’, ‘whirlpool’, ‘edonr256’,
|
||||
‘edonr512’, ‘snefru128’, ‘snefru256’, ‘sfv’ or ‘magnet’.
|
||||
<p>
|
||||
<h2><a name='sect3' href='#toc3'>Program Mode Options</a></h2>
|
||||
The
|
||||
default mode is to print hash sums for all files and directory trees specified
|
||||
by command line. The mode can be set by the following options.
|
||||
<dl>
|
||||
|
||||
<dt>-c, --check</dt>
|
||||
<dd>Check
|
||||
hash files specified by command line. RHash can verify hash files in SFV
|
||||
and BSD formats, standard MD5 and SHA1 files, and text files containing
|
||||
magnet or ed2k links (one link per line). Empty lines and lines starting
|
||||
with ‘;’ or ‘#’ are skipped. In fact RHash can verify most hash files generated
|
||||
by itself without formating options --printf and --template. </dd>
|
||||
|
||||
<dt>-u, --update</dt>
|
||||
<dd>Update
|
||||
hash files specified by command line. The program calculates and appends
|
||||
hashes to the updated hash file in the format specified by formating options.
|
||||
Hashes are calculated for those files from the same directory as the hash
|
||||
file, which are yet not present in it. </dd>
|
||||
|
||||
<dt>-k, --check-embedded</dt>
|
||||
<dd>Verify files by crc32
|
||||
sum embedded in their names. </dd>
|
||||
|
||||
<dt>--torrent</dt>
|
||||
<dd>Create a torrent file for each processed
|
||||
file. </dd>
|
||||
|
||||
<dt>-h, --help</dt>
|
||||
<dd>Help: print help screen and exit. </dd>
|
||||
|
||||
<dt>-V, --version</dt>
|
||||
<dd>Version: print version
|
||||
and exit. </dd>
|
||||
|
||||
<dt>-B, --benchmark</dt>
|
||||
<dd>Run benchmark for selected algorithm(s).
|
||||
<p> </dd>
|
||||
</dl>
|
||||
|
||||
<h2><a name='sect4' href='#toc4'>Hash Sums
|
||||
Options</a></h2>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>-C, --crc32</dt>
|
||||
<dd>CRC32: calculate and print CRC32 hash sum. </dd>
|
||||
|
||||
<dt>--md4</dt>
|
||||
<dd>MD4: calculate
|
||||
and print MD4 hash sum. </dd>
|
||||
|
||||
<dt>-M, --md5</dt>
|
||||
<dd>MD5: calculate and print MD5 hash sum. </dd>
|
||||
|
||||
<dt>-H, --sha1</dt>
|
||||
<dd>SHA1:
|
||||
calculate and print SHA1 hash sum. </dd>
|
||||
|
||||
<dt>--sha224, --sha256, --sha384, --sha512</dt>
|
||||
<dd>Calculate
|
||||
specified SHA2 hash sum. </dd>
|
||||
|
||||
<dt>--sha3-224, --sha3-256, --sha3-384, --sha3-512</dt>
|
||||
<dd>Calculate specified
|
||||
SHA3 hash sum. </dd>
|
||||
|
||||
<dt>--tiger</dt>
|
||||
<dd>Tiger: calculate and print Tiger hash sum. </dd>
|
||||
|
||||
<dt>-T, --tth</dt>
|
||||
<dd>TTH:
|
||||
calculate and print DC++ TTH sum. </dd>
|
||||
|
||||
<dt>--btih</dt>
|
||||
<dd>BTIH: calculate and print BitTorrent
|
||||
Info Hash. </dd>
|
||||
|
||||
<dt>-A, --aich</dt>
|
||||
<dd>AICH: calculate and print AICH hash. </dd>
|
||||
|
||||
<dt>-E, --ed2k</dt>
|
||||
<dd>ED2K: calculate
|
||||
and print eDonkey 2000 hash sum. </dd>
|
||||
|
||||
<dt>-L, --ed2k-link</dt>
|
||||
<dd>eDonkey link: calculate and
|
||||
print eDonkey link. </dd>
|
||||
|
||||
<dt>-W, --whirlpool</dt>
|
||||
<dd>Whirlpool: calculate and print Whirlpool
|
||||
hash sum. </dd>
|
||||
|
||||
<dt>-G, --gost</dt>
|
||||
<dd>GOST: calculate and print GOST R 34.11-94 hash, the Russian
|
||||
GOST standard hash function. </dd>
|
||||
|
||||
<dt>--gost-cryptopro</dt>
|
||||
<dd>GOST-CRYPTOPRO: calculate and print
|
||||
CryptoPro version of the GOST R 34.11-94 hash function. </dd>
|
||||
|
||||
<dt>--ripemd160</dt>
|
||||
<dd>RIPEMD-160:
|
||||
calculate and print RIPEMD-160 hash sum. </dd>
|
||||
|
||||
<dt>--has160</dt>
|
||||
<dd>HAS-160: calculate and print
|
||||
HAS-160 hash sum. </dd>
|
||||
|
||||
<dt>--snefru128, --snefru256</dt>
|
||||
<dd>SNEFRU: calculate and print SNEFRU-128/256
|
||||
hash sums. </dd>
|
||||
|
||||
<dt>--edonr256, --edonr512</dt>
|
||||
<dd>EDON-R: calculate and print EDON-R 256/512 hash
|
||||
sums.
|
||||
<p> </dd>
|
||||
|
||||
<dt>-a, --all</dt>
|
||||
<dd>Calculate all supported hash sums. </dd>
|
||||
|
||||
<dt>--list-hashes</dt>
|
||||
<dd>List names of all
|
||||
supported hashes, one per line.
|
||||
<p> </dd>
|
||||
</dl>
|
||||
|
||||
<h2><a name='sect5' href='#toc5'>Miscellaneous Options</a></h2>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>-r, --recursive</dt>
|
||||
<dd>Process
|
||||
directories recursively. </dd>
|
||||
|
||||
<dt>-v, --verbose</dt>
|
||||
<dd>Be verbose. </dd>
|
||||
|
||||
<dt>--percents</dt>
|
||||
<dd>Show percents, while
|
||||
calculating or checking sums </dd>
|
||||
|
||||
<dt>--skip-ok</dt>
|
||||
<dd>Don’t print OK messages for successfully
|
||||
verified files. </dd>
|
||||
|
||||
<dt>-i, --ignore-case</dt>
|
||||
<dd>Ignore case of filenames when updating crc
|
||||
files. </dd>
|
||||
|
||||
<dt>--speed</dt>
|
||||
<dd>Print per-file and the total processing speed. </dd>
|
||||
|
||||
<dt>-e, --embed-crc</dt>
|
||||
<dd>Rename
|
||||
files by inserting crc32 sum into name. </dd>
|
||||
|
||||
<dt>--embed-crc-delimiter=<delimiter></dt>
|
||||
<dd>Insert
|
||||
specified <delimiter> before a crc sum in the --embed-crc mode, default is
|
||||
white space. The <delimiter> can be a character or empty string. </dd>
|
||||
|
||||
<dt>--path-separator=<separator></dt>
|
||||
<dd>Use
|
||||
specified path separator to display paths. </dd>
|
||||
|
||||
<dt>-q, --accept=<list></dt>
|
||||
<dd>Set a comma-delimited
|
||||
list of extensions of the files to process. </dd>
|
||||
|
||||
<dt>--exclude=<list></dt>
|
||||
<dd>Set a comma-delimited
|
||||
list of extensions of the files to exclude from processing. </dd>
|
||||
|
||||
<dt>-t, --crc-accept=<list></dt>
|
||||
<dd>Set
|
||||
a comma-delimited list of extensions of the hash files to verify. </dd>
|
||||
|
||||
<dt>--maxdepth=<levels></dt>
|
||||
<dd>Descend
|
||||
at most <levels> (a non-negative integer) levels of directories below the
|
||||
command line arguments. ‘--maxdepth 0’ means only apply the tests and actions
|
||||
to the command line arguments. </dd>
|
||||
|
||||
<dt>-o, --output=<file-path></dt>
|
||||
<dd>Set the file to output
|
||||
calculated hashes and verification results to. </dd>
|
||||
|
||||
<dt>-l, --log=<file-path></dt>
|
||||
<dd>Set the file
|
||||
to log errors and verbose information to. </dd>
|
||||
|
||||
<dt>--openssl=<list></dt>
|
||||
<dd>Specify which hash
|
||||
functions should be calculated using the OpenSSL library. The <list> is a
|
||||
comma delimited list of hash names, but only those supported by openssl
|
||||
are allowed, e.g. md4, md5, sha1, sha256, ripemd160. See openssl documentation
|
||||
for the full list. </dd>
|
||||
|
||||
<dt>--gost-reverse</dt>
|
||||
<dd>Reverse bytes in hexadecimal output of the
|
||||
GOST hash sum. The most significant bytes of the hash will be printed first.
|
||||
Default order is the least significant bytes first. </dd>
|
||||
|
||||
<dt>--bt-batch=<file-path></dt>
|
||||
<dd>Turn
|
||||
on torrent batch mode (implies torrent mode). Calculates batch-torrent for
|
||||
the files specified at command line and saves the torrent file to the file-path.
|
||||
The option -r <directory> can be useful in this mode. </dd>
|
||||
|
||||
<dt>--bt-private</dt>
|
||||
<dd>Generate BTIH
|
||||
for a private BitTorrent tracker. </dd>
|
||||
|
||||
<dt>--bt-piece-length</dt>
|
||||
<dd>Set the <i>piece length</i> value
|
||||
for torrent file. </dd>
|
||||
|
||||
<dt>--bt-announce=<announce-url></dt>
|
||||
<dd>Add a tracker announce URL to the
|
||||
created torrent file(s). Several URLs can be passed by specifying the option
|
||||
mutltiple times. This option doesn’t change the BTIH hash. </dd>
|
||||
|
||||
<dt>--benchmark-raw</dt>
|
||||
<dd>Switch
|
||||
benchmark output format to be a machine-readable tab-delimited text with
|
||||
hash function name, speed, cpu clocks per byte. This option works only if
|
||||
the --benchmark option was specified. </dd>
|
||||
|
||||
<dt>-- (double dash)</dt>
|
||||
<dd>Mark the end of command
|
||||
line options. All parameters following the double dash are interpreted as
|
||||
files or directories. It is typically used to process filenames starting
|
||||
with a dash ‘-’. Alternatively you can specify ’./’ or full path before such files,
|
||||
so they will not look like options anymore.
|
||||
<p> </dd>
|
||||
</dl>
|
||||
|
||||
<h2><a name='sect6' href='#toc6'>Output Format Options</a></h2>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>--ansi</dt>
|
||||
<dd>Use
|
||||
Windows codepage for output. </dd>
|
||||
|
||||
<dt>--oem</dt>
|
||||
<dd>Use DOS (OEM) codepage for output. </dd>
|
||||
|
||||
<dt>--utf8</dt>
|
||||
<dd>Use
|
||||
UTF-8 codepage for output. </dd>
|
||||
|
||||
<dt>--sfv</dt>
|
||||
<dd>Print hash sums in the SFV (Simple File Verification)
|
||||
output format (default). But unlike common SFV file, not only CRC32, but
|
||||
any hash sums specified by options can be printed. </dd>
|
||||
|
||||
<dt>-m, --magnet</dt>
|
||||
<dd>Print hash sums
|
||||
formatted as magnet links. </dd>
|
||||
|
||||
<dt>--bsd</dt>
|
||||
<dd>Use BSD output format. Each hash sum is printed
|
||||
on separate line after hash name and file’s path, enclosed in parentheses.
|
||||
</dd>
|
||||
|
||||
<dt>--simple</dt>
|
||||
<dd>Use simple output format. Each line will consist of filename and hash
|
||||
sums specified by options. </dd>
|
||||
|
||||
<dt>--uppercase</dt>
|
||||
<dd>Print hash sums in upper case. </dd>
|
||||
|
||||
<dt>--lowercase</dt>
|
||||
<dd>Print
|
||||
hash sums in lower case. </dd>
|
||||
|
||||
<dt>--template=<file></dt>
|
||||
<dd>Read printf-like template from given
|
||||
<file>. See the --printf option. </dd>
|
||||
|
||||
<dt>-p, --printf=<format></dt>
|
||||
<dd>Format: print <i>format</i> string
|
||||
the standard output, interpreting ‘\’ escapes and ‘%’ directives. The escapes
|
||||
and directives are: <blockquote></dd>
|
||||
|
||||
<dt>\n</dt>
|
||||
<dd>Newline. </dd>
|
||||
|
||||
<dt>\r</dt>
|
||||
<dd>Carriage return. </dd>
|
||||
|
||||
<dt>\t</dt>
|
||||
<dd>Horizontal tab. </dd>
|
||||
|
||||
<dt>\\</dt>
|
||||
<dd>A literal
|
||||
backslash (‘\’). </dd>
|
||||
|
||||
<dt>\0</dt>
|
||||
<dd>ASCII NUL. </dd>
|
||||
|
||||
<dt>\NNN</dt>
|
||||
<dd>The character which octal ASCII code is NNN.
|
||||
</dd>
|
||||
|
||||
<dt>\xNN</dt>
|
||||
<dd>The character which hexadecimal ASCII code is NN. </dd>
|
||||
</dl>
|
||||
<p>
|
||||
A ‘\’ character followed
|
||||
by any other character is treated as an ordinary character, so they both
|
||||
are printed.
|
||||
<dl>
|
||||
|
||||
<dt>%%</dt>
|
||||
<dd>A literal percent sign. </dd>
|
||||
|
||||
<dt>%p</dt>
|
||||
<dd>File’s path. </dd>
|
||||
|
||||
<dt>%f</dt>
|
||||
<dd>File’s name. </dd>
|
||||
|
||||
<dt>%u</dt>
|
||||
<dd>URL-encoded
|
||||
filename. </dd>
|
||||
|
||||
<dt>%s</dt>
|
||||
<dd>File’s size in bytes. </dd>
|
||||
|
||||
<dt>%{mtime}</dt>
|
||||
<dd>File’s last modification time. </dd>
|
||||
|
||||
<dt>%a
|
||||
or %A</dt>
|
||||
<dd>AICH hash sum. </dd>
|
||||
|
||||
<dt>%c or %C</dt>
|
||||
<dd>CRC32 hash sum. Use %c for lowercase and %C
|
||||
for uppercase characters. </dd>
|
||||
|
||||
<dt>%g or %G</dt>
|
||||
<dd>GOST R 34.11-94 hash. </dd>
|
||||
|
||||
<dt>%h or %H</dt>
|
||||
<dd>SHA1 hash. </dd>
|
||||
|
||||
<dt>%e
|
||||
or %E</dt>
|
||||
<dd>ED2K hash sum. </dd>
|
||||
|
||||
<dt>%l or %L</dt>
|
||||
<dd>EDonkey ed2k://... link. </dd>
|
||||
|
||||
<dt>%m or %M</dt>
|
||||
<dd>MD5 hash. </dd>
|
||||
|
||||
<dt>%r or
|
||||
%R</dt>
|
||||
<dd>RIPEMD-160 hash. </dd>
|
||||
|
||||
<dt>%t or %T</dt>
|
||||
<dd>TTH sum. </dd>
|
||||
|
||||
<dt>%w or %W</dt>
|
||||
<dd>Whirlpool hash. </dd>
|
||||
|
||||
<dt>%{md4}, %{sha-224},
|
||||
%{sha-256}, %{sha-384}, %{sha-512}, %{sha3-224},</dt>
|
||||
<dd> %{sha3-256}, %{sha3-384}, %{sha3-512}
|
||||
%{tiger}, %{btih}, %{gost-cryptopro},<br>
|
||||
%{has160}, %{snefru128}, %{snefru256}, %{edon-r256}, %{edon-r512}"<br>
|
||||
Print specified hash sum. Actually the %{<hash sum>} directive can print
|
||||
any supported hash sum. If a hash sum name starts with a capital letter
|
||||
then the hash is printed in uppercase, e.g. %{TTH}, %{Sha-512}. </dd>
|
||||
|
||||
<dt>%x<hash>, %b<hash>,
|
||||
%B<hash>, %@<hash></dt>
|
||||
<dd>Use one of these prefixes to output a hash sum in hexadecimal,
|
||||
base32, base64 or raw (binary) format respectively, e.g. %b{md4}, %BH or
|
||||
%xT. </dd>
|
||||
</dl>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
<h2><a name='sect7' href='#toc7'>Config File</a></h2>
|
||||
RHash looks for a config file on Windows at %APPDATA%\RHash\rhashrc,
|
||||
|
||||
<p>%HOMEDRIVE%%HOMEPATH%\rhashrc
|
||||
<p> and on Linux/Unix at $HOME/.rhashrc and /etc/rhashrc.
|
||||
|
||||
<p> The config file consists of lines formatted as <blockquote>variable = value </blockquote>
|
||||
|
||||
<p> where
|
||||
the <i>variable</i> can be a name of any command line option, like <i>magnet,</i> <i>printf,</i>
|
||||
<i>percents,</i> etc. A boolean variable can be set to true by a value ‘on’, ‘yes’
|
||||
or ‘true’, any other value sets the variable to false.
|
||||
<p> Empty lines and lines
|
||||
starting with ‘#’ or ‘;’ are ignored.
|
||||
<p> Example config file: <br>
|
||||
<pre># This is a comment line
|
||||
percents = on
|
||||
crc-accept = .sfv,.md5,.sha1,.sha256,.sha512,.tth,.magnet
|
||||
</pre>
|
||||
<p>
|
||||
<h2><a name='sect8' href='#toc8'>Author</a></h2>
|
||||
Aleksey Kravchenko <rhash.admin@gmail.com>
|
||||
<h2><a name='sect9' href='#toc9'>See Also</a></h2>
|
||||
<i><b>md5sum</b>(1)</i> <i><b>cksfv</b>(1)</i>
|
||||
<i><b>ed2k_hash</b>(1)</i>
|
||||
<h2><a name='sect10' href='#toc10'>Bugs</a></h2>
|
||||
Bug reports are welcome! Send them by email or post to
|
||||
the SourceForge Bug Tracking System <i><i>http://sourceforge.net/projects/rhash/</i></i>
|
||||
<p>
|
||||
|
||||
<hr><p>
|
||||
<a name='toc'><b>Table of Contents</b></a><p>
|
||||
<ul>
|
||||
<li><a name='toc0' href='#sect0'>Name</a></li>
|
||||
<li><a name='toc1' href='#sect1'>Synopsis</a></li>
|
||||
<li><a name='toc2' href='#sect2'>Description</a></li>
|
||||
<li><a name='toc3' href='#sect3'>Program Mode Options</a></li>
|
||||
<li><a name='toc4' href='#sect4'>Hash Sums Options</a></li>
|
||||
<li><a name='toc5' href='#sect5'>Miscellaneous Options</a></li>
|
||||
<li><a name='toc6' href='#sect6'>Output Format Options</a></li>
|
||||
<li><a name='toc7' href='#sect7'>Config File</a></li>
|
||||
<li><a name='toc8' href='#sect8'>Author</a></li>
|
||||
<li><a name='toc9' href='#sect9'>See Also</a></li>
|
||||
<li><a name='toc10' href='#sect10'>Bugs</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
BIN
etc/upx.exe
Normal file
BIN
etc/upx.exe
Normal file
Binary file not shown.
138
etc/upx.license.txt
Normal file
138
etc/upx.license.txt
Normal file
@ -0,0 +1,138 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
|
||||
|
||||
ooooo ooo ooooooooo. ooooooo ooooo
|
||||
`888' `8' `888 `Y88. `8888 d8'
|
||||
888 8 888 .d88' Y888..8P
|
||||
888 8 888ooo88P' `8888'
|
||||
888 8 888 .8PY888.
|
||||
`88. .8' 888 d8' `888b
|
||||
`YbodP' o888o o888o o88888o
|
||||
|
||||
|
||||
The Ultimate Packer for eXecutables
|
||||
Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar
|
||||
http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
|
||||
http://www.nexus.hu/upx
|
||||
http://upx.tsx.org
|
||||
|
||||
|
||||
PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN
|
||||
TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION.
|
||||
|
||||
|
||||
ABSTRACT
|
||||
========
|
||||
|
||||
UPX and UCL are copyrighted software distributed under the terms
|
||||
of the GNU General Public License (hereinafter the "GPL").
|
||||
|
||||
The stub which is imbedded in each UPX compressed program is part
|
||||
of UPX and UCL, and contains code that is under our copyright. The
|
||||
terms of the GNU General Public License still apply as compressing
|
||||
a program is a special form of linking with our stub.
|
||||
|
||||
As a special exception we grant the free usage of UPX for all
|
||||
executables, including commercial programs.
|
||||
See below for details and restrictions.
|
||||
|
||||
|
||||
COPYRIGHT
|
||||
=========
|
||||
|
||||
UPX and UCL are copyrighted software. All rights remain with the authors.
|
||||
|
||||
UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
|
||||
UPX is Copyright (C) 1996-2000 Laszlo Molnar
|
||||
|
||||
UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
|
||||
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
==========================
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
UPX and UCL are distributed in the hope that they will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
|
||||
|
||||
SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES
|
||||
============================================
|
||||
|
||||
The stub which is imbedded in each UPX compressed program is part
|
||||
of UPX and UCL, and contains code that is under our copyright. The
|
||||
terms of the GNU General Public License still apply as compressing
|
||||
a program is a special form of linking with our stub.
|
||||
|
||||
Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special
|
||||
permission to freely use and distribute all UPX compressed programs
|
||||
(including commercial ones), subject to the following restrictions:
|
||||
|
||||
1. You must compress your program with a completely unmodified UPX
|
||||
version; either with our precompiled version, or (at your option)
|
||||
with a self compiled version of the unmodified UPX sources as
|
||||
distributed by us.
|
||||
2. This also implies that the UPX stub must be completely unmodfied, i.e.
|
||||
the stub imbedded in your compressed program must be byte-identical
|
||||
to the stub that is produced by the official unmodified UPX version.
|
||||
3. The decompressor and any other code from the stub must exclusively get
|
||||
used by the unmodified UPX stub for decompressing your program at
|
||||
program startup. No portion of the stub may get read, copied,
|
||||
called or otherwise get used or accessed by your program.
|
||||
|
||||
|
||||
ANNOTATIONS
|
||||
===========
|
||||
|
||||
- You can use a modified UPX version or modified UPX stub only for
|
||||
programs that are compatible with the GNU General Public License.
|
||||
|
||||
- We grant you special permission to freely use and distribute all UPX
|
||||
compressed programs. But any modification of the UPX stub (such as,
|
||||
but not limited to, removing our copyright string or making your
|
||||
program non-decompressible) will immediately revoke your right to
|
||||
use and distribute a UPX compressed program.
|
||||
|
||||
- UPX is not a software protection tool; by requiring that you use
|
||||
the unmodified UPX version for your proprietary programs we
|
||||
make sure that any user can decompress your program. This protects
|
||||
both you and your users as nobody can hide malicious code -
|
||||
any program that cannot be decompressed is highly suspicious
|
||||
by definition.
|
||||
|
||||
- You can integrate all or part of UPX and UCL into projects that
|
||||
are compatible with the GNU GPL, but obviously you cannot grant
|
||||
any special exceptions beyond the GPL for our code in your project.
|
||||
|
||||
- We want to actively support manufacturers of virus scanners and
|
||||
similar security software. Please contact us if you would like to
|
||||
incorporate parts of UPX or UCL into such a product.
|
||||
|
||||
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
markus.oberhumer@jk.uni-linz.ac.at ml1050@cdata.tvnet.hu
|
||||
|
||||
Linz, Austria, 25 Feb 2000
|
||||
|
||||
|
||||
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: 2.6.3ia
|
||||
Charset: noconv
|
||||
|
||||
iQCVAwUBOLaLS210fyLu8beJAQFYVAP/ShzENWKLTvedLCjZbDcwaBEHfUVcrGMI
|
||||
wE7frMkbWT2zmkdv9hW90WmjMhOBu7yhUplvN8BKOtLiolEnZmLCYu8AGCwr5wBf
|
||||
dfLoClxnzfTtgQv5axF1awp4RwCUH3hf4cDrOVqmAsWXKPHtm4hx96jF6L4oHhjx
|
||||
OO03+ojZdO8=
|
||||
=CS52
|
||||
-----END PGP SIGNATURE-----
|
139
etc/upx.readme.txt
Normal file
139
etc/upx.readme.txt
Normal file
@ -0,0 +1,139 @@
|
||||
ooooo ooo ooooooooo. ooooooo ooooo
|
||||
`888' `8' `888 `Y88. `8888 d8'
|
||||
888 8 888 .d88' Y888..8P
|
||||
888 8 888ooo88P' `8888'
|
||||
888 8 888 .8PY888.
|
||||
`88. .8' 888 d8' `888b
|
||||
`YbodP' o888o o888o o88888o
|
||||
|
||||
|
||||
The Ultimate Packer for eXecutables
|
||||
Copyright (c) 1996-2016 Markus Oberhumer, Laszlo Molnar & John Reiser
|
||||
https://upx.github.io
|
||||
|
||||
|
||||
|
||||
WELCOME
|
||||
=======
|
||||
|
||||
Welcome to UPX !
|
||||
|
||||
Please don't forget to read the file LICENSE - UPX is distributed
|
||||
under the GNU General Public License (GPL) with special exceptions
|
||||
allowing the distribution of all compressed executables, including
|
||||
commercial programs.
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
============
|
||||
|
||||
UPX is an advanced executable file compressor. UPX will typically
|
||||
reduce the file size of programs and DLLs by around 50%-70%, thus
|
||||
reducing disk space, network load times, download times and
|
||||
other distribution and storage costs.
|
||||
|
||||
Programs and libraries compressed by UPX are completely self-contained
|
||||
and run exactly as before, with no runtime or memory penalty for most
|
||||
of the supported formats.
|
||||
|
||||
UPX supports a number of different executable formats, including
|
||||
Windows 95/98/ME/NT/2000/XP/CE programs and DLLs, DOS programs,
|
||||
and Linux executables and kernels.
|
||||
|
||||
UPX is free software distributed under the term of the GNU General
|
||||
Public License. Full source code is available.
|
||||
|
||||
UPX may be distributed and used freely, even with commercial applications.
|
||||
See the UPX License Agreement for details.
|
||||
|
||||
UPX is rated number one in the well known Archive Comparison Test. Visit
|
||||
http://compression.ca/ .
|
||||
|
||||
UPX aims to be Commercial Quality Freeware.
|
||||
|
||||
|
||||
SHORT DOCUMENTATION
|
||||
===================
|
||||
|
||||
'upx program.exe' will compress a program or DLL. For best compression
|
||||
results try 'upx --brute program.exe'.
|
||||
|
||||
Please see the file UPX.DOC for the full documentation. The files
|
||||
NEWS and BUGS also contain various tidbits of information.
|
||||
|
||||
|
||||
DISCLAIMER
|
||||
==========
|
||||
|
||||
UPX comes with ABSOLUTELY NO WARRANTY; for details see the file LICENSE.
|
||||
|
||||
Having said that, we think that UPX is quite stable now. Indeed we
|
||||
have compressed lots of files without any problems. Also, the
|
||||
current version has undergone several months of beta testing -
|
||||
actually it's almost 8 years since our first public beta.
|
||||
|
||||
This is the first production quality release, and we plan that future
|
||||
releases will be backward compatible with this version.
|
||||
|
||||
Please report all problems or suggestions to the authors. Thanks.
|
||||
|
||||
|
||||
THE FUTURE
|
||||
==========
|
||||
|
||||
- AArch64 (64-bit ARM) for Linux and iOS.
|
||||
|
||||
- The Linux approach could probably get ported to a lot of other Unix
|
||||
variants, at least for other i386 architectures it shouldn't be too
|
||||
much work. If someone sends me a fresh hard disk and an official
|
||||
FreeBSD/OpenBSD/NetBSD/Solaris/BeOS... CD I might take a look at it ;-)
|
||||
|
||||
- We will *NOT* add any sort of protection and/or encryption.
|
||||
This only gives people a false feeling of security because
|
||||
by definition all protectors/compressors can be broken.
|
||||
And don't trust any advertisement of authors of other executable
|
||||
compressors about this topic - just do a websearch on "unpackers"...
|
||||
|
||||
- Fix all remaining bugs - keep your reports coming ;-)
|
||||
|
||||
- See the file PROJECTS in the source code distribution if you want
|
||||
to contribute.
|
||||
|
||||
|
||||
COPYRIGHT
|
||||
=========
|
||||
|
||||
Copyright (C) 1996-2016 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2016 Laszlo Molnar
|
||||
Copyright (C) 2000-2016 John F. Reiser
|
||||
|
||||
This program may be used freely, and you are welcome to
|
||||
redistribute it under certain conditions.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
UPX License Agreement for more details.
|
||||
|
||||
You should have received a copy of the UPX License Agreement along
|
||||
with this program; see the file LICENSE. If not, visit the UPX home page.
|
||||
|
||||
|
||||
Share and enjoy,
|
||||
Markus & Laszlo & John
|
||||
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@BitWagon.com>
|
||||
|
||||
|
||||
[ The term UPX is a shorthand for the Ultimate Packer for eXecutables
|
||||
and holds no connection with potential owners of registered trademarks
|
||||
or other rights. ]
|
||||
|
||||
[ Feel free to contact us if you have commercial compression requirements
|
||||
or interesting job offers. ]
|
||||
|
BIN
etc/verpatch.exe
Normal file
BIN
etc/verpatch.exe
Normal file
Binary file not shown.
290
etc/verpatch.readme.txt
Normal file
290
etc/verpatch.readme.txt
Normal file
@ -0,0 +1,290 @@
|
||||
|
||||
Verpatch - a tool to patch win32 version resources on .exe or .dll files,
|
||||
|
||||
Version: 1.0.15 (25-Oct-2016)
|
||||
|
||||
Verpatch is a command line tool for adding and editing the version information
|
||||
of Windows executable files (applications, DLLs, kernel drivers)
|
||||
without rebuilding the executable.
|
||||
|
||||
It can also add or replace Win32 (native) resources, and do some other
|
||||
modifications of executable files.
|
||||
|
||||
Verpatch sets ERRORLEVEL 0 on success, otherwise errorlevel is non-zero.
|
||||
Verpatch modifies files in place, so please make copies of precious files.
|
||||
|
||||
|
||||
Command line syntax
|
||||
===================
|
||||
|
||||
verpatch filename [version] [/options]
|
||||
|
||||
Where
|
||||
- filename : any Windows PE file (exe, dll, sys, ocx...) that can have version resource
|
||||
- version : one to four decimal numbers, separated by dots, ex.: 1.2.3.4
|
||||
Additional text can follow the numbers; see examples below. Ex.: "1.2.3.4 extra text"
|
||||
|
||||
Common Options:
|
||||
|
||||
/va - creates a version resource. Use when the file has no version resource at all,
|
||||
or existing version resource should be replaced.
|
||||
If this option not specified, verpatch will read version resourse from the file.
|
||||
/s name "value" - add a version resource string attribute
|
||||
The name can be either a full attribute name or alias; see below.
|
||||
/sc "comment" - add or replace Comments string (shortcut for /s Comments "comment")
|
||||
/pv <version> - specify Product version
|
||||
where <version> arg has same form as the file version (1.2.3.4 or "1.2.3.4 text")
|
||||
/high - when less than 4 version numbers, these are higher numbers.
|
||||
The string representation will have as many components as specified.
|
||||
|
||||
Other options:
|
||||
|
||||
/fn - preserves Original filename, Internal name in the existing version resource of the file.
|
||||
/langid <number> - language id for new version resource.
|
||||
Use with /va. Default is Language Neutral.
|
||||
<number> is combination of primary and sublanguage IDs. ENU is 1033 or 0x409.
|
||||
/vo - outputs the version info in RC format to stdout.
|
||||
This can be used with /xi to dump a version resource without modification.
|
||||
Output of /vo can be pasted to a .rc file and compiled with rc.
|
||||
/xi- test mode. does all operations in memory but does not modify the file
|
||||
/xlb - test mode. Re-parses the version resource after modification.
|
||||
/rpdb - removes path to the .pdb file in debug information; leaves only file name.
|
||||
/rf #id file - add or replace a raw binary resource from file (see below)
|
||||
/noed - do not check for extra data appended to exe file
|
||||
/vft2 num - specify driver subtype (VFT2_xxx value, see winver.h)
|
||||
The application type (VFT_xxx) is retained from the existing version resource of the file,
|
||||
or filled automatically, based on the filename extension (.exe->app, .sys->driver, anything else->dll)
|
||||
|
||||
|
||||
Examples
|
||||
========
|
||||
|
||||
verpatch d:\foo.dll 1.2.33.44
|
||||
- Sets the file version to 1.2.33.44
|
||||
The Original file name and Internal name strings are set to "foo.dll".
|
||||
File foo.dll should already have a version resource (since /va not specified)
|
||||
|
||||
verpatch d:\foo.dll 1.2.33 /high
|
||||
- Sets three higher 3 numbers of the file version.
|
||||
The 4th number is not changed in the binary version struct,
|
||||
and the version as string will have three components.
|
||||
File foo.dll should already have a version resource.
|
||||
|
||||
verpatch d:\foo.dll 33.44 /s comment "a comment"
|
||||
- Replaces only two last numbers of the file version and adds a comment.
|
||||
File foo.dll should already have a version resource.
|
||||
|
||||
verpatch d:\foo.dll "33.44 special release" /pv 1.2.3.4
|
||||
- same as previous, with additional text in the version argument.
|
||||
- Product version is also specified
|
||||
|
||||
verpatch d:\foo.dll "1.2.33.44" /va /s description "foo.dll"
|
||||
/s company "My Company" /s copyright "(c) 2009"
|
||||
- creates or replaces version resource to foo.dll, with several string values.
|
||||
( all options should be one line)
|
||||
|
||||
verpatch d:\foo.dll /vo /xi
|
||||
- dumps the version resource in RC format, does not update the file.
|
||||
|
||||
Misc. functions
|
||||
================
|
||||
|
||||
* Add resource from a file
|
||||
|
||||
The /rf switch adds a resource from a file, or replaces a resource with same type and id.
|
||||
|
||||
The argument "#id" is a 32-bit hex number, prefixed with #.
|
||||
Low 16 bits of this value are resource id; can not be 0.
|
||||
Next 8 bits are resource type: one of RT_xxx symbols in winuser.h, or user defined.
|
||||
If the type value is 0, RT_RCDATA (10) is assumed.
|
||||
High 8 bits of the #id arg are reserved0.
|
||||
The language code of resources added by this switch is 0 (Neutral).
|
||||
Named resource types and ids are not implemented.
|
||||
The file is added as opaque binary chunk; the resource size is rounded up to 4 bytes
|
||||
and padded with zero bytes.
|
||||
|
||||
* Handling appended data
|
||||
|
||||
The program detects extra data appended to executable files, saves it and appends
|
||||
again after modifying resources.
|
||||
Command switch /noed disables checking for extra data.
|
||||
|
||||
Such extra data is used by some installers, self-extracting archives and other applications.
|
||||
However, the way we restore the data may be not compatible with these applications.
|
||||
Please, verify that executable files that contain extra data work correctly after modification.
|
||||
Make backup of valuable files before modification.
|
||||
|
||||
* Remove the path from debug info (.PDB) string
|
||||
|
||||
Use switch /rpdb to remove the path to the .pdb file in debug information; leave only file name.
|
||||
|
||||
Remarks
|
||||
=======
|
||||
|
||||
In "patch" mode (no /va option), verpatch replaces the version number in existing file
|
||||
version info resource with the values given on the command line.
|
||||
The version resource in the file is parsed, then parameters specified on the command line are applied.
|
||||
|
||||
If the file has no version resource, or you want to discard the existing resource, use /va switch.
|
||||
|
||||
Quotes surrounding arguments are needed for the command shell (cmd.exe),
|
||||
for any argument that contains spaces.
|
||||
Also, other characters should be escaped (ex. &, |, and ^ for cmd.exe).
|
||||
Null values can be specified as empty string ("").
|
||||
|
||||
The command line can become very long, so you may want to use a batch file or script.
|
||||
See the example batch files.
|
||||
|
||||
Verpatch can be run on same PE file any number of times.
|
||||
|
||||
The Version argument can be specified as 1 to 4 dot separated decimal numbers.
|
||||
Additional suffix can follow the version numbers, separated by a dash (-) or space.
|
||||
If the separator is space, the whole version argument must be enclosed in quotes.
|
||||
|
||||
If the switch /high not specified and less than 4 numbers are given,
|
||||
they are considered as minor numbers.
|
||||
The higher version parts are retained from existing version resource.
|
||||
For example, if the existing version info block has version number 1.2.3.4
|
||||
and 55.66 specified on the command line, the result will be 1.2.55.66.
|
||||
|
||||
If the switch /high is specified and less than 4 numbers are given,
|
||||
they are considered as higher numbers.
|
||||
For example, if the existing version info has version number 1.2.3.4
|
||||
and 55.66 /high specified on the command line, the result will be 55.66.3.4.
|
||||
|
||||
The /high switch has been added to support the "Semantic Versioning" syntax
|
||||
as described here: http://semver.org
|
||||
The "Semantic versioning", however, specifies only 3 parts for the version number,
|
||||
while Windows version numbers have 4 parts.
|
||||
Switch /high allows 3-part version numbers with optional "tail" separated by '-' or '+'
|
||||
but the text representation will not be displayed by Windows Explorer in Vista or newer.
|
||||
The file version displayed will always have 4 parts.
|
||||
|
||||
|
||||
Verpatch ensures that the version numbers in the binary part
|
||||
of the version structure and in the string part (as text) are same,
|
||||
or the text string begins with the same numbers as in the binary part.
|
||||
|
||||
By default, Original File Name and Internal File Name are replaced to the actual filename.
|
||||
Use /fn to preserve existing values in the version resource.
|
||||
|
||||
String attribute names for option /s must be language-neutral,
|
||||
not translations (example: PrivateBuild, not "Private Build Description").
|
||||
See below for the list of known attrbute names and their aliases.
|
||||
The examples above use the aliases.
|
||||
|
||||
String arguments for File version and Product version parameters are handled
|
||||
in a special way, the /s switch should not be used to set these:
|
||||
- The File version can be specified as the 2nd positional argument only
|
||||
- The Product version can be specified using /pv switch
|
||||
|
||||
|
||||
====================================================================
|
||||
Known string keys in VS_VERSION_INFO resource
|
||||
====================================================================
|
||||
|
||||
The aliases in the right column can be used with /s switch,
|
||||
in place of language-neutral (LN) attribute names.
|
||||
Attribute names are not case sensitive.
|
||||
|
||||
-------------------+----+-------------------------------+------------
|
||||
Lang.Neutral name |note| English translation | Aliases
|
||||
-------------------+----+-------------------------------+------------
|
||||
Comments Comments comment
|
||||
CompanyName Company company
|
||||
FileDescription E Description description, desc
|
||||
FileVersion *1 File Version
|
||||
InternalName Internal Name title
|
||||
*2 Language
|
||||
LegalCopyright E Copyright copyright, (c)
|
||||
LegalTrademarks E Legal Trademarks tm, (tm)
|
||||
OriginalFilename Original File Name
|
||||
ProductName Product Name product
|
||||
ProductVersion *3 Product Version productversion (*)
|
||||
PrivateBuild Private Build Description pb, private
|
||||
SpecialBuild Special Build Description sb, build
|
||||
OleSelfRegister A -
|
||||
AssemblyVersion N
|
||||
|
||||
Notes
|
||||
*1: FileVersion, ProductVersion should not be specified with /s switch.
|
||||
See the command line parameters above.
|
||||
The string values normally begin with same 1.2.3.4 version number as in the binary header,
|
||||
but can be any text. Explorer of WinXP also displays File Version text in the strings box.
|
||||
In Win7 or newer, Explorer displays the version numbers from the binary header only.
|
||||
|
||||
*2: The "Language" value is the name of the language code specified in the header of the
|
||||
string block of VS_VERSION_INFO resource (or taken from VarFileInfo block?)
|
||||
It is displayed by Windows XP Explorer.
|
||||
|
||||
*3 When Productversion is specified as a string attribute (/s productversion)
|
||||
rather than with /pv, the argument string will be put literally.
|
||||
This can be used to specify leading zeros in version numbers.
|
||||
|
||||
E: Displayed by Windows Explorer in Vista+
|
||||
A: Intended for some API (OleSelfRegister is used in COM object registration)
|
||||
N: Added by some .NET compilers. This version number is not contained in the
|
||||
binary part of the version struct and can differ from the file version.
|
||||
To change it, use switch /s AssemblyVersion [value]. Note: this will not
|
||||
change the actual .NET assembly version.
|
||||
====================================================================
|
||||
|
||||
|
||||
|
||||
Known issues and TO DO's:
|
||||
=========================
|
||||
|
||||
- Does not work on old PE files that have link version 5.x (before VC6?)
|
||||
No known workaround; this seems to be limitation of Windows UpdateResource API.
|
||||
Since the UpdateResource API is part of Windows, its behaviour may differ on
|
||||
different Windows releases. On Win7 SP1 you may get better results than on WinXP.
|
||||
|
||||
- Import of version resource does not work if it is not encoded in UTF-16.
|
||||
|
||||
- Does not work on files signed with digital certificates (TO DO: warn and remove certificate)
|
||||
Until we do this, certificates can be removed with 3rd party delcert tool.
|
||||
|
||||
- A second version resource may be added to a file that already has a version resource
|
||||
in other language. Switch /va won't help.
|
||||
TO DO: ensure that a file has only one version resource!
|
||||
|
||||
- When verpatch is invoked from command prompt, or batch file, the string
|
||||
arguments can contain only ANSI characters, because cmd.exe batch files cannot be
|
||||
in Unicode format. If you need to include characters not in current locale,
|
||||
use other shell languages that fully support Unicode (Powershell, vbs, js).
|
||||
|
||||
- TO DO: In RC source output (/vo), special characters in strings are not quoted;
|
||||
so /vo may produce invalid RC input.
|
||||
|
||||
- The parser of binary version resources handles only the most common type of structure.
|
||||
If the parser breaks because of unhandled structure format, try /va switch to
|
||||
skip reading existing version resource and re-create it from scratch.
|
||||
Consider using WINE or other open source implementations?
|
||||
|
||||
- option to add extra 0 after version strings : "string\0"
|
||||
(tentative, requested by a reader for some old VB code)
|
||||
|
||||
- For files with extra data appended, checksum is not re-calculated.
|
||||
Such files usually implement their own integrity check.
|
||||
|
||||
- Switch /va does not prevent import of existing version resource. Revise.
|
||||
|
||||
- When existing version string contains "tail" but the command line parameter does not,
|
||||
the tail is removed. In previous versions the tail was preserved.
|
||||
|
||||
- Running verpatch on certain executables (esp. built with GNU) produce corrupt file
|
||||
when run on WinXP SP3, but same binaries give good result when run on Win7 or 2008R2.
|
||||
(Improvement of UpdateResource API?)
|
||||
|
||||
|
||||
Source code
|
||||
============
|
||||
The source is provided as a Visual C++ 2013 project, it can be compiled with VC 2008, 2010, 2012 Express and newer.
|
||||
(The VC 2008 compatible project is in verpatch(vs2008).sln, verpatch.vcproj files. verpatch.sln, .vcxproj are for VC++ 2013).
|
||||
It demonstrates use of the UpdateResource and imagehlp.dll API.
|
||||
It does not demonstrate good use of C++, coding style or anything else.
|
||||
Dependencies on VC features available only in paid versions (before Community editions) have been removed.
|
||||
|
||||
UAC note: Verpatch does not require any administrator rights and may not work correctly if run elevated.
|
||||
|
||||
~~
|
14
z_build.bat
14
z_build.bat
@ -5,7 +5,6 @@ REM ///////////////////////////////////////////////////////////////////////////
|
||||
set "MSVC_PATH=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
|
||||
set "WSDK_PATH=C:\Program Files (x86)\Windows Kits\10"
|
||||
set "NSIS_PATH=C:\Program Files\NSIS\Unicode"
|
||||
set "UPX3_PATH=C:\Program Files\UPX"
|
||||
set "PDOC_PATH=C:\Program Files\Pandoc"
|
||||
set "TOOLS_VER=140"
|
||||
|
||||
@ -131,9 +130,9 @@ REM ///////////////////////////////////////////////////////////////////////////
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
REM // Compress
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
"%UPX3_PATH%\upx.exe" --brute "%PACK_PATH%\*.exe"
|
||||
"%UPX3_PATH%\upx.exe" --brute "%PACK_PATH%\MUtils32-?.dll
|
||||
"%UPX3_PATH%\upx.exe" --best "%PACK_PATH%\Qt*.dll"
|
||||
"%~dp0\etc\upx.exe" --brute "%PACK_PATH%\*.exe"
|
||||
"%~dp0\etc\upx.exe" --brute "%PACK_PATH%\MUtils32-?.dll
|
||||
"%~dp0\etc\upx.exe" --best "%PACK_PATH%\Qt*.dll"
|
||||
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
REM // Attributes
|
||||
@ -176,12 +175,17 @@ echo. >> "%PACK_PATH%\BUILD_TAG.txt"
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
REM // Build the installer
|
||||
REM ///////////////////////////////////////////////////////////////////////////
|
||||
"%NSIS_PATH%\makensis.exe" "/DX264_UPX_PATH=%UPX3_PATH%" "/DX264_DATE=%ISO_DATE%" "/DX264_BUILD=%BUILD_NO%" "/DX264_OUTPUT_FILE=%OUT_PATH%.sfx" "/DX264_SOURCE_PATH=%PACK_PATH%" "%~dp0\etc\setup\setup.nsi"
|
||||
"%NSIS_PATH%\makensis.exe" "/DX264_UPX_PATH=%~dp0\etc\upx.exe" "/DX264_DATE=%ISO_DATE%" "/DX264_BUILD=%BUILD_NO%" "/DX264_OUTPUT_FILE=%OUT_PATH%.sfx" "/DX264_SOURCE_PATH=%PACK_PATH%" "%~dp0\etc\setup\setup.nsi"
|
||||
if not "%ERRORLEVEL%"=="0" goto BuildError
|
||||
|
||||
call "%~dp0\etc\7zSD.cmd" "%OUT_PATH%.sfx" "%OUT_PATH%.exe" "Simple x264/x265 Launcher" "x264_launcher-setup-r%BUILD_NO%"
|
||||
if not "%ERRORLEVEL%"=="0" goto BuildError
|
||||
|
||||
set "VERPATCH_PRODUCT=Simple x264/x265 Launcher (Setup)"
|
||||
set "VERPATCH_FILEVER=%ISO_DATE:-=.%.%BUILD_NO%"
|
||||
"%~dp0\etc\verpatch.exe" "%OUT_PATH%.exe" "%VERPATCH_FILEVER%" /pv "%VERPATCH_FILEVER%" /fn /s desc "%VERPATCH_PRODUCT%" /s product "%VERPATCH_PRODUCT%" /s title "x264 Launcher Installer SFX" /s copyright "Copyright (C) 2004-2016 LoRd_MuldeR" /s company "Free Software Foundation"
|
||||
if not "%ERRORLEVEL%"=="0" goto BuildError
|
||||
|
||||
attrib +R "%OUT_PATH%.exe"
|
||||
attrib +R "%OUT_PATH%.sfx"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user