├── README.md ├── attic ├── README.md └── holdmybeer.png ├── pcw_hashzipcrypt ├── README.md ├── build.bat ├── clean.bat ├── helper.c ├── helper.h ├── main.c ├── pcw_hashzipcrypto.c ├── pcw_hashzipcrypto.h └── run.bat ├── pcw_inidecrypt ├── 3rd-party │ └── iniparser │ │ ├── .travis.yml │ │ ├── AUTHORS │ │ ├── FAQ-en.md │ │ ├── FAQ-zhcn.md │ │ ├── INSTALL │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── doc │ │ ├── Makefile │ │ ├── iniparser.dox │ │ └── iniparser.main │ │ ├── example │ │ ├── Makefile │ │ ├── iniexample.c │ │ ├── parse.c │ │ ├── twisted-errors.ini │ │ ├── twisted-genhuge.py │ │ ├── twisted-ofkey.ini │ │ ├── twisted-ofval.ini │ │ └── twisted.ini │ │ ├── html │ │ ├── doxygen.css │ │ ├── doxygen.png │ │ ├── globals_func.html │ │ ├── index.html │ │ ├── iniparser_8h.html │ │ ├── iniparser_8main.html │ │ ├── tab_b.gif │ │ ├── tab_l.gif │ │ ├── tab_r.gif │ │ └── tabs.css │ │ ├── src │ │ ├── dictionary.c │ │ ├── dictionary.h │ │ ├── iniparser.c │ │ └── iniparser.h │ │ └── test │ │ ├── CuTest.c │ │ ├── CuTest.h │ │ ├── CuTest_license.txt │ │ ├── Makefile │ │ ├── make-tests.sh │ │ ├── ressources │ │ ├── bad_ini │ │ │ ├── ends_well.ini │ │ │ ├── twisted-errors.ini │ │ │ ├── twisted-ofkey.ini │ │ │ └── twisted-ofval.ini │ │ └── good_ini │ │ │ ├── empty.ini │ │ │ ├── spaced.ini │ │ │ ├── spaced2.ini │ │ │ └── twisted.ini │ │ ├── test_dictionary.c │ │ └── test_iniparser.c ├── LICENSE.txt ├── README.md ├── build.bat ├── clean.bat ├── executable │ └── pcw_inidecrypt.exe ├── helper.c ├── helper.h ├── pcw_inidecrypt.c ├── pcw_lodlodl.c ├── pcw_lodlodl.h └── run.bat ├── pcw_rsa_donation ├── LICENSE ├── README.md ├── Walruss-RSA │ ├── Data.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── Walruss-RSA.csproj ├── Walruss-Update │ ├── App.config │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Walruss-Update.csproj │ └── Walruss-Update.sln └── example-data │ ├── input.txt │ ├── input.txt.sig │ ├── regioIT-update.key │ └── regioIT-update.pub ├── pcw_studiopatch ├── LICENSE.txt ├── README.md ├── build.bat ├── executable │ └── studiopatch.exe └── wahlrusse_studio_patch.c └── pcw_updatedecrypt ├── 3rd-party └── zlib-1.2.11 │ ├── CMakeLists.txt │ ├── ChangeLog │ ├── FAQ │ ├── INDEX │ ├── Makefile │ ├── Makefile.in │ ├── README │ ├── adler32.c │ ├── amiga │ ├── Makefile.pup │ └── Makefile.sas │ ├── compress.c │ ├── configure │ ├── contrib │ ├── README.contrib │ ├── ada │ │ ├── buffer_demo.adb │ │ ├── mtest.adb │ │ ├── read.adb │ │ ├── readme.txt │ │ ├── test.adb │ │ ├── zlib-streams.adb │ │ ├── zlib-streams.ads │ │ ├── zlib-thin.adb │ │ ├── zlib-thin.ads │ │ ├── zlib.adb │ │ ├── zlib.ads │ │ └── zlib.gpr │ ├── amd64 │ │ └── amd64-match.S │ ├── asm686 │ │ ├── README.686 │ │ └── match.S │ ├── blast │ │ ├── Makefile │ │ ├── README │ │ ├── blast.c │ │ ├── blast.h │ │ ├── test.pk │ │ └── test.txt │ ├── delphi │ │ ├── ZLib.pas │ │ ├── ZLibConst.pas │ │ ├── readme.txt │ │ └── zlibd32.mak │ ├── dotzlib │ │ ├── DotZLib.build │ │ ├── DotZLib.chm │ │ ├── DotZLib.sln │ │ ├── DotZLib │ │ │ ├── AssemblyInfo.cs │ │ │ ├── ChecksumImpl.cs │ │ │ ├── CircularBuffer.cs │ │ │ ├── CodecBase.cs │ │ │ ├── Deflater.cs │ │ │ ├── DotZLib.cs │ │ │ ├── DotZLib.csproj │ │ │ ├── GZipStream.cs │ │ │ ├── Inflater.cs │ │ │ └── UnitTests.cs │ │ ├── LICENSE_1_0.txt │ │ └── readme.txt │ ├── gcc_gvmat64 │ │ └── gvmat64.S │ ├── infback9 │ │ ├── README │ │ ├── infback9.c │ │ ├── infback9.h │ │ ├── inffix9.h │ │ ├── inflate9.h │ │ ├── inftree9.c │ │ └── inftree9.h │ ├── inflate86 │ │ ├── inffas86.c │ │ └── inffast.S │ ├── iostream │ │ ├── test.cpp │ │ ├── zfstream.cpp │ │ └── zfstream.h │ ├── iostream2 │ │ ├── zstream.h │ │ └── zstream_test.cpp │ ├── iostream3 │ │ ├── README │ │ ├── TODO │ │ ├── test.cc │ │ ├── zfstream.cc │ │ └── zfstream.h │ ├── masmx64 │ │ ├── bld_ml64.bat │ │ ├── gvmat64.asm │ │ ├── inffas8664.c │ │ ├── inffasx64.asm │ │ └── readme.txt │ ├── masmx86 │ │ ├── bld_ml32.bat │ │ ├── inffas32.asm │ │ ├── inffas32.lst │ │ ├── inffas32.obj │ │ ├── match686.asm │ │ ├── match686.lst │ │ ├── match686.obj │ │ └── readme.txt │ ├── minizip │ │ ├── Makefile │ │ ├── Makefile.am │ │ ├── MiniZip64_Changes.txt │ │ ├── MiniZip64_info.txt │ │ ├── configure.ac │ │ ├── crypt.h │ │ ├── ioapi.c │ │ ├── ioapi.h │ │ ├── iowin32.c │ │ ├── iowin32.h │ │ ├── make_vms.com │ │ ├── miniunz.c │ │ ├── miniunzip.1 │ │ ├── minizip.1 │ │ ├── minizip.c │ │ ├── minizip.pc.in │ │ ├── mztools.c │ │ ├── mztools.h │ │ ├── unzip.c │ │ ├── unzip.h │ │ ├── zip.c │ │ └── zip.h │ ├── pascal │ │ ├── example.pas │ │ ├── readme.txt │ │ ├── zlibd32.mak │ │ └── zlibpas.pas │ ├── puff │ │ ├── Makefile │ │ ├── README │ │ ├── puff.c │ │ ├── puff.h │ │ ├── pufftest.c │ │ └── zeros.raw │ ├── testzlib │ │ ├── testzlib.c │ │ └── testzlib.txt │ ├── untgz │ │ ├── Makefile │ │ ├── Makefile.msc │ │ └── untgz.c │ └── vstudio │ │ ├── readme.txt │ │ ├── vc10 │ │ ├── miniunz.vcxproj │ │ ├── miniunz.vcxproj.filters │ │ ├── minizip.vcxproj │ │ ├── minizip.vcxproj.filters │ │ ├── testzlib.vcxproj │ │ ├── testzlib.vcxproj.filters │ │ ├── testzlibdll.vcxproj │ │ ├── testzlibdll.vcxproj.filters │ │ ├── zlib.rc │ │ ├── zlibstat.vcxproj │ │ ├── zlibstat.vcxproj.filters │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ ├── zlibvc.vcxproj │ │ └── zlibvc.vcxproj.filters │ │ ├── vc11 │ │ ├── miniunz.vcxproj │ │ ├── minizip.vcxproj │ │ ├── testzlib.vcxproj │ │ ├── testzlibdll.vcxproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcxproj │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ └── zlibvc.vcxproj │ │ ├── vc12 │ │ ├── miniunz.vcxproj │ │ ├── minizip.vcxproj │ │ ├── testzlib.vcxproj │ │ ├── testzlibdll.vcxproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcxproj │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ └── zlibvc.vcxproj │ │ ├── vc14 │ │ ├── miniunz.vcxproj │ │ ├── minizip.vcxproj │ │ ├── testzlib.vcxproj │ │ ├── testzlibdll.vcxproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcxproj │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ ├── zlibvc.vcxproj │ │ └── zlibvc.vcxproj.user │ │ ├── vc9 │ │ ├── miniunz.vcproj │ │ ├── minizip.vcproj │ │ ├── testzlib.vcproj │ │ ├── testzlibdll.vcproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcproj │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ └── zlibvc.vcproj │ │ └── x86 │ │ ├── MiniUnzipDebug │ │ └── Tmp │ │ │ └── miniunz.log │ │ ├── MiniUnzipRelease │ │ └── Tmp │ │ │ └── miniunz.log │ │ ├── MiniZipDebug │ │ └── Tmp │ │ │ └── minizip.log │ │ ├── MiniZipRelease │ │ └── Tmp │ │ │ └── minizip.log │ │ ├── TestZlibDebug │ │ └── Tmp │ │ │ └── testzlib.log │ │ ├── TestZlibDllDebug │ │ └── Tmp │ │ │ └── testzlibdll.log │ │ ├── TestZlibDllRelease │ │ └── Tmp │ │ │ └── testzlibdll.log │ │ ├── TestZlibRelease │ │ └── Tmp │ │ │ └── testzlib.log │ │ ├── ZlibStatDebug │ │ └── Tmp │ │ │ └── zlibstat.log │ │ └── ZlibStatRelease │ │ └── Tmp │ │ └── zlibstat.log │ ├── crc32.c │ ├── crc32.h │ ├── deflate.c │ ├── deflate.h │ ├── doc │ ├── algorithm.txt │ ├── rfc1950.txt │ ├── rfc1951.txt │ ├── rfc1952.txt │ └── txtvsbin.txt │ ├── examples │ ├── README.examples │ ├── enough.c │ ├── fitblk.c │ ├── gun.c │ ├── gzappend.c │ ├── gzjoin.c │ ├── gzlog.c │ ├── gzlog.h │ ├── zlib_how.html │ ├── zpipe.c │ └── zran.c │ ├── gzclose.c │ ├── gzguts.h │ ├── gzlib.c │ ├── gzread.c │ ├── gzwrite.c │ ├── infback.c │ ├── inffast.c │ ├── inffast.h │ ├── inffixed.h │ ├── inflate.c │ ├── inflate.h │ ├── inftrees.c │ ├── inftrees.h │ ├── make_vms.com │ ├── msdos │ ├── Makefile.bor │ ├── Makefile.dj2 │ ├── Makefile.emx │ ├── Makefile.msc │ └── Makefile.tc │ ├── nintendods │ ├── Makefile │ └── README │ ├── old │ ├── Makefile.emx │ ├── Makefile.riscos │ ├── README │ ├── descrip.mms │ ├── os2 │ │ ├── Makefile.os2 │ │ └── zlib.def │ └── visual-basic.txt │ ├── os400 │ ├── README400 │ ├── bndsrc │ ├── make.sh │ └── zlib.inc │ ├── qnx │ └── package.qpg │ ├── test │ ├── example.c │ ├── infcover.c │ └── minigzip.c │ ├── treebuild.xml │ ├── trees.c │ ├── trees.h │ ├── uncompr.c │ ├── watcom │ ├── watcom_f.mak │ └── watcom_l.mak │ ├── win32 │ ├── DLL_FAQ.txt │ ├── Makefile.bor │ ├── Makefile.gcc │ ├── Makefile.msc │ ├── README-WIN32.txt │ ├── VisualC.txt │ ├── zlib.def │ └── zlib1.rc │ ├── zconf.h │ ├── zconf.h.cmakein │ ├── zconf.h.in │ ├── zlib.3 │ ├── zlib.3.pdf │ ├── zlib.h │ ├── zlib.map │ ├── zlib.pc.cmakein │ ├── zlib.pc.in │ ├── zlib2ansi │ ├── zutil.c │ └── zutil.h ├── LICENSE.txt ├── README.md ├── build.bat ├── clean.bat ├── executable └── pcw_updatedecrypt.exe ├── helper.c ├── helper.h ├── pcw_deupd.c └── run.bat /README.md: -------------------------------------------------------------------------------- 1 | # Walruss PC-Wahl 10 Hacking Tools 2 | 3 | **PC-Wahl 10 Update Decryptor** is a program that can be used to extract and build update packages for PC-Wahl 10 installations that are deployed on computers, used in election offices. 4 | 5 | **PC-Wahl 10 Password Decryptor** is a program that can be used to recover secret passwords from PC-Wahl 10 configuration (INI) files. 6 | 7 | **PC-Wahl 10 Studio Patcher** is a program that can be used to swap votes for party 1 and party 2 during final and preliminary result submission. 8 | 9 | **Walruss PC-Wahl 10.0 studio.hash zip - Password Extractor** is a program that can be used to recover secret studiohash.zip-passwords from PC-Wahl 10 studio.exe program. 10 | 11 | **Walruss RSA Data Signing - Eine Sachspende** pcw_rsa_donation/ is an example RSA-PSS implementation (open source donation) that could be used by PC-Wahl to secure at least their update-mechanism. 12 | 13 | ## Authors 14 | 15 | PC-Wahl 10.0 Update-Package Decrypter (c) 2017 16 | by Thorsten (THS) Schroeder 17 | 18 | PC-Wahl 10.0 INI-Passwort Decrypter (c) 2017 19 | by xonox and Thorsten (THS) Schroeder 20 | 21 | PC-Wahl 10 Studio Patcher (c) 2017 22 | by Thorsten (THS) Schroeder and Martin Tschirsich 23 | 24 | PC-Wahl 10.0 studio.hash zip - Password Extractor (c) 2017 25 | by Thorsten (THS) Schroeder 26 | 27 | Walruss RSA Data Signing - Eine Sachspende (c) 2017 Chaos Computer Club 28 | by Thorsten (THS) Schroeder 29 | 30 | ------------ 31 | 32 | 33 | # Walruss PC-Wahl 10 Hacking Tools 34 | 35 | **PC-Wahl 10 Update Decryptor** - это программа, которая может быть использована для извлечения и сборки пакетов обновлений для установок PC-Wahl 10, которые развертываются на компьютерах, используемых в избирательных бюро. 36 | 37 | **PC-Wahl 10 Password Decryptor** - это программа, которая может использоваться для восстановления секретных паролей из файлов конфигурации PC-Wahl 10 (INI). 38 | 39 | **PC-Wahl 10 Studio Patcher** - это программа, которая может использоваться для обмена голосами сторон 1 и 2 во время окончательного и предварительного представления результатов. 40 | 41 | ## Авторы 42 | 43 | PC-Wahl 10.0 Update-Package Decrypter (c) 2017г. by Thorsten (THS) Schroeder 44 | 45 | PC-Wahl 10.0 INI-Passwort Decrypter (c) 2017г. by xonox и Thorsten (THS) Schroeder 46 | 47 | PC-Wahl 10 Studio Patcher (c) 2017г. by Thorsten (THS) Schroeder и Martin Tschirsich 48 | -------------------------------------------------------------------------------- /attic/README.md: -------------------------------------------------------------------------------- 1 | # Walruss PC-Wahl 10 Attic 2 | 3 | Collection of random stuff. 4 | 5 | ## Hold my beer 6 | 7 | **holdmybeer.png** 8 | 9 | PC-Wahl vendor released a new version 170903 of his software. It only took a few hours to spot the differences and provide a new update-package that fits the newly introduced update mechanism. Their changelog was like "13.09.17: Changed to new update-system (digitally signed install packages)". However, it is still broken, and after a few hours we took a screenshot of the hex-editor, to demonstrate that we were able to (manually) built a malicious update-package using a simple hex-editor. 10 | 11 | This is the original tweet from September 14th, 2017 0:11 AM MEST: 12 | 13 | 14 | and here we go: 15 | 16 | ``` 17 | $ sha1sum holdmybeer.png 18 | b12a2d3d45d01cce9ee49a562a47d120bc168dcb *holdmybeer.png 19 | ``` 20 | 21 | ### Technical details 22 | 23 | The vendor realized that it is necessary to sign update packages. Instead of using signed MSI installers, which basically instruments the operating system to perform all the complicated crypto-verification, they build their own mechanism: 24 | 25 | * They programmed a "Hello World" application, called `PC-Wahl-Paket1.ex_`. This is a valid PE executable. When executed, a dialog box is opened, telling the user, that "this program has to be digitally signed". 26 | * `PC-Wahl-Paket1.ex_` is signed with a Comodo Code-Signing Certificate 27 | * The well-known update-package format (.010 file) is used to archive and encrypt updates. This .010-file is embedded in `PC-Wahl-Paket1.ex_` at a known offset (0x49c00). The 32-bit integer at offset 0x49c00 is the lengths of the .010-file. 28 | * The user is asked to manually verify, if `PC-Wahl-Paket1.ex_` is signed with a certificate by presenting a screenshot by the updater-program (programmaktualisierung10.exe). 29 | * The updater asks the user, if the user saw a "Signature OK" text in the file properties. If so, the user is asked to click on "OK" in a dialog-box by programmaktualisierung10.exe. 30 | * The updater (programmaktualisierung10.exe) opens the "Hello World" executable `PC-Wahl-Paket1.ex_` read-only, and extracts the .010 update archive file from offset 0x49c04. 31 | * Afterwards, the .010 file is decrypted, extracted and installed. 32 | 33 | There is a screencast video available, to demonstrate the exploitation of version 170913 update mechanism. In this video we used a certificate with "CN=regio iT gmbh", signed by a self-signed "C0MODO RSA Code Signing CA". However, the user probably does not care if it would have not been re-signed. 34 | 35 | -------------------------------------------------------------------------------- /attic/holdmybeer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/attic/holdmybeer.png -------------------------------------------------------------------------------- /pcw_hashzipcrypt/README.md: -------------------------------------------------------------------------------- 1 | # Walruss PC-Wahl 10.0 studio.hash zip - Password Extractor 2 | 3 | **PC-Wahl 10.0 studio.hash zip - Password Extractor** is a program that can be used to recover secret studiohash.zip-passwords from PC-Wahl 10 studio.exe program. 4 | 5 | ## Build 6 | 7 | To build the program via Microsoft Developer Command Prompt, go to the source directory and execute the build.bat batch file. 8 | 9 | ## Usage 10 | 11 | ``` 12 | >pcw_hashzipcrypto.exe 13 | [!] usage: pcw_hashzipcrypto.exe [-c|-x] 14 | [!] Examples: 15 | [!] -x 170905 studiohash-outputdir - extract studiohash.zip 16 | [!] -c 170905 studiohash-inputdir - create studiohash.zip 17 | [!] 18 | [!] Supported versions: 19 | [!] 170905: studio.exe shipped with update from September 5th, 2017. 20 | ``` 21 | 22 | The latest version of September 13th has not been implemented yet. 23 | 24 | ## PC-Wahl 10.0 studio.hash zip - Password Extractor 25 | 26 | The masqueraded AES-password for the studiohash.zip file is located at a certain offset in studio.exe. This tool can be used to extract and unmasq the secret password for the ZIP-file. The following algorithm has been used to masquerade the password: 27 | 28 | ``` 29 | char * hashzip_pw_demasq(char *buf, unsigned int len) 30 | { 31 | int i = 0; 32 | 33 | for(i=0; i 48 | 49 | -------------------------------------------------------------------------------- /pcw_hashzipcrypt/build.bat: -------------------------------------------------------------------------------- 1 | rem -- stuff made by ths 2 | 3 | @echo off 4 | 5 | rem for the XPz... 6 | set LINK="" 7 | 8 | set LINK=/SUBSYSTEM:CONSOLE,5.01 %LINK% 9 | 10 | rem /Zi for the debugz 11 | cl /W2 /MT /Fepcw_hashzipcrypto.exe main.c pcw_hashzipcrypto.c helper.c /I..\pcw_updatedecrypt\3rd-party\zlib-1.2.11 /I..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\contrib\minizip ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\contrib\minizip\unzip.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\contrib\minizip\zip.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\contrib\minizip\miniunz.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\contrib\minizip\minizip.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\inflate.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\deflate.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\crc32.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\adler32.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\inffast.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\contrib/minizip/iowin32.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\contrib/minizip/ioapi.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\zutil.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\trees.c ..\pcw_updatedecrypt\3rd-party\zlib-1.2.11\inftrees.c Shlwapi.lib 12 | 13 | 14 | -------------------------------------------------------------------------------- /pcw_hashzipcrypt/clean.bat: -------------------------------------------------------------------------------- 1 | rem -- stuff made by ths 2 | 3 | @echo off 4 | 5 | del *.exe *.obj *.pdb *ilk 6 | -------------------------------------------------------------------------------- /pcw_hashzipcrypt/helper.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 3 | * Thorsten Schroeder 4 | * 5 | * All rights reserved. 6 | * 7 | * "THE BEER-WARE LICENSE" (Revision 42): 8 | * Thorsten Schroeder wrote this file. As long as you 9 | * retain this notice you can do whatever you want with this stuff. If we meet 10 | * some day, and you think this stuff is worth it, you can buy me a beer in 11 | * return. Thorsten Schroeder. 12 | * 13 | * NON-MILITARY-USAGE CLAUSE 14 | * Redistribution and use in source and binary form for military use and 15 | * military research is not permitted. Infringement of these clauses may 16 | * result in publishing the source code of the utilizing applications and 17 | * libraries to the public. As this software is developed, tested and 18 | * reviewed by *international* volunteers, this clause shall not be refused 19 | * due to the matter of *national* security concerns. 20 | * 21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE DDK PROJECT BE LIABLE FOR ANY DIRECT, 25 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 28 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | * 32 | * File: helper.h 33 | * Description: Declaration & Documentation of helper functions. 34 | */ 35 | 36 | #ifndef _HELPER_H 37 | #define _HELPER_H 38 | 39 | #include 40 | 41 | /*! 42 | * print buffer as hex-dump. The input buffer is printed as hex-dump, with 43 | * an offset column first. The second column is the hexadecimal dump of the binary data. 44 | * Third column is the ascii representation of the input data. 45 | * Example: 46 | * 00000 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 0d 0a GET / HTTP/1.1.. 47 | * 48 | * @param[in] s source buffer 49 | * @param[in] l source buffer length 50 | * @param[in] o offset 51 | */ 52 | void print_hex_ascii_line(const unsigned char *s, int l, int o); 53 | 54 | /*! 55 | * print byte as hex. Prints input byte b as hex string. 56 | * @param[in] b byte 57 | */ 58 | void print_hex_byte(char b); 59 | 60 | /*! 61 | * print 16bit word as hex. Prints input word w as hex string. 62 | * @param[in] w word 63 | */ 64 | void print_hex_word(int16_t w); 65 | 66 | /*! 67 | * print 32bit dword as hex. Prints input dword d as hex string. 68 | * @param[in] d dword 69 | */ 70 | void print_hex_dword(int32_t d); 71 | 72 | /*! 73 | * print buffer as hex. Prints input byte buffer s as hex string. 74 | * @param[in] s source buffer 75 | * @param[in] l source buffer length 76 | */ 77 | void print_hex_buf(char *s, uint32_t l); 78 | 79 | int decode_nibble(char n); 80 | 81 | #endif -------------------------------------------------------------------------------- /pcw_hashzipcrypt/pcw_hashzipcrypto.c: -------------------------------------------------------------------------------- 1 | // 2 | // PC-Wahl 10.0 studio.hash zip - Password Extractor (c) 2017 3 | // by Thorsten (THS) Schroeder 4 | // 5 | 6 | /* 7 | BSD 3-Clause License 8 | 9 | Copyright (c) 2017, Chaos Computer Club 10 | Author: Thorsten (THS) Schroeder 11 | All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are met: 15 | 16 | * Redistributions of source code must retain the above copyright notice, this 17 | list of conditions and the following disclaimer. 18 | 19 | * Redistributions in binary form must reproduce the above copyright notice, 20 | this list of conditions and the following disclaimer in the documentation 21 | and/or other materials provided with the distribution. 22 | 23 | * Neither the name of the copyright holder nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | * NON-MILITARY-USAGE CLAUSE 28 | Redistribution and use in source and binary form for military use and 29 | military research is not permitted. Infringement of these clauses may 30 | result in publishing the source code of the utilizing applications and 31 | libraries to the public. As this software is developed, tested and 32 | reviewed by *international* volunteers, this clause shall not be refused 33 | due to the matter of *national* security concerns. 34 | 35 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 36 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 37 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 38 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 39 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 40 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 41 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 42 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 43 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 44 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 45 | */ 46 | 47 | char * hashzip_pw_demasq(char *buf, unsigned int len) 48 | { 49 | int i = 0; 50 | 51 | for(i=0; i 7 | // 8 | 9 | /* 10 | BSD 3-Clause License 11 | 12 | Copyright (c) 2017, Chaos Computer Club 13 | Author: Thorsten (THS) Schroeder 14 | All rights reserved. 15 | 16 | Redistribution and use in source and binary forms, with or without 17 | modification, are permitted provided that the following conditions are met: 18 | 19 | * Redistributions of source code must retain the above copyright notice, this 20 | list of conditions and the following disclaimer. 21 | 22 | * Redistributions in binary form must reproduce the above copyright notice, 23 | this list of conditions and the following disclaimer in the documentation 24 | and/or other materials provided with the distribution. 25 | 26 | * Neither the name of the copyright holder nor the names of its 27 | contributors may be used to endorse or promote products derived from 28 | this software without specific prior written permission. 29 | 30 | * NON-MILITARY-USAGE CLAUSE 31 | Redistribution and use in source and binary form for military use and 32 | military research is not permitted. Infringement of these clauses may 33 | result in publishing the source code of the utilizing applications and 34 | libraries to the public. As this software is developed, tested and 35 | reviewed by *international* volunteers, this clause shall not be refused 36 | due to the matter of *national* security concerns. 37 | 38 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 39 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 40 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 41 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 42 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 43 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 44 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 45 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 46 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 47 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 48 | */ 49 | 50 | char * hashzip_pw_demasq(char *buf, unsigned int len); 51 | char * hashzip_hash_decrypt(char *buf, unsigned int len); 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /pcw_hashzipcrypt/run.bat: -------------------------------------------------------------------------------- 1 | 2 | @echo off 3 | 4 | pcw_hashzipcrypto.exe -x 170905 C:\Users\ths\Desktop\Research\wahlrusse-update-20170905\pcw10dat1\extracted\studio.exe C:\Users\ths\Desktop\Research\wahlrusse-update-20170905\pcw10dat1\extracted\studiohash.zip studiohash_170905 5 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | 3 | env: 4 | - ENV_CC=clang 5 | - ENV_CC=clang++ 6 | - ENV_CC=gcc 7 | - ENV_CC=g++ 8 | 9 | script: CC=$ENV_CC make && CC=$ENV_CC make check 10 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/AUTHORS: -------------------------------------------------------------------------------- 1 | Author: Nicolas Devillard 2 | 3 | This tiny library has received countless contributions and I have 4 | not kept track of all the people who contributed. Let them be thanked 5 | for their ideas, code, suggestions, corrections, enhancements! 6 | 7 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/FAQ-en.md: -------------------------------------------------------------------------------- 1 | # iniparser FAQ # 2 | 3 | ## Is iniparser thread safe ? 4 | 5 | Starting from version 4, iniparser is designed to be thread-safe, provided 6 | you surround it with your own mutex logic. The choice to not add thread 7 | safety inside the library has been made to provide more freedom for the 8 | developer, especially when dealing with their own custom reading logic 9 | e.g. acquiring the mutex, reading entries with iniparser, then releasing 10 | the mutex. 11 | 12 | ## Your build system isn't portable, let me help you... 13 | 14 | We have received countless contributions from distrib people to modify the 15 | Makefile into what they think is the "standard", which we had to reject. 16 | The default, standard Makefile for Debian bears absolutely no relationship 17 | with the one from SuSE or RedHat and there is no possible way to merge them 18 | all. A build system is something so specific to each environment that it 19 | is completely pointless to try and push anything that claims to be 20 | standard. The provided Makefile in this project is purely here to have 21 | something to play with quickly. 22 | 23 | ## iniparser_dump() is slow 24 | 25 | The dumping functions are based on fprintf, which can turn out to be 26 | surprisingly slow on some embedded platforms. You can replace fprintf by a 27 | combined use of sprintf and fwrite, or you can use setvbuf() to change 28 | buffering parameters to accomodate fprintf(). Something like: 29 | 30 | setvbuf(f, NULL, _IOFBF, 0); 31 | 32 | ## iniparser does not compile with my C++ compiler! 33 | 34 | See the docs: iniparser is a C library. C++ is quite a different language, 35 | despite the promises of compatibility. You will have to modify iniparser 36 | quite heavily to make it work with a C++ compiler. Good luck! 37 | 38 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/FAQ-zhcn.md: -------------------------------------------------------------------------------- 1 | # iniparser FAQ # 2 | 3 | ## iniparser线程安全吗 ? 4 | 5 | 从版本4开始,iniparser被设计成线程安全的,你需要围绕它处理你自己的互斥逻辑。 6 | 选择不在库中添加线程安全,是为开发者提供更多的自由,特别是在处理他们自己的读 7 | 逻辑。如获取互斥锁,用iniparser阅读条目,然后释放互斥体。 8 | 9 | ## 你的构建系统不可移植,让我来帮助你... 10 | 11 | 我们已经收到了来各地的开发人员的无数贡献,将Makefile修改为他们认为是“标准”的 12 | 内容,但是我们不得不拒绝。 默认情况下,Debian的标准Makefile与SuSE或RedHat完 13 | 全没有关系,没有可能的方式将它们全部合并。 构建系统对于每个环境来说都是特别的, 14 | 尝试推动任何声称是标准的东西是完全没有意义的。 在这个项目中提供的Makefile纯粹 15 | 是为了快速的把库跑起来。 16 | 17 | ## iniparser_dump() 速度慢 18 | 19 | dump函数是基于fprintf的,在嵌入式平台上它可能导致很慢。你可以把fprintf换成 20 | sprintf和fwrite的组合,或者可以使用setvbfu()来改变fprintf的缓存参数。比如: 21 | 22 | setvbuf(f, NULL, _IOFBF, 0); 23 | 24 | ## 用我的c++编译器不能编译iniparser! 25 | 26 | 看文档:iniparser是一个C库。虽然C++兼容C,但它却是另外一门语言。让iniparser在 27 | C++编译器下工作,会是一份繁重的工作。祝你好运! 28 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/INSTALL: -------------------------------------------------------------------------------- 1 | 2 | iniParser installation instructions 3 | ----------------------------------- 4 | 5 | - Modify the Makefile to suit your environment. 6 | - Type 'make' to make the library. 7 | - Type 'make check' to make the test program. 8 | - Type 'test/iniexample' to launch the test program. 9 | - Type 'test/parse' to launch torture tests. 10 | 11 | 12 | 13 | Enjoy! 14 | N. Devillard 15 | Wed Mar 2 21:14:17 CET 2011 16 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2000-2011 by Nicolas Devillard. 2 | MIT License 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a 5 | copy of this software and associated documentation files (the "Software"), 6 | to deal in the Software without restriction, including without limitation 7 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | and/or sell copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 20 | DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # iniparser Makefile 3 | # 4 | .PHONY: example 5 | 6 | # Compiler settings 7 | CC ?= gcc 8 | 9 | CFLAGS += -fPIC -Wall -Wextra -ansi -pedantic 10 | ifndef DEBUG 11 | ADDITIONAL_CFLAGS ?= -O2 12 | else 13 | ADDITIONAL_CFLAGS ?= -g 14 | endif 15 | 16 | CFLAGS += ${ADDITIONAL_CFLAGS} 17 | 18 | # Ar settings to build the library 19 | AR ?= ar 20 | ARFLAGS = rcv 21 | 22 | SHLD = ${CC} ${CFLAGS} 23 | LDSHFLAGS = -shared -Wl,-Bsymbolic 24 | LDFLAGS += -Wl,-rpath -Wl,/usr/lib -Wl,-rpath,/usr/lib 25 | 26 | # .so.0 is for version 3.x, .so.1 is 4.x 27 | SO_TARGET ?= libiniparser.so.1 28 | 29 | # Set RANLIB to ranlib on systems that require it (Sun OS < 4, Mac OSX) 30 | # RANLIB = ranlib 31 | RANLIB = true 32 | 33 | RM ?= rm -f 34 | 35 | 36 | # Implicit rules 37 | 38 | SUFFIXES = .o .c .h .a .so .sl 39 | 40 | COMPILE.c ?= $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c 41 | 42 | ifndef V 43 | QUIET_AR = @echo "AR $@"; 44 | QUIET_CC = @echo "CC $@"; 45 | QUIET_LINK = @echo "LINK $@"; 46 | QUIET_RANLIB = @echo "RANLIB $@"; 47 | endif 48 | 49 | .c.o: 50 | $(QUIET_CC)$(COMPILE.c) $(OUTPUT_OPTION) $< 51 | 52 | 53 | SRCS = src/iniparser.c \ 54 | src/dictionary.c 55 | 56 | OBJS = $(SRCS:.c=.o) 57 | 58 | 59 | default: libiniparser.a $(SO_TARGET) 60 | 61 | libiniparser.a: $(OBJS) 62 | $(QUIET_AR)$(AR) $(ARFLAGS) $@ $^ 63 | $(QUIET_RANLIB)$(RANLIB) $@ 64 | 65 | $(SO_TARGET): $(OBJS) 66 | $(QUIET_LINK)$(SHLD) $(LDSHFLAGS) $(LDFLAGS) -o $(SO_TARGET) $(OBJS) \ 67 | -Wl,-soname=`basename $(SO_TARGET)` 68 | 69 | clean: 70 | $(RM) $(OBJS) 71 | @(cd test ; $(MAKE) clean) 72 | 73 | veryclean: 74 | $(RM) $(OBJS) libiniparser.a $(SO_TARGET) 75 | rm -rf ./html ; mkdir html 76 | cd example ; $(MAKE) veryclean 77 | cd test ; $(MAKE) veryclean 78 | 79 | docs: 80 | @(cd doc ; $(MAKE)) 81 | 82 | check: $(SO_TARGET) 83 | @(cd test ; $(MAKE)) 84 | 85 | example: libiniparser.a 86 | @(cd example ; $(MAKE)) 87 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.org/ndevilla/iniparser.svg?branch=master)](https://travis-ci.org/ndevilla/iniparser) 2 | 3 | # Iniparser 4 # 4 | 5 | 6 | ## I - Overview 7 | 8 | This modules offers parsing of ini files from the C level. 9 | See a complete documentation in HTML format, from this directory 10 | open the file html/index.html with any HTML-capable browser. 11 | 12 | Key features : 13 | 14 | - Small : around 1500 sloc inside 4 files (2 .c and 2 .h) 15 | - Portable : no dependancies, written in `-ansi -pedantic` C89 16 | - Fully reintrant : easy to make it thread-safe (just surround 17 | library calls by mutex) 18 | 19 | ## II - Building project 20 | 21 | A simple `make` at the root of the project should be enough to get the static 22 | (i.e. `libiniparser.a`) and shared (i.e. `libiniparser.so.0`) libraries compiled. 23 | 24 | You should consider trying the following rules too : 25 | 26 | - `make check` : run the unitary tests 27 | - `make example` : compile the example, run it with `./example/iniexample` 28 | 29 | ## III - License 30 | 31 | This software is released under MIT License. 32 | See LICENSE for full informations 33 | 34 | ## IV - Versions 35 | 36 | Current version is 4.0 which introduces breaking changes in the api. 37 | Older versions 3.1 and 3.2 with the legacy api are available as tags. 38 | 39 | 40 | ## V - FAQ 41 | 42 | See [FAQ-en.md](FAQ-en.md) in this directory for answers to Frequently Asked Questions. 43 | 44 | 还有简化中国翻译在[FAQ-zhcn.md](FAQ-zhcn.md). 45 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/doc/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # iniparser doc Makefile 3 | # 4 | 5 | all: html 6 | 7 | html: 8 | doxygen iniparser.dox 9 | rm -f ../html/annotated.html 10 | rm -f ../html/classes.html 11 | rm -f ../html/doxygen.gif 12 | rm -f ../html/files.html 13 | rm -f ../html/functions.html 14 | rm -f ../html/globals.html 15 | rm -f ../html/iniparser_main.html 16 | 17 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/doc/iniparser.dox: -------------------------------------------------------------------------------- 1 | PROJECT_NAME = iniparser 2 | PROJECT_NUMBER = 4.0 3 | OUTPUT_DIRECTORY = .. 4 | OUTPUT_LANGUAGE = English 5 | EXTRACT_ALL = YES 6 | EXTRACT_PRIVATE = NO 7 | EXTRACT_STATIC = NO 8 | HIDE_UNDOC_MEMBERS = NO 9 | BRIEF_MEMBER_DESC = YES 10 | REPEAT_BRIEF = YES 11 | ALWAYS_DETAILED_SEC = NO 12 | FULL_PATH_NAMES = NO 13 | STRIP_FROM_PATH = 14 | INTERNAL_DOCS = NO 15 | SOURCE_BROWSER = NO 16 | INLINE_SOURCES = NO 17 | STRIP_CODE_COMMENTS = YES 18 | CASE_SENSE_NAMES = YES 19 | HIDE_SCOPE_NAMES = NO 20 | VERBATIM_HEADERS = NO 21 | SHOW_INCLUDE_FILES = NO 22 | JAVADOC_AUTOBRIEF = NO 23 | INHERIT_DOCS = YES 24 | INLINE_INFO = YES 25 | SORT_MEMBER_DOCS = YES 26 | DISTRIBUTE_GROUP_DOC = NO 27 | TAB_SIZE = 4 28 | ENABLED_SECTIONS = 29 | GENERATE_TODOLIST = NO 30 | GENERATE_TESTLIST = NO 31 | ALIASES = 32 | MAX_INITIALIZER_LINES = 30 33 | OPTIMIZE_OUTPUT_FOR_C = YES 34 | QUIET = NO 35 | WARNINGS = YES 36 | WARN_IF_UNDOCUMENTED = YES 37 | WARN_FORMAT = "$file:$line: $text" 38 | WARN_LOGFILE = 39 | INPUT = iniparser.main ../src 40 | FILE_PATTERNS = iniparser.h 41 | RECURSIVE = NO 42 | EXCLUDE = 43 | EXCLUDE_PATTERNS = 44 | EXAMPLE_PATH = 45 | EXAMPLE_PATTERNS = 46 | IMAGE_PATH = 47 | INPUT_FILTER = 48 | FILTER_SOURCE_FILES = NO 49 | ALPHABETICAL_INDEX = YES 50 | COLS_IN_ALPHA_INDEX = 5 51 | IGNORE_PREFIX = 52 | GENERATE_HTML = YES 53 | HTML_OUTPUT = html 54 | HTML_HEADER = 55 | HTML_FOOTER = 56 | HTML_STYLESHEET = 57 | HTML_ALIGN_MEMBERS = YES 58 | GENERATE_HTMLHELP = NO 59 | DISABLE_INDEX = YES 60 | ENUM_VALUES_PER_LINE = 4 61 | GENERATE_TREEVIEW = NO 62 | TREEVIEW_WIDTH = 250 63 | 64 | GENERATE_LATEX = NO 65 | GENERATE_RTF = NO 66 | GENERATE_MAN = NO 67 | 68 | ENABLE_PREPROCESSING = NO 69 | MACRO_EXPANSION = NO 70 | EXPAND_ONLY_PREDEF = NO 71 | SEARCH_INCLUDES = NO 72 | INCLUDE_PATH = 73 | INCLUDE_FILE_PATTERNS = 74 | PREDEFINED = 75 | EXPAND_AS_DEFINED = 76 | TAGFILES = 77 | GENERATE_TAGFILE = 78 | ALLEXTERNALS = NO 79 | PERL_PATH = /usr/bin/perl 80 | HAVE_DOT = NO 81 | SEARCHENGINE = NO 82 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/example/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # iniparser tests Makefile 3 | # 4 | 5 | CC ?= gcc 6 | CFLAGS += -g -I../src 7 | LFLAGS += -L.. -liniparser 8 | AR ?= ar 9 | ARFLAGS += rcv 10 | RM ?= rm -f 11 | 12 | 13 | default: all 14 | 15 | all: iniexample parse 16 | 17 | iniexample: iniexample.c 18 | $(CC) $(CFLAGS) -o iniexample iniexample.c -I../src -L.. -liniparser 19 | 20 | parse: parse.c 21 | $(CC) $(CFLAGS) -o parse parse.c -I../src -L.. -liniparser 22 | 23 | clean veryclean: 24 | $(RM) iniexample example.ini parse 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/example/iniexample.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #include "iniparser.h" 7 | 8 | void create_example_ini_file(void); 9 | int parse_ini_file(char * ini_name); 10 | 11 | int main(int argc, char * argv[]) 12 | { 13 | int status ; 14 | 15 | if (argc<2) { 16 | create_example_ini_file(); 17 | status = parse_ini_file("example.ini"); 18 | } else { 19 | status = parse_ini_file(argv[1]); 20 | } 21 | return status ; 22 | } 23 | 24 | void create_example_ini_file(void) 25 | { 26 | FILE * ini ; 27 | 28 | if ((ini=fopen("example.ini", "w"))==NULL) { 29 | fprintf(stderr, "iniparser: cannot create example.ini\n"); 30 | return ; 31 | } 32 | 33 | fprintf(ini, 34 | "#\n" 35 | "# This is an example of ini file\n" 36 | "#\n" 37 | "\n" 38 | "[Pizza]\n" 39 | "\n" 40 | "Ham = yes ;\n" 41 | "Mushrooms = TRUE ;\n" 42 | "Capres = 0 ;\n" 43 | "Cheese = Non ;\n" 44 | "\n" 45 | "\n" 46 | "[Wine]\n" 47 | "\n" 48 | "Grape = Cabernet Sauvignon ;\n" 49 | "Year = 1989 ;\n" 50 | "Country = Spain ;\n" 51 | "Alcohol = 12.5 ;\n" 52 | "\n"); 53 | fclose(ini); 54 | } 55 | 56 | 57 | int parse_ini_file(char * ini_name) 58 | { 59 | dictionary * ini ; 60 | 61 | /* Some temporary variables to hold query results */ 62 | int b ; 63 | int i ; 64 | double d ; 65 | const char * s ; 66 | 67 | ini = iniparser_load(ini_name); 68 | if (ini==NULL) { 69 | fprintf(stderr, "cannot parse file: %s\n", ini_name); 70 | return -1 ; 71 | } 72 | iniparser_dump(ini, stderr); 73 | 74 | /* Get pizza attributes */ 75 | printf("Pizza:\n"); 76 | 77 | b = iniparser_getboolean(ini, "pizza:ham", -1); 78 | printf("Ham: [%d]\n", b); 79 | b = iniparser_getboolean(ini, "pizza:mushrooms", -1); 80 | printf("Mushrooms: [%d]\n", b); 81 | b = iniparser_getboolean(ini, "pizza:capres", -1); 82 | printf("Capres: [%d]\n", b); 83 | b = iniparser_getboolean(ini, "pizza:cheese", -1); 84 | printf("Cheese: [%d]\n", b); 85 | 86 | /* Get wine attributes */ 87 | printf("Wine:\n"); 88 | s = iniparser_getstring(ini, "wine:grape", NULL); 89 | printf("Grape: [%s]\n", s ? s : "UNDEF"); 90 | 91 | i = iniparser_getint(ini, "wine:year", -1); 92 | printf("Year: [%d]\n", i); 93 | 94 | s = iniparser_getstring(ini, "wine:country", NULL); 95 | printf("Country: [%s]\n", s ? s : "UNDEF"); 96 | 97 | d = iniparser_getdouble(ini, "wine:alcohol", -1.0); 98 | printf("Alcohol: [%g]\n", d); 99 | 100 | iniparser_freedict(ini); 101 | return 0 ; 102 | } 103 | 104 | 105 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/example/parse.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #include "iniparser.h" 7 | 8 | int main(int argc, char * argv[]) 9 | { 10 | dictionary * ini ; 11 | char * ini_name ; 12 | 13 | if (argc<2) { 14 | ini_name = "twisted.ini"; 15 | } else { 16 | ini_name = argv[1] ; 17 | } 18 | 19 | ini = iniparser_load(ini_name); 20 | iniparser_dump(ini, stdout); 21 | iniparser_freedict(ini); 22 | 23 | return 0 ; 24 | } 25 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/example/twisted-errors.ini: -------------------------------------------------------------------------------- 1 | # 2 | # All of these should trigger syntax errors 3 | # 4 | [section] 5 | hello 6 | world 7 | hello \ 8 | world 9 | a + b ; 10 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/example/twisted-genhuge.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import os 3 | import sys 4 | 5 | if __name__=="__main__": 6 | f=open('twisted-massive.ini', 'w') 7 | for i in range(100): 8 | f.write('[%03d]\n' % i) 9 | for j in range(100): 10 | f.write('key-%03d=1;\n' % j) 11 | f.close() 12 | 13 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/example/twisted.ini: -------------------------------------------------------------------------------- 1 | # 2 | # Twisted.ini 3 | # This file is meant for regression tests 4 | 5 | # Different blank settings around the equal sign 6 | [blanks] 7 | a=1 8 | b=1; 9 | c=1; comment 10 | d=1# comment 11 | 12 | e =1 13 | f =1; 14 | g =1; comment 15 | h =1# comment 16 | 17 | i= 1 18 | j= 1; 19 | k= 1; comment 20 | l= 1# comment 21 | 22 | m = 1 23 | n = 1; 24 | o = 1; comment 25 | p = 1# comment 26 | 27 | q=1 ; 28 | r=1 ; comment 29 | s=1 ;comment 30 | t=1 #comment 31 | 32 | # Empty values 33 | [empty] 34 | a = '' 35 | b = "" 36 | 37 | c = '' ; 38 | d = "" ; 39 | 40 | e = '' ; comment 41 | f = "" ; comment 42 | 43 | g = 44 | h = ; 45 | i = ; comment 46 | j = # comment 47 | 48 | k= 49 | l=; 50 | m=;comment 51 | n=# 52 | 53 | # Peculiar values 54 | [peculiar] 55 | a=';'; 56 | b='#'# 57 | c=';';comment 58 | d='#'#comment 59 | e=\; 60 | f=\# 61 | g=\;comment 62 | h=\#comment 63 | i=;; 64 | j=## 65 | k=;;;;;;;;;; 66 | l=########## 67 | 68 | # Quotes 69 | [quotes] 70 | s1=' 71 | s2='' 72 | s3=''' 73 | s4='''' 74 | 75 | d1=" 76 | d2="" 77 | d3=""" 78 | d4="""" 79 | 80 | m1='"' 81 | m2="'" 82 | 83 | h1=hello'world 84 | h2='hello'world 85 | h3='hello'world' 86 | 87 | h4=hello"world 88 | h5="hello"world 89 | h6="hello"world" 90 | 91 | # Section names 92 | [a] 93 | [ b] 94 | [c ] 95 | [ d ] 96 | [ begin end ] 97 | [ open[ ] 98 | 99 | # Multi-line inputs 100 | [multi] 101 | a = begin\ 102 | end 103 | b = begin \ 104 | end 105 | c = begin \ 106 | end 107 | d = 1\ 108 | 2\ 109 | 3\ 110 | 4 111 | e = 1 \ 112 | 2 \ 113 | 3 \ 114 | 4 115 | f = 1 ; \ 116 | hidden = because of the preceding backslash multi-lining the comment ; 117 | visible = 1 118 | g = 1 #\ 119 | and now this comment is hidden too \ 120 | and this one too 121 | h = 1 122 | multi \ 123 | line \ 124 | key = 1 125 | multi \ 126 | line \ 127 | key = \ 128 | multi \ 129 | line \ 130 | value ; 131 | # end of file 132 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_inidecrypt/3rd-party/iniparser/html/doxygen.png -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/html/globals_func.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | iniparser: Data Fields 6 | 7 | 8 | 9 | 10 | 11 |
12 | 16 |
17 |
18 |   59 |
60 |
Generated on Wed Mar 2 22:04:59 2011 for iniparser by  61 | 62 | doxygen 1.6.3
63 | 64 | 65 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/html/iniparser_8main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | iniparser: iniparser.main File Reference 6 | 7 | 8 | 9 | 10 | 11 |
12 |

iniparser.main File Reference

13 |
14 |
15 |
Generated on Wed Mar 2 22:04:59 2011 for iniparser by  16 | 17 | doxygen 1.6.3
18 | 19 | 20 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/html/tab_b.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_inidecrypt/3rd-party/iniparser/html/tab_b.gif -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/html/tab_l.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_inidecrypt/3rd-party/iniparser/html/tab_l.gif -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/html/tab_r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_inidecrypt/3rd-party/iniparser/html/tab_r.gif -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/html/tabs.css: -------------------------------------------------------------------------------- 1 | /* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ 2 | 3 | DIV.tabs 4 | { 5 | float : left; 6 | width : 100%; 7 | background : url("tab_b.gif") repeat-x bottom; 8 | margin-bottom : 4px; 9 | } 10 | 11 | DIV.tabs UL 12 | { 13 | margin : 0px; 14 | padding-left : 10px; 15 | list-style : none; 16 | } 17 | 18 | DIV.tabs LI, DIV.tabs FORM 19 | { 20 | display : inline; 21 | margin : 0px; 22 | padding : 0px; 23 | } 24 | 25 | DIV.tabs FORM 26 | { 27 | float : right; 28 | } 29 | 30 | DIV.tabs A 31 | { 32 | float : left; 33 | background : url("tab_r.gif") no-repeat right top; 34 | border-bottom : 1px solid #84B0C7; 35 | font-size : 80%; 36 | font-weight : bold; 37 | text-decoration : none; 38 | } 39 | 40 | DIV.tabs A:hover 41 | { 42 | background-position: 100% -150px; 43 | } 44 | 45 | DIV.tabs A:link, DIV.tabs A:visited, 46 | DIV.tabs A:active, DIV.tabs A:hover 47 | { 48 | color: #1A419D; 49 | } 50 | 51 | DIV.tabs SPAN 52 | { 53 | float : left; 54 | display : block; 55 | background : url("tab_l.gif") no-repeat left top; 56 | padding : 5px 9px; 57 | white-space : nowrap; 58 | } 59 | 60 | DIV.tabs #MSearchBox 61 | { 62 | float : right; 63 | display : inline; 64 | font-size : 1em; 65 | } 66 | 67 | DIV.tabs TD 68 | { 69 | font-size : 80%; 70 | font-weight : bold; 71 | text-decoration : none; 72 | } 73 | 74 | 75 | 76 | /* Commented Backslash Hack hides rule from IE5-Mac \*/ 77 | DIV.tabs SPAN {float : none;} 78 | /* End IE5-Mac hack */ 79 | 80 | DIV.tabs A:hover SPAN 81 | { 82 | background-position: 0% -150px; 83 | } 84 | 85 | DIV.tabs LI.current A 86 | { 87 | background-position: 100% -150px; 88 | border-width : 0px; 89 | } 90 | 91 | DIV.tabs LI.current SPAN 92 | { 93 | background-position: 0% -150px; 94 | padding-bottom : 6px; 95 | } 96 | 97 | DIV.navpath 98 | { 99 | background : none; 100 | border : none; 101 | border-bottom : 1px solid #84B0C7; 102 | text-align : center; 103 | margin : 2px; 104 | padding : 2px; 105 | } 106 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/test/CuTest_license.txt: -------------------------------------------------------------------------------- 1 | NOTE 2 | 3 | The license is based on the zlib/libpng license. For more details see 4 | http://www.opensource.org/licenses/zlib-license.html. The intent of the 5 | license is to: 6 | 7 | - keep the license as simple as possible 8 | - encourage the use of CuTest in both free and commercial applications 9 | and libraries 10 | - keep the source code together 11 | - give credit to the CuTest contributors for their work 12 | 13 | If you ship CuTest in source form with your source distribution, the 14 | following license document must be included with it in unaltered form. 15 | If you find CuTest useful we would like to hear about it. 16 | 17 | LICENSE 18 | 19 | Copyright (c) 2003 Asim Jalis 20 | 21 | This software is provided 'as-is', without any express or implied 22 | warranty. In no event will the authors be held liable for any damages 23 | arising from the use of this software. 24 | 25 | Permission is granted to anyone to use this software for any purpose, 26 | including commercial applications, and to alter it and redistribute it 27 | freely, subject to the following restrictions: 28 | 29 | 1. The origin of this software must not be misrepresented; you must not 30 | claim that you wrote the original software. If you use this software in 31 | a product, an acknowledgment in the product documentation would be 32 | appreciated but is not required. 33 | 34 | 2. Altered source versions must be plainly marked as such, and must not 35 | be misrepresented as being the original software. 36 | 37 | 3. This notice may not be removed or altered from any source 38 | distribution. 39 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/test/Makefile: -------------------------------------------------------------------------------- 1 | CC ?= gcc 2 | 3 | ifndef V 4 | QUIET_CC = @echo "CC $@"; 5 | QUIET_MAKE_TESTS = @echo "GN Alltests.c"; 6 | endif 7 | 8 | DEPS = $(shell ls ../src/*.[ch]) 9 | 10 | SRC = $(shell ls *.c | sed 's/AllTests.c//') 11 | OBJ = $(SRC:.c=.o) 12 | 13 | INCLUDE = -I../src 14 | CFLAGS += -pipe -ansi -pedantic -Wall -Wextra -g 15 | LDFLAGS += 16 | 17 | all: check 18 | 19 | check: testrun 20 | @./testrun 21 | 22 | testrun: AllTests.o $(OBJ) 23 | $(QUIET_CC)$(CC) -o $@ AllTests.o $(OBJ) $(LDFLAGS) 24 | 25 | AllTests.o: $(OBJ) 26 | $(QUIET_MAKE_TESTS)./make-tests.sh > AllTests.c 27 | $(QUIET_CC)$(CC) -c -o AllTests.o AllTests.c $(CFLAGS) $(INCLUDE) 28 | 29 | %.o: %.c $(DEPS) 30 | $(QUIET_CC)$(CC) -c -o $@ $< $(CFLAGS) $(INCLUDE) 31 | 32 | clean veryclean: 33 | rm -rf AllTests.c 34 | rm -rf $(OBJ) AllTests.o 35 | rm -rf testrun 36 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/test/make-tests.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Auto generate single AllTests file for CuTest. 4 | # Searches through all *.c files in the current directory. 5 | # Prints to stdout. 6 | # Author: Asim Jalis 7 | # Date: 01/08/2003 8 | 9 | if test $# -eq 0 ; then FILES=*.c ; else FILES=$* ; fi 10 | 11 | echo ' 12 | 13 | /* This is auto-generated code. Edit at your own peril. */ 14 | #include 15 | #include 16 | 17 | #include "CuTest.h" 18 | 19 | ' 20 | 21 | cat $FILES | grep '^void Test' | 22 | sed -e 's/(.*$//' \ 23 | -e 's/$/(CuTest*);/' \ 24 | -e 's/^/extern /' 25 | 26 | echo \ 27 | ' 28 | 29 | void RunAllTests(void) 30 | { 31 | CuString *output = CuStringNew(); 32 | CuSuite* suite = CuSuiteNew(); 33 | 34 | ' 35 | cat $FILES | grep '^void Test' | 36 | sed -e 's/^void //' \ 37 | -e 's/(.*$//' \ 38 | -e 's/^/ SUITE_ADD_TEST(suite, /' \ 39 | -e 's/$/);/' 40 | 41 | echo \ 42 | ' 43 | CuSuiteRun(suite); 44 | CuSuiteSummary(suite, output); 45 | CuSuiteDetails(suite, output); 46 | printf("%s\n", output->buffer); 47 | CuStringDelete(output); 48 | CuSuiteDelete(suite); 49 | } 50 | 51 | int main(void) 52 | { 53 | RunAllTests(); 54 | return 0; 55 | } 56 | ' 57 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/test/ressources/bad_ini/ends_well.ini: -------------------------------------------------------------------------------- 1 | # 2 | # This dict contains an error but ends up with a correct entry 3 | # 4 | [section] 5 | error is here 6 | a = b 7 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/test/ressources/bad_ini/twisted-errors.ini: -------------------------------------------------------------------------------- 1 | # 2 | # All of these should trigger syntax errors 3 | # 4 | [section] 5 | hello 6 | world 7 | hello \ 8 | world 9 | a + b ; 10 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/test/ressources/good_ini/empty.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_inidecrypt/3rd-party/iniparser/test/ressources/good_ini/empty.ini -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/test/ressources/good_ini/spaced.ini: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/test/ressources/good_ini/spaced2.ini: -------------------------------------------------------------------------------- 1 | 2 | # spaced2.ini 3 | 4 | [blanks] 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | a=1 17 | b=1; 18 | c=1; comment 19 | d=1# comment 20 | -------------------------------------------------------------------------------- /pcw_inidecrypt/3rd-party/iniparser/test/ressources/good_ini/twisted.ini: -------------------------------------------------------------------------------- 1 | # 2 | # Twisted.ini 3 | # This file is meant for regression tests 4 | 5 | # Different blank settings around the equal sign 6 | [blanks] 7 | a=1 8 | b=1; 9 | c=1; comment 10 | d=1# comment 11 | 12 | e =1 13 | f =1; 14 | g =1; comment 15 | h =1# comment 16 | 17 | i= 1 18 | j= 1; 19 | k= 1; comment 20 | l= 1# comment 21 | 22 | m = 1 23 | n = 1; 24 | o = 1; comment 25 | p = 1# comment 26 | 27 | q=1 ; 28 | r=1 ; comment 29 | s=1 ;comment 30 | t=1 #comment 31 | 32 | # Empty values 33 | [empty] 34 | a = '' 35 | b = "" 36 | 37 | c = '' ; 38 | d = "" ; 39 | 40 | e = '' ; comment 41 | f = "" ; comment 42 | 43 | g = 44 | h = ; 45 | i = ; comment 46 | j = # comment 47 | 48 | k= 49 | l=; 50 | m=;comment 51 | n=# 52 | 53 | # Peculiar values 54 | [peculiar] 55 | a=';'; 56 | b='#'# 57 | c=';';comment 58 | d='#'#comment 59 | e=\; 60 | f=\# 61 | g=\;comment 62 | h=\#comment 63 | i=;; 64 | j=## 65 | k=;;;;;;;;;; 66 | l=########## 67 | 68 | # Quotes 69 | [quotes] 70 | s1=' 71 | s2='' 72 | s3=''' 73 | s4='''' 74 | 75 | d1=" 76 | d2="" 77 | d3=""" 78 | d4="""" 79 | 80 | m1='"' 81 | m2="'" 82 | 83 | h1=hello'world 84 | h2='hello'world 85 | h3='hello'world' 86 | 87 | h4=hello"world 88 | h5="hello"world 89 | h6="hello"world" 90 | 91 | # Section names 92 | [a] 93 | [ b] 94 | [c ] 95 | [ d ] 96 | [ begin end ] 97 | [ open[ ] 98 | 99 | # Multi-line inputs 100 | [multi] 101 | a = begin\ 102 | end 103 | b = begin \ 104 | end 105 | c = begin \ 106 | end 107 | d = 1\ 108 | 2\ 109 | 3\ 110 | 4 111 | e = 1 \ 112 | 2 \ 113 | 3 \ 114 | 4 115 | f = 1 ; \ 116 | hidden = because of the preceding backslash multi-lining the comment ; 117 | visible = 1 118 | g = 1 #\ 119 | and now this comment is hidden too \ 120 | and this one too 121 | h = 1 122 | multi \ 123 | line \ 124 | key = 1 125 | multi \ 126 | line \ 127 | key = \ 128 | multi \ 129 | line \ 130 | value ; 131 | # end of file 132 | -------------------------------------------------------------------------------- /pcw_inidecrypt/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | BSD 3-Clause License 3 | 4 | Copyright (c) 2017, Chaos Computer Club 5 | Author: xonox 6 | Author: Thorsten (THS) Schroeder 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without 10 | modification, are permitted provided that the following conditions are met: 11 | 12 | * Redistributions of source code must retain the above copyright notice, this 13 | list of conditions and the following disclaimer. 14 | 15 | * Redistributions in binary form must reproduce the above copyright notice, 16 | this list of conditions and the following disclaimer in the documentation 17 | and/or other materials provided with the distribution. 18 | 19 | * Neither the name of the copyright holder nor the names of its 20 | contributors may be used to endorse or promote products derived from 21 | this software without specific prior written permission. 22 | 23 | * NON-MILITARY-USAGE CLAUSE 24 | Redistribution and use in source and binary form for military use and 25 | military research is not permitted. Infringement of these clauses may 26 | result in publishing the source code of the utilizing applications and 27 | libraries to the public. As this software is developed, tested and 28 | reviewed by *international* volunteers, this clause shall not be refused 29 | due to the matter of *national* security concerns. 30 | 31 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 32 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 33 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 34 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 35 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 37 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 38 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 39 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 40 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | 42 | ---------------------------------------------------------------------------------- 43 | 44 | This project uses iniparser by Nicolas Devillard which has been released under 45 | MIT license. Please visit https://travis-ci.org/ndevilla/iniparser and/or 46 | 3rd-party\iniparser for further details. 47 | 48 | ---------------------------------------------------------------------------------- 49 | -------------------------------------------------------------------------------- /pcw_inidecrypt/README.md: -------------------------------------------------------------------------------- 1 | # Walruss PC-Wahl 10 Password Decryptor 2 | 3 | **PC-Wahl 10 Password Decryptor** is a program that can be used to recover secret passwords from PC-Wahl 10 configuration (INI) files. 4 | 5 | ## Build 6 | 7 | To build the program via Microsoft Developer Command Prompt, go to the source directory and execute the build.bat batch file. 8 | 9 | ## Usage 10 | 11 | To dump and highlight decrypted passwords from ini-files, execute pcw_inidecrypt.exe with the path to PC-Wahl 10 directory as an argument. Example: `pcw_inidecrypt.exe "c:\wahlruss\PC-Wahl 10"` 12 | 13 | pcw_inidecrypt.exe will recursivly go through the directories to find all ini-files. If an ini-file contains an "encrypted" value, it will be decrypted using *PC-Wahl 10 ini-encraption* and highlighted. 14 | 15 | ## PC-Wahl 10 ini-encraption 1 16 | 17 | The ciphertext is encoded using a decimal octet string representation of binary data. E. g. a binary sequence in hex {0xff, 0x05, 0x7F} is encoded as ASCII string "255005127". The encryption algorithm does not even use a secret key: 18 | 19 | ```c 20 | for(i=0; i 63 | 64 | -------------------------------------------------------------------------------- /pcw_inidecrypt/build.bat: -------------------------------------------------------------------------------- 1 | rem -- stuff made by ths 2 | 3 | @echo off 4 | 5 | rem for the XPz... 6 | set LINK=/SUBSYSTEM:CONSOLE,5.01 %LINK% 7 | 8 | rem /Zi for the debugz 9 | cl /W2 /MT /Fepcw_inidecrypt.exe /I3rd-party\iniparser\src pcw_inidecrypt.c pcw_lodlodl.c helper.c 3rd-party\iniparser\src\dictionary.c 3rd-party\iniparser\src\iniparser.c shlwapi.lib 10 | 11 | -------------------------------------------------------------------------------- /pcw_inidecrypt/clean.bat: -------------------------------------------------------------------------------- 1 | rem -- stuff made by ths 2 | 3 | @echo off 4 | 5 | del *.exe *.obj *.pdb *ilk 6 | -------------------------------------------------------------------------------- /pcw_inidecrypt/executable/pcw_inidecrypt.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_inidecrypt/executable/pcw_inidecrypt.exe -------------------------------------------------------------------------------- /pcw_inidecrypt/helper.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 3 | * Thorsten Schroeder 4 | * 5 | * All rights reserved. 6 | * 7 | * "THE BEER-WARE LICENSE" (Revision 42): 8 | * Thorsten Schroeder wrote this file. As long as you 9 | * retain this notice you can do whatever you want with this stuff. If we meet 10 | * some day, and you think this stuff is worth it, you can buy me a beer in 11 | * return. Thorsten Schroeder. 12 | * 13 | * NON-MILITARY-USAGE CLAUSE 14 | * Redistribution and use in source and binary form for military use and 15 | * military research is not permitted. Infringement of these clauses may 16 | * result in publishing the source code of the utilizing applications and 17 | * libraries to the public. As this software is developed, tested and 18 | * reviewed by *international* volunteers, this clause shall not be refused 19 | * due to the matter of *national* security concerns. 20 | * 21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE DDK PROJECT BE LIABLE FOR ANY DIRECT, 25 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 28 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | * 32 | * File: helper.h 33 | * Description: Declaration & Documentation of helper functions. 34 | */ 35 | 36 | #ifndef _HELPER_H 37 | #define _HELPER_H 38 | 39 | #include 40 | 41 | /*! 42 | * print buffer as hex-dump. The input buffer is printed as hex-dump, with 43 | * an offset column first. The second column is the hexadecimal dump of the binary data. 44 | * Third column is the ascii representation of the input data. 45 | * Example: 46 | * 00000 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 0d 0a GET / HTTP/1.1.. 47 | * 48 | * @param[in] s source buffer 49 | * @param[in] l source buffer length 50 | * @param[in] o offset 51 | */ 52 | void print_hex_ascii_line(const unsigned char *s, int l, int o); 53 | 54 | /*! 55 | * print byte as hex. Prints input byte b as hex string. 56 | * @param[in] b byte 57 | */ 58 | void print_hex_byte(char b); 59 | 60 | /*! 61 | * print 16bit word as hex. Prints input word w as hex string. 62 | * @param[in] w word 63 | */ 64 | void print_hex_word(int16_t w); 65 | 66 | /*! 67 | * print 32bit dword as hex. Prints input dword d as hex string. 68 | * @param[in] d dword 69 | */ 70 | void print_hex_dword(int32_t d); 71 | 72 | /*! 73 | * print buffer as hex. Prints input byte buffer s as hex string. 74 | * @param[in] s source buffer 75 | * @param[in] l source buffer length 76 | */ 77 | void print_hex_buf(char *s, uint32_t l); 78 | 79 | int decode_nibble(char n); 80 | 81 | #endif -------------------------------------------------------------------------------- /pcw_inidecrypt/pcw_lodlodl.h: -------------------------------------------------------------------------------- 1 | #ifndef _PCW_LODLODL_H 2 | #define _PCW_LODLODL_H 3 | 4 | // 5 | // PC-Wahl 10.0 INI-Passwort Decrypter (c) 2017 6 | // by xonox & Thorsten (THS) Schroeder 7 | // 8 | 9 | /* 10 | BSD 3-Clause License 11 | 12 | Copyright (c) 2017, Chaos Computer Club 13 | Author: xonox 14 | Author: Thorsten (THS) Schroeder 15 | All rights reserved. 16 | 17 | Redistribution and use in source and binary forms, with or without 18 | modification, are permitted provided that the following conditions are met: 19 | 20 | * Redistributions of source code must retain the above copyright notice, this 21 | list of conditions and the following disclaimer. 22 | 23 | * Redistributions in binary form must reproduce the above copyright notice, 24 | this list of conditions and the following disclaimer in the documentation 25 | and/or other materials provided with the distribution. 26 | 27 | * Neither the name of the copyright holder nor the names of its 28 | contributors may be used to endorse or promote products derived from 29 | this software without specific prior written permission. 30 | 31 | * NON-MILITARY-USAGE CLAUSE 32 | Redistribution and use in source and binary form for military use and 33 | military research is not permitted. Infringement of these clauses may 34 | result in publishing the source code of the utilizing applications and 35 | libraries to the public. As this software is developed, tested and 36 | reviewed by *international* volunteers, this clause shall not be refused 37 | due to the matter of *national* security concerns. 38 | 39 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 40 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 41 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 42 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 43 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 44 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 45 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 46 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 47 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 48 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 49 | */ 50 | 51 | char * lodlodl_decrapt(char *ciphertext_string); 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /pcw_inidecrypt/run.bat: -------------------------------------------------------------------------------- 1 | 2 | @echo off 3 | 4 | pcw_deini.exe "C:\walruss\PC-Wahl 10" 5 | 6 | -------------------------------------------------------------------------------- /pcw_rsa_donation/Walruss-RSA/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Walruss-Updater - RSA-PSS Sign/Verify Class-Library")] 9 | [assembly: AssemblyDescription("Walruss-Updater - RSA-PSS Sign/Verify Class-Library")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Chaos Computer Club")] 12 | [assembly: AssemblyProduct("Walruss-RSA")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("fdf31232-19ca-4d11-8f93-99bccc9b1566")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /pcw_rsa_donation/Walruss-RSA/Walruss-RSA.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {FDF31232-19CA-4D11-8F93-99BCCC9B1566} 8 | Library 9 | Properties 10 | Walruss 11 | Walruss.Updates 12 | v4.6.1 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /pcw_rsa_donation/Walruss-Update/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /pcw_rsa_donation/Walruss-Update/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Walruss-Updater - Sign/Verify Beispiel")] 9 | [assembly: AssemblyDescription("Code-Spende an PC-Wahl Hersteller - So macht updaten Spass!")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Chaos Computer Club")] 12 | [assembly: AssemblyProduct("Walruss-Update")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("5ba739be-2d19-4770-b5a3-cfedad9987b3")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /pcw_rsa_donation/Walruss-Update/Walruss-Update.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {5BA739BE-2D19-4770-B5A3-CFEDAD9987B3} 8 | Exe 9 | Walruss 10 | Walruss 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | {fdf31232-19ca-4d11-8f93-99bccc9b1566} 54 | Walruss-RSA 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /pcw_rsa_donation/Walruss-Update/Walruss-Update.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.16 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Walruss-Update", "Walruss-Update.csproj", "{5BA739BE-2D19-4770-B5A3-CFEDAD9987B3}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Walruss-RSA", "..\Walruss-RSA\Walruss-RSA.csproj", "{FDF31232-19CA-4D11-8F93-99BCCC9B1566}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {5BA739BE-2D19-4770-B5A3-CFEDAD9987B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {5BA739BE-2D19-4770-B5A3-CFEDAD9987B3}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {5BA739BE-2D19-4770-B5A3-CFEDAD9987B3}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {5BA739BE-2D19-4770-B5A3-CFEDAD9987B3}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {FDF31232-19CA-4D11-8F93-99BCCC9B1566}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {FDF31232-19CA-4D11-8F93-99BCCC9B1566}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {FDF31232-19CA-4D11-8F93-99BCCC9B1566}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {FDF31232-19CA-4D11-8F93-99BCCC9B1566}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /pcw_rsa_donation/example-data/input.txt: -------------------------------------------------------------------------------- 1 | AAAA -------------------------------------------------------------------------------- /pcw_rsa_donation/example-data/input.txt.sig: -------------------------------------------------------------------------------- 1 | ZVzDjDPy6+e2J8vcVtE9WrRduKH6V5DJZOi6ad52bX/AOS+tC3geoKC8/wyPfXLyLdXKOxd7wimM/1d8W+ejRsDlKA9nl+Qk1T0+gyUegTGG+VL9op9W8g7hssFaBKxoYah3yZwLUwHM4bXTdI+yd/LcVgkCMEot1adunHnCCBskVBOaPvoH7kHHvKG/GU7BkaEd6iA0Vlw9OUWeQ8V84Uzx7QJvWn0NfIx4FfOlf9v/40jej9Jt/mCGQP7N57D1g8FQKfqgrZp/eFWCoFNIER/FPxJBA5LOKIahSsnT1yZLw0eR50K3MeIBR0/xdzY4KcCOxN/OHzE79ZwvjARwLg== -------------------------------------------------------------------------------- /pcw_rsa_donation/example-data/regioIT-update.key: -------------------------------------------------------------------------------- 1 | tj2/p4UOtsbxK56qqEpHkgOPa6UhrHHNtaBCn2FvYxJggyjQBRKF6peO6WBHFMOZEg7ML/gZtQR+PPAkx/Vct61HtsybqtuPQelzBN/gfaOgh1x1WaAB8xluc/v7RbgK0kTBGvT0GR3kR732TCDBQF+S8U2uCIZtxtbFcojS9LlaFaJNRHG3ZjifPJhScdzNDyyEdjso3sjhN1gkNhrk9VvmCTZAppD0PvmyL4V8L7XZpnyGyaMpfos73bebssrVOszvHr/8j3tN+WZhmlngx2Fh8JNFleVL7NbWs8ZfM3Lj1Hdd5GvDOKnye7byRnxu6SGme8tanbpi0d6S8heZhw==AQAB

80BObUZsYUagkaLW0e4ydapepbxx6R6jElHDJT/2uste55rtEEl5iydQCwFgSgPe95foq5Lf0R8MaWS9ABf6i50gdk9PsZeKP3Yvili1HNzveywebJB2KxYTFYTeVZjQfNI1BQ4xanfLV5WAfTdhcnL5mvi2oVVKodw70LS7Stc=

v8rfh9r3Spg2MfkMNcT9jlyPkfGuRP5F2enVCsRfSREk6dqC7IBp2MWWaQZTUa8KG76V1iB+kymJwbiBkY5ZnK1+EOKiOHR2u6R3XVmgatERnMU1I1QPGFqi5AMLY7eO4e9CDKA2xXifQddt63XuqiYXe+5X4GCKy3LlByncgNE=CZwHvR9kFq+wljBFpkNvsOBLHucD5P612HpsaCNPvu9bz3B6XwNYDtw9uEGUqTff7g4NPgHuX5eHaP52zPMljbBmYOYfMtfWuU0U8bUxanN77nS+uvE2Cdu0Y0w9cEo6KkQvngSChT84RDx+t/OhIOFT5QBgTp1M9nn5zvPk1j8=pYn/gY03YIUcUem55jcO+u9dZASL/DTUKZAwN8jizXgkukvGMUdtFJMGjcPN6nUAbo4DWfxWA8MYicIs42tQYXFFnGFgzwWG7dK4zDPtyASIBR4aDVIibUzdx5vxGrJ2ewA9rBQk8jB4lSXSVCdIRkf2gRtpcdsiMRQMJjC1h+E=U3QPuhuf12jAZkWm5ybXetw02R6CMPljJYDLpIW5vDZCF5BuHqBRW4yVcQrVgs/yhYXMTWM/lU7WQ4fVVJhC3Dis3ws+9WSnpbguXbzkPu53tBuOWtRdZMPWOI9aDSB1eEm4p1YEppzx3zH77ITrkauYvjYb7hEEkZcv3X7Y3F8=R80qXrk44+CcEqCQAoBJlIjcj//etY+dCetbdGoyNal+5w5Eb0suAhC2mNJ7Dv5Fp+y2nEu27TAZAK9o/nN4lVGrSKVyy6130vNEgu4mB7pZPBu8jJRTUFF7yCzGgmCRuuil4JYUOnUhhPaePL5HBbLiNTpy0B8Oz2G9J3QrEYnuQVs3gpA9EJkIrFfhXCC9kAbjv4+JrqsrXajycE1ulphD+zkJcb/cdcnpGk1Bkkon9EpT/MMZpDmq4PqPb/uuBW9zOMS0XKLsVaDBSh20cSAT54JVds4saaOVIHvty/rb2nGqlTlxZOy4jO+L7xKcV7k+qM6C81KtPFa+h186YQ==
-------------------------------------------------------------------------------- /pcw_rsa_donation/example-data/regioIT-update.pub: -------------------------------------------------------------------------------- 1 | tj2/p4UOtsbxK56qqEpHkgOPa6UhrHHNtaBCn2FvYxJggyjQBRKF6peO6WBHFMOZEg7ML/gZtQR+PPAkx/Vct61HtsybqtuPQelzBN/gfaOgh1x1WaAB8xluc/v7RbgK0kTBGvT0GR3kR732TCDBQF+S8U2uCIZtxtbFcojS9LlaFaJNRHG3ZjifPJhScdzNDyyEdjso3sjhN1gkNhrk9VvmCTZAppD0PvmyL4V8L7XZpnyGyaMpfos73bebssrVOszvHr/8j3tN+WZhmlngx2Fh8JNFleVL7NbWs8ZfM3Lj1Hdd5GvDOKnye7byRnxu6SGme8tanbpi0d6S8heZhw==AQAB -------------------------------------------------------------------------------- /pcw_studiopatch/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | BSD 3-Clause License 3 | 4 | Copyright (c) 2017, Chaos Computer Club 5 | Author: Thorsten (THS) Schroeder and Martin Tschirsich 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without 9 | modification, are permitted provided that the following conditions are met: 10 | 11 | * Redistributions of source code must retain the above copyright notice, this 12 | list of conditions and the following disclaimer. 13 | 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | * Neither the name of the copyright holder nor the names of its 19 | contributors may be used to endorse or promote products derived from 20 | this software without specific prior written permission. 21 | 22 | * NON-MILITARY-USAGE CLAUSE 23 | Redistribution and use in source and binary form for military use and 24 | military research is not permitted. Infringement of these clauses may 25 | result in publishing the source code of the utilizing applications and 26 | libraries to the public. As this software is developed, tested and 27 | reviewed by *international* volunteers, this clause shall not be refused 28 | due to the matter of *national* security concerns. 29 | 30 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 31 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 32 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 33 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 34 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 35 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 36 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 37 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 38 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 39 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 | 41 | ---------------------------------------------------------------------------------- 42 | -------------------------------------------------------------------------------- /pcw_studiopatch/README.md: -------------------------------------------------------------------------------- 1 | # Walruss PC-Wahl 10 Studio Patcher 2 | 3 | **PC-Wahl 10 Studio Patcher** is a program that can be used to swap votes for party 1 and party 2 during final and preliminary result submission. 4 | 5 | ## Build 6 | 7 | To build the program via Microsoft Developer Command Prompt, go to the source directory and execute the build.bat batch file. 8 | 9 | ## Usage 10 | 11 | The command line syntax is the following: 12 | 13 | ``` 14 | studiopatch.exe studio.exe 15 | ``` 16 | 17 | Afterwards, the resulting XML will show, that instead of the original output 18 | 19 | ```xml 20 | ... 21 | 22 | 400 23 | 300 24 | ... 25 | ``` 26 | 27 | the following output is generated for submission: 28 | 29 | ```xml 30 | ... 31 | 32 | 400 33 | 300 34 | ... 35 | ``` 36 | 37 | ## PC-Wahl 10 studio patch and shellcode 38 | 39 | The following patches to the studio.exe executable are applied: 40 | 41 | ```c 42 | [...] 43 | // target file offset: 00588fbb 44 | // shellcode len: 2 45 | 46 | char disable_selfcheck[] = { 47 | /* 00989BBB */ "\xEB\x13" /* jmp short studio.00989BD0 */ 48 | }; 49 | 50 | // target file offset: 002af0d4 51 | // shellcode len: 5 52 | 53 | char call_swapfunc[] = { 54 | /* 006AFCD4 */ "\xE8\x99\x6B\xDE\xFF" /* call studio.00496872 */ 55 | }; 56 | 57 | // target file offset: 00095c72 58 | // shellcode len: 30 59 | 60 | char swapfunc[] = { 61 | /* 00496872 */ "\x83\xF8\x01" /* cmp eax, 1 */ 62 | /* 00496875 */ "\x75\x07" /* jnz short studio.0049687E */ 63 | /* 00496877 */ "\xB8\x02\x00\x00\x00" /* mov eax, 2 */ 64 | /* 0049687C */ "\xEB\x0A" /* jmp short studio.00496888 */ 65 | /* 0049687E */ "\x83\xF8\x02" /* cmp eax, 2 */ 66 | /* 00496881 */ "\x75\x05" /* jnz short studio.00496888 */ 67 | /* 00496883 */ "\xB8\x01\x00\x00\x00" /* mov eax, 1 */ 68 | /* 00496888 */ "\xE8\x2F\x1E\x02\x00" /* call studio.004B86BC */ 69 | /* 0049688D */ "\xC3" /* retn */ 70 | /* 0049688E */ "\x90" /* nop */ 71 | /* 0049688F */ "\x90" /* nop */ 72 | }; 73 | [...] 74 | ``` 75 | 76 | ## Authors 77 | 78 | PC-Wahl 10 Studio Patcher (c) 2017 79 | by Thorsten (THS) Schroeder and Martin Tschirsich 80 | 81 | -------------------------------------------------------------------------------- /pcw_studiopatch/build.bat: -------------------------------------------------------------------------------- 1 | rem -- stuff made by ths 2 | 3 | @echo off 4 | 5 | rem for the XPz... 6 | set LINK=/SUBSYSTEM:CONSOLE,5.01 %LINK% 7 | 8 | rem /Zi for the debugz 9 | cl /W2 /MT /Festudiopatch.exe wahlrusse_studio_patch.c 10 | -------------------------------------------------------------------------------- /pcw_studiopatch/executable/studiopatch.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_studiopatch/executable/studiopatch.exe -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/INDEX: -------------------------------------------------------------------------------- 1 | CMakeLists.txt cmake build file 2 | ChangeLog history of changes 3 | FAQ Frequently Asked Questions about zlib 4 | INDEX this file 5 | Makefile dummy Makefile that tells you to ./configure 6 | Makefile.in template for Unix Makefile 7 | README guess what 8 | configure configure script for Unix 9 | make_vms.com makefile for VMS 10 | test/example.c zlib usages examples for build testing 11 | test/minigzip.c minimal gzip-like functionality for build testing 12 | test/infcover.c inf*.c code coverage for build coverage testing 13 | treebuild.xml XML description of source file dependencies 14 | zconf.h.cmakein zconf.h template for cmake 15 | zconf.h.in zconf.h template for configure 16 | zlib.3 Man page for zlib 17 | zlib.3.pdf Man page in PDF format 18 | zlib.map Linux symbol information 19 | zlib.pc.in Template for pkg-config descriptor 20 | zlib.pc.cmakein zlib.pc template for cmake 21 | zlib2ansi perl script to convert source files for C++ compilation 22 | 23 | amiga/ makefiles for Amiga SAS C 24 | as400/ makefiles for AS/400 25 | doc/ documentation for formats and algorithms 26 | msdos/ makefiles for MSDOS 27 | nintendods/ makefile for Nintendo DS 28 | old/ makefiles for various architectures and zlib documentation 29 | files that have not yet been updated for zlib 1.2.x 30 | qnx/ makefiles for QNX 31 | watcom/ makefiles for OpenWatcom 32 | win32/ makefiles for Windows 33 | 34 | zlib public header files (required for library use): 35 | zconf.h 36 | zlib.h 37 | 38 | private source files used to build the zlib library: 39 | adler32.c 40 | compress.c 41 | crc32.c 42 | crc32.h 43 | deflate.c 44 | deflate.h 45 | gzclose.c 46 | gzguts.h 47 | gzlib.c 48 | gzread.c 49 | gzwrite.c 50 | infback.c 51 | inffast.c 52 | inffast.h 53 | inffixed.h 54 | inflate.c 55 | inflate.h 56 | inftrees.c 57 | inftrees.h 58 | trees.c 59 | trees.h 60 | uncompr.c 61 | zutil.c 62 | zutil.h 63 | 64 | source files for sample programs 65 | See examples/README.examples 66 | 67 | unsupported contributions by third parties 68 | See contrib/README.contrib 69 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | -@echo "Please use ./configure first. Thank you." 3 | 4 | distclean: 5 | make -f Makefile.in distclean 6 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/amiga/Makefile.pup: -------------------------------------------------------------------------------- 1 | # Amiga powerUP (TM) Makefile 2 | # makefile for libpng and SAS C V6.58/7.00 PPC compiler 3 | # Copyright (C) 1998 by Andreas R. Kleinert 4 | 5 | LIBNAME = libzip.a 6 | 7 | CC = scppc 8 | CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL \ 9 | OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8 NOVER 10 | AR = ppc-amigaos-ar cr 11 | RANLIB = ppc-amigaos-ranlib 12 | LD = ppc-amigaos-ld -r 13 | LDFLAGS = -o 14 | LDLIBS = LIB:scppc.a LIB:end.o 15 | RM = delete quiet 16 | 17 | OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \ 18 | uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o 19 | 20 | TEST_OBJS = example.o minigzip.o 21 | 22 | all: example minigzip 23 | 24 | check: test 25 | test: all 26 | example 27 | echo hello world | minigzip | minigzip -d 28 | 29 | $(LIBNAME): $(OBJS) 30 | $(AR) $@ $(OBJS) 31 | -$(RANLIB) $@ 32 | 33 | example: example.o $(LIBNAME) 34 | $(LD) $(LDFLAGS) $@ LIB:c_ppc.o $@.o $(LIBNAME) $(LDLIBS) 35 | 36 | minigzip: minigzip.o $(LIBNAME) 37 | $(LD) $(LDFLAGS) $@ LIB:c_ppc.o $@.o $(LIBNAME) $(LDLIBS) 38 | 39 | mostlyclean: clean 40 | clean: 41 | $(RM) *.o example minigzip $(LIBNAME) foo.gz 42 | 43 | zip: 44 | zip -ul9 zlib README ChangeLog Makefile Make????.??? Makefile.?? \ 45 | descrip.mms *.[ch] 46 | 47 | tgz: 48 | cd ..; tar cfz zlib/zlib.tgz zlib/README zlib/ChangeLog zlib/Makefile \ 49 | zlib/Make????.??? zlib/Makefile.?? zlib/descrip.mms zlib/*.[ch] 50 | 51 | # DO NOT DELETE THIS LINE -- make depend depends on it. 52 | 53 | adler32.o: zlib.h zconf.h 54 | compress.o: zlib.h zconf.h 55 | crc32.o: crc32.h zlib.h zconf.h 56 | deflate.o: deflate.h zutil.h zlib.h zconf.h 57 | example.o: zlib.h zconf.h 58 | gzclose.o: zlib.h zconf.h gzguts.h 59 | gzlib.o: zlib.h zconf.h gzguts.h 60 | gzread.o: zlib.h zconf.h gzguts.h 61 | gzwrite.o: zlib.h zconf.h gzguts.h 62 | inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h 63 | inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h 64 | infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h 65 | inftrees.o: zutil.h zlib.h zconf.h inftrees.h 66 | minigzip.o: zlib.h zconf.h 67 | trees.o: deflate.h zutil.h zlib.h zconf.h trees.h 68 | uncompr.o: zlib.h zconf.h 69 | zutil.o: zutil.h zlib.h zconf.h 70 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/amiga/Makefile.sas: -------------------------------------------------------------------------------- 1 | # SMakefile for zlib 2 | # Modified from the standard UNIX Makefile Copyright Jean-loup Gailly 3 | # Osma Ahvenlampi 4 | # Amiga, SAS/C 6.56 & Smake 5 | 6 | CC=sc 7 | CFLAGS=OPT 8 | #CFLAGS=OPT CPU=68030 9 | #CFLAGS=DEBUG=LINE 10 | LDFLAGS=LIB z.lib 11 | 12 | SCOPTIONS=OPTSCHED OPTINLINE OPTALIAS OPTTIME OPTINLOCAL STRMERGE \ 13 | NOICONS PARMS=BOTH NOSTACKCHECK UTILLIB NOVERSION ERRORREXX \ 14 | DEF=POSTINC 15 | 16 | OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \ 17 | uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o 18 | 19 | TEST_OBJS = example.o minigzip.o 20 | 21 | all: SCOPTIONS example minigzip 22 | 23 | check: test 24 | test: all 25 | example 26 | echo hello world | minigzip | minigzip -d 27 | 28 | install: z.lib 29 | copy clone zlib.h zconf.h INCLUDE: 30 | copy clone z.lib LIB: 31 | 32 | z.lib: $(OBJS) 33 | oml z.lib r $(OBJS) 34 | 35 | example: example.o z.lib 36 | $(CC) $(CFLAGS) LINK TO $@ example.o $(LDFLAGS) 37 | 38 | minigzip: minigzip.o z.lib 39 | $(CC) $(CFLAGS) LINK TO $@ minigzip.o $(LDFLAGS) 40 | 41 | mostlyclean: clean 42 | clean: 43 | -delete force quiet example minigzip *.o z.lib foo.gz *.lnk SCOPTIONS 44 | 45 | SCOPTIONS: Makefile.sas 46 | copy to $@ (uLong)max ? max : (uInt)left; 52 | left -= stream.avail_out; 53 | } 54 | if (stream.avail_in == 0) { 55 | stream.avail_in = sourceLen > (uLong)max ? max : (uInt)sourceLen; 56 | sourceLen -= stream.avail_in; 57 | } 58 | err = deflate(&stream, sourceLen ? Z_NO_FLUSH : Z_FINISH); 59 | } while (err == Z_OK); 60 | 61 | *destLen = stream.total_out; 62 | deflateEnd(&stream); 63 | return err == Z_STREAM_END ? Z_OK : err; 64 | } 65 | 66 | /* =========================================================================== 67 | */ 68 | int ZEXPORT compress (dest, destLen, source, sourceLen) 69 | Bytef *dest; 70 | uLongf *destLen; 71 | const Bytef *source; 72 | uLong sourceLen; 73 | { 74 | return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); 75 | } 76 | 77 | /* =========================================================================== 78 | If the default memLevel or windowBits for deflateInit() is changed, then 79 | this function needs to be updated. 80 | */ 81 | uLong ZEXPORT compressBound (sourceLen) 82 | uLong sourceLen; 83 | { 84 | return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 85 | (sourceLen >> 25) + 13; 86 | } 87 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/ada/readme.txt: -------------------------------------------------------------------------------- 1 | ZLib for Ada thick binding (ZLib.Ada) 2 | Release 1.3 3 | 4 | ZLib.Ada is a thick binding interface to the popular ZLib data 5 | compression library, available at http://www.gzip.org/zlib/. 6 | It provides Ada-style access to the ZLib C library. 7 | 8 | 9 | Here are the main changes since ZLib.Ada 1.2: 10 | 11 | - Attension: ZLib.Read generic routine have a initialization requirement 12 | for Read_Last parameter now. It is a bit incompartible with previous version, 13 | but extends functionality, we could use new parameters Allow_Read_Some and 14 | Flush now. 15 | 16 | - Added Is_Open routines to ZLib and ZLib.Streams packages. 17 | 18 | - Add pragma Assert to check Stream_Element is 8 bit. 19 | 20 | - Fix extraction to buffer with exact known decompressed size. Error reported by 21 | Steve Sangwine. 22 | 23 | - Fix definition of ULong (changed to unsigned_long), fix regression on 64 bits 24 | computers. Patch provided by Pascal Obry. 25 | 26 | - Add Status_Error exception definition. 27 | 28 | - Add pragma Assertion that Ada.Streams.Stream_Element size is 8 bit. 29 | 30 | 31 | How to build ZLib.Ada under GNAT 32 | 33 | You should have the ZLib library already build on your computer, before 34 | building ZLib.Ada. Make the directory of ZLib.Ada sources current and 35 | issue the command: 36 | 37 | gnatmake test -largs -L -lz 38 | 39 | Or use the GNAT project file build for GNAT 3.15 or later: 40 | 41 | gnatmake -Pzlib.gpr -L 42 | 43 | 44 | How to build ZLib.Ada under Aonix ObjectAda for Win32 7.2.2 45 | 46 | 1. Make a project with all *.ads and *.adb files from the distribution. 47 | 2. Build the libz.a library from the ZLib C sources. 48 | 3. Rename libz.a to z.lib. 49 | 4. Add the library z.lib to the project. 50 | 5. Add the libc.lib library from the ObjectAda distribution to the project. 51 | 6. Build the executable using test.adb as a main procedure. 52 | 53 | 54 | How to use ZLib.Ada 55 | 56 | The source files test.adb and read.adb are small demo programs that show 57 | the main functionality of ZLib.Ada. 58 | 59 | The routines from the package specifications are commented. 60 | 61 | 62 | Homepage: http://zlib-ada.sourceforge.net/ 63 | Author: Dmitriy Anisimkov 64 | 65 | Contributors: Pascal Obry , Steve Sangwine 66 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/ada/zlib.gpr: -------------------------------------------------------------------------------- 1 | project Zlib is 2 | 3 | for Languages use ("Ada"); 4 | for Source_Dirs use ("."); 5 | for Object_Dir use "."; 6 | for Main use ("test.adb", "mtest.adb", "read.adb", "buffer_demo"); 7 | 8 | package Compiler is 9 | for Default_Switches ("ada") use ("-gnatwcfilopru", "-gnatVcdfimorst", "-gnatyabcefhiklmnoprst"); 10 | end Compiler; 11 | 12 | package Linker is 13 | for Default_Switches ("ada") use ("-lz"); 14 | end Linker; 15 | 16 | package Builder is 17 | for Default_Switches ("ada") use ("-s", "-gnatQ"); 18 | end Builder; 19 | 20 | end Zlib; 21 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/asm686/README.686: -------------------------------------------------------------------------------- 1 | This is a patched version of zlib, modified to use 2 | Pentium-Pro-optimized assembly code in the deflation algorithm. The 3 | files changed/added by this patch are: 4 | 5 | README.686 6 | match.S 7 | 8 | The speedup that this patch provides varies, depending on whether the 9 | compiler used to build the original version of zlib falls afoul of the 10 | PPro's speed traps. My own tests show a speedup of around 10-20% at 11 | the default compression level, and 20-30% using -9, against a version 12 | compiled using gcc 2.7.2.3. Your mileage may vary. 13 | 14 | Note that this code has been tailored for the PPro/PII in particular, 15 | and will not perform particuarly well on a Pentium. 16 | 17 | If you are using an assembler other than GNU as, you will have to 18 | translate match.S to use your assembler's syntax. (Have fun.) 19 | 20 | Brian Raiter 21 | breadbox@muppetlabs.com 22 | April, 1998 23 | 24 | 25 | Added for zlib 1.1.3: 26 | 27 | The patches come from 28 | http://www.muppetlabs.com/~breadbox/software/assembly.html 29 | 30 | To compile zlib with this asm file, copy match.S to the zlib directory 31 | then do: 32 | 33 | CFLAGS="-O3 -DASMV" ./configure 34 | make OBJA=match.o 35 | 36 | 37 | Update: 38 | 39 | I've been ignoring these assembly routines for years, believing that 40 | gcc's generated code had caught up with it sometime around gcc 2.95 41 | and the major rearchitecting of the Pentium 4. However, I recently 42 | learned that, despite what I believed, this code still has some life 43 | in it. On the Pentium 4 and AMD64 chips, it continues to run about 8% 44 | faster than the code produced by gcc 4.1. 45 | 46 | In acknowledgement of its continuing usefulness, I've altered the 47 | license to match that of the rest of zlib. Share and Enjoy! 48 | 49 | Brian Raiter 50 | breadbox@muppetlabs.com 51 | April, 2007 52 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/blast/Makefile: -------------------------------------------------------------------------------- 1 | blast: blast.c blast.h 2 | cc -DTEST -o blast blast.c 3 | 4 | test: blast 5 | blast < test.pk | cmp - test.txt 6 | 7 | clean: 8 | rm -f blast blast.o 9 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/blast/README: -------------------------------------------------------------------------------- 1 | Read blast.h for purpose and usage. 2 | 3 | Mark Adler 4 | madler@alumni.caltech.edu 5 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/blast/test.pk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/blast/test.pk -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/blast/test.txt: -------------------------------------------------------------------------------- 1 | AIAIAIAIAIAIA -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/delphi/ZLibConst.pas: -------------------------------------------------------------------------------- 1 | unit ZLibConst; 2 | 3 | interface 4 | 5 | resourcestring 6 | sTargetBufferTooSmall = 'ZLib error: target buffer may be too small'; 7 | sInvalidStreamOp = 'Invalid stream operation'; 8 | 9 | implementation 10 | 11 | end. 12 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/delphi/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | Overview 3 | ======== 4 | 5 | This directory contains an update to the ZLib interface unit, 6 | distributed by Borland as a Delphi supplemental component. 7 | 8 | The original ZLib unit is Copyright (c) 1997,99 Borland Corp., 9 | and is based on zlib version 1.0.4. There are a series of bugs 10 | and security problems associated with that old zlib version, and 11 | we recommend the users to update their ZLib unit. 12 | 13 | 14 | Summary of modifications 15 | ======================== 16 | 17 | - Improved makefile, adapted to zlib version 1.2.1. 18 | 19 | - Some field types from TZStreamRec are changed from Integer to 20 | Longint, for consistency with the zlib.h header, and for 64-bit 21 | readiness. 22 | 23 | - The zlib_version constant is updated. 24 | 25 | - The new Z_RLE strategy has its corresponding symbolic constant. 26 | 27 | - The allocation and deallocation functions and function types 28 | (TAlloc, TFree, zlibAllocMem and zlibFreeMem) are now cdecl, 29 | and _malloc and _free are added as C RTL stubs. As a result, 30 | the original C sources of zlib can be compiled out of the box, 31 | and linked to the ZLib unit. 32 | 33 | 34 | Suggestions for improvements 35 | ============================ 36 | 37 | Currently, the ZLib unit provides only a limited wrapper around 38 | the zlib library, and much of the original zlib functionality is 39 | missing. Handling compressed file formats like ZIP/GZIP or PNG 40 | cannot be implemented without having this functionality. 41 | Applications that handle these formats are either using their own, 42 | duplicated code, or not using the ZLib unit at all. 43 | 44 | Here are a few suggestions: 45 | 46 | - Checksum class wrappers around adler32() and crc32(), similar 47 | to the Java classes that implement the java.util.zip.Checksum 48 | interface. 49 | 50 | - The ability to read and write raw deflate streams, without the 51 | zlib stream header and trailer. Raw deflate streams are used 52 | in the ZIP file format. 53 | 54 | - The ability to read and write gzip streams, used in the GZIP 55 | file format, and normally produced by the gzip program. 56 | 57 | - The ability to select a different compression strategy, useful 58 | to PNG and MNG image compression, and to multimedia compression 59 | in general. Besides the compression level 60 | 61 | TCompressionLevel = (clNone, clFastest, clDefault, clMax); 62 | 63 | which, in fact, could have used the 'z' prefix and avoided 64 | TColor-like symbols 65 | 66 | TCompressionLevel = (zcNone, zcFastest, zcDefault, zcMax); 67 | 68 | there could be a compression strategy 69 | 70 | TCompressionStrategy = (zsDefault, zsFiltered, zsHuffmanOnly, zsRle); 71 | 72 | - ZIP and GZIP stream handling via TStreams. 73 | 74 | 75 | -- 76 | Cosmin Truta 77 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/delphi/zlibd32.mak: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # For use with Delphi and C++ Builder under Win32 3 | # Updated for zlib 1.2.x by Cosmin Truta 4 | 5 | # ------------ Borland C++ ------------ 6 | 7 | # This project uses the Delphi (fastcall/register) calling convention: 8 | LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl 9 | 10 | CC = bcc32 11 | LD = bcc32 12 | AR = tlib 13 | # do not use "-pr" in CFLAGS 14 | CFLAGS = -a -d -k- -O2 $(LOC) 15 | LDFLAGS = 16 | 17 | 18 | # variables 19 | ZLIB_LIB = zlib.lib 20 | 21 | OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj 22 | OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj 23 | OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj 24 | OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj 25 | 26 | 27 | # targets 28 | all: $(ZLIB_LIB) example.exe minigzip.exe 29 | 30 | .c.obj: 31 | $(CC) -c $(CFLAGS) $*.c 32 | 33 | adler32.obj: adler32.c zlib.h zconf.h 34 | 35 | compress.obj: compress.c zlib.h zconf.h 36 | 37 | crc32.obj: crc32.c zlib.h zconf.h crc32.h 38 | 39 | deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h 40 | 41 | gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h 42 | 43 | gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h 44 | 45 | gzread.obj: gzread.c zlib.h zconf.h gzguts.h 46 | 47 | gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h 48 | 49 | infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 50 | inffast.h inffixed.h 51 | 52 | inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 53 | inffast.h 54 | 55 | inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 56 | inffast.h inffixed.h 57 | 58 | inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h 59 | 60 | trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h 61 | 62 | uncompr.obj: uncompr.c zlib.h zconf.h 63 | 64 | zutil.obj: zutil.c zutil.h zlib.h zconf.h 65 | 66 | example.obj: test/example.c zlib.h zconf.h 67 | 68 | minigzip.obj: test/minigzip.c zlib.h zconf.h 69 | 70 | 71 | # For the sake of the old Borland make, 72 | # the command line is cut to fit in the MS-DOS 128 byte limit: 73 | $(ZLIB_LIB): $(OBJ1) $(OBJ2) 74 | -del $(ZLIB_LIB) 75 | $(AR) $(ZLIB_LIB) $(OBJP1) 76 | $(AR) $(ZLIB_LIB) $(OBJP2) 77 | 78 | 79 | # testing 80 | test: example.exe minigzip.exe 81 | example 82 | echo hello world | minigzip | minigzip -d 83 | 84 | example.exe: example.obj $(ZLIB_LIB) 85 | $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) 86 | 87 | minigzip.exe: minigzip.obj $(ZLIB_LIB) 88 | $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) 89 | 90 | 91 | # cleanup 92 | clean: 93 | -del *.obj 94 | -del *.exe 95 | -del *.lib 96 | -del *.tds 97 | -del zlib.bak 98 | -del foo.gz 99 | 100 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib.build: -------------------------------------------------------------------------------- 1 |  2 | 3 | A .Net wrapper library around ZLib1.dll 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib.chm -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 8.00 2 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotZLib", "DotZLib\DotZLib.csproj", "{BB1EE0B1-1808-46CB-B786-949D91117FC5}" 3 | ProjectSection(ProjectDependencies) = postProject 4 | EndProjectSection 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfiguration) = preSolution 8 | Debug = Debug 9 | Release = Release 10 | EndGlobalSection 11 | GlobalSection(ProjectConfiguration) = postSolution 12 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.ActiveCfg = Debug|.NET 13 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.Build.0 = Debug|.NET 14 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.ActiveCfg = Release|.NET 15 | {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.Build.0 = Release|.NET 16 | EndGlobalSection 17 | GlobalSection(ExtensibilityGlobals) = postSolution 18 | EndGlobalSection 19 | GlobalSection(ExtensibilityAddIns) = postSolution 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | // 9 | [assembly: AssemblyTitle("DotZLib")] 10 | [assembly: AssemblyDescription(".Net bindings for ZLib compression dll 1.2.x")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("Henrik Ravn")] 13 | [assembly: AssemblyProduct("")] 14 | [assembly: AssemblyCopyright("(c) 2004 by Henrik Ravn")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | 18 | // 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Revision and Build Numbers 27 | // by using the '*' as shown below: 28 | 29 | [assembly: AssemblyVersion("1.0.*")] 30 | 31 | // 32 | // In order to sign your assembly you must specify a key to use. Refer to the 33 | // Microsoft .NET Framework documentation for more information on assembly signing. 34 | // 35 | // Use the attributes below to control which key is used for signing. 36 | // 37 | // Notes: 38 | // (*) If no key is specified, the assembly is not signed. 39 | // (*) KeyName refers to a key that has been installed in the Crypto Service 40 | // Provider (CSP) on your machine. KeyFile refers to a file which contains 41 | // a key. 42 | // (*) If the KeyFile and the KeyName values are both specified, the 43 | // following processing occurs: 44 | // (1) If the KeyName can be found in the CSP, that key is used. 45 | // (2) If the KeyName does not exist and the KeyFile does exist, the key 46 | // in the KeyFile is installed into the CSP and used. 47 | // (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. 48 | // When specifying the KeyFile, the location of the KeyFile should be 49 | // relative to the project output directory which is 50 | // %Project Directory%\obj\. For example, if your KeyFile is 51 | // located in the project directory, you would specify the AssemblyKeyFile 52 | // attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] 53 | // (*) Delay Signing is an advanced option - see the Microsoft .NET Framework 54 | // documentation for more information on this. 55 | // 56 | [assembly: AssemblyDelaySign(false)] 57 | [assembly: AssemblyKeyFile("")] 58 | [assembly: AssemblyKeyName("")] 59 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/ChecksumImpl.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/ChecksumImpl.cs -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/CircularBuffer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/CircularBuffer.cs -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/CodecBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/CodecBase.cs -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/Deflater.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/Deflater.cs -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/DotZLib.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/DotZLib.cs -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/GZipStream.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/GZipStream.cs -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/Inflater.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/DotZLib/Inflater.cs -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/LICENSE_1_0.txt: -------------------------------------------------------------------------------- 1 | Boost Software License - Version 1.0 - August 17th, 2003 2 | 3 | Permission is hereby granted, free of charge, to any person or organization 4 | obtaining a copy of the software and accompanying documentation covered by 5 | this license (the "Software") to use, reproduce, display, distribute, 6 | execute, and transmit the Software, and to prepare derivative works of the 7 | Software, and to permit third-parties to whom the Software is furnished to 8 | do so, all subject to the following: 9 | 10 | The copyright notices in the Software and this entire statement, including 11 | the above license grant, this restriction and the following disclaimer, 12 | must be included in all copies of the Software, in whole or in part, and 13 | all derivative works of the Software, unless such copies or derivative 14 | works are solely in the form of machine-executable object code generated by 15 | a source language processor. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 20 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 21 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 22 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/dotzlib/readme.txt: -------------------------------------------------------------------------------- 1 | This directory contains a .Net wrapper class library for the ZLib1.dll 2 | 3 | The wrapper includes support for inflating/deflating memory buffers, 4 | .Net streaming wrappers for the gz streams part of zlib, and wrappers 5 | for the checksum parts of zlib. See DotZLib/UnitTests.cs for examples. 6 | 7 | Directory structure: 8 | -------------------- 9 | 10 | LICENSE_1_0.txt - License file. 11 | readme.txt - This file. 12 | DotZLib.chm - Class library documentation 13 | DotZLib.build - NAnt build file 14 | DotZLib.sln - Microsoft Visual Studio 2003 solution file 15 | 16 | DotZLib\*.cs - Source files for the class library 17 | 18 | Unit tests: 19 | ----------- 20 | The file DotZLib/UnitTests.cs contains unit tests for use with NUnit 2.1 or higher. 21 | To include unit tests in the build, define nunit before building. 22 | 23 | 24 | Build instructions: 25 | ------------------- 26 | 27 | 1. Using Visual Studio.Net 2003: 28 | Open DotZLib.sln in VS.Net and build from there. Output file (DotZLib.dll) 29 | will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on 30 | you are building the release or debug version of the library. Check 31 | DotZLib/UnitTests.cs for instructions on how to include unit tests in the 32 | build. 33 | 34 | 2. Using NAnt: 35 | Open a command prompt with access to the build environment and run nant 36 | in the same directory as the DotZLib.build file. 37 | You can define 2 properties on the nant command-line to control the build: 38 | debug={true|false} to toggle between release/debug builds (default=true). 39 | nunit={true|false} to include or esclude unit tests (default=true). 40 | Also the target clean will remove binaries. 41 | Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release 42 | or ./DotZLib/bin/debug, depending on whether you are building the release 43 | or debug version of the library. 44 | 45 | Examples: 46 | nant -D:debug=false -D:nunit=false 47 | will build a release mode version of the library without unit tests. 48 | nant 49 | will build a debug version of the library with unit tests 50 | nant clean 51 | will remove all previously built files. 52 | 53 | 54 | --------------------------------- 55 | Copyright (c) Henrik Ravn 2004 56 | 57 | Use, modification and distribution are subject to the Boost Software License, Version 1.0. 58 | (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 59 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/infback9/README: -------------------------------------------------------------------------------- 1 | See infback9.h for what this is and how to use it. 2 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/infback9/infback9.h: -------------------------------------------------------------------------------- 1 | /* infback9.h -- header for using inflateBack9 functions 2 | * Copyright (C) 2003 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* 7 | * This header file and associated patches provide a decoder for PKWare's 8 | * undocumented deflate64 compression method (method 9). Use with infback9.c, 9 | * inftree9.h, inftree9.c, and inffix9.h. These patches are not supported. 10 | * This should be compiled with zlib, since it uses zutil.h and zutil.o. 11 | * This code has not yet been tested on 16-bit architectures. See the 12 | * comments in zlib.h for inflateBack() usage. These functions are used 13 | * identically, except that there is no windowBits parameter, and a 64K 14 | * window must be provided. Also if int's are 16 bits, then a zero for 15 | * the third parameter of the "out" function actually means 65536UL. 16 | * zlib.h must be included before this header file. 17 | */ 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | ZEXTERN int ZEXPORT inflateBack9 OF((z_stream FAR *strm, 24 | in_func in, void FAR *in_desc, 25 | out_func out, void FAR *out_desc)); 26 | ZEXTERN int ZEXPORT inflateBack9End OF((z_stream FAR *strm)); 27 | ZEXTERN int ZEXPORT inflateBack9Init_ OF((z_stream FAR *strm, 28 | unsigned char FAR *window, 29 | const char *version, 30 | int stream_size)); 31 | #define inflateBack9Init(strm, window) \ 32 | inflateBack9Init_((strm), (window), \ 33 | ZLIB_VERSION, sizeof(z_stream)) 34 | 35 | #ifdef __cplusplus 36 | } 37 | #endif 38 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/infback9/inflate9.h: -------------------------------------------------------------------------------- 1 | /* inflate9.h -- internal inflate state definition 2 | * Copyright (C) 1995-2003 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | /* Possible inflate modes between inflate() calls */ 12 | typedef enum { 13 | TYPE, /* i: waiting for type bits, including last-flag bit */ 14 | STORED, /* i: waiting for stored size (length and complement) */ 15 | TABLE, /* i: waiting for dynamic block table lengths */ 16 | LEN, /* i: waiting for length/lit code */ 17 | DONE, /* finished check, done -- remain here until reset */ 18 | BAD /* got a data error -- remain here until reset */ 19 | } inflate_mode; 20 | 21 | /* 22 | State transitions between above modes - 23 | 24 | (most modes can go to the BAD mode -- not shown for clarity) 25 | 26 | Read deflate blocks: 27 | TYPE -> STORED or TABLE or LEN or DONE 28 | STORED -> TYPE 29 | TABLE -> LENLENS -> CODELENS -> LEN 30 | Read deflate codes: 31 | LEN -> LEN or TYPE 32 | */ 33 | 34 | /* state maintained between inflate() calls. Approximately 7K bytes. */ 35 | struct inflate_state { 36 | /* sliding window */ 37 | unsigned char FAR *window; /* allocated sliding window, if needed */ 38 | /* dynamic table building */ 39 | unsigned ncode; /* number of code length code lengths */ 40 | unsigned nlen; /* number of length code lengths */ 41 | unsigned ndist; /* number of distance code lengths */ 42 | unsigned have; /* number of code lengths in lens[] */ 43 | code FAR *next; /* next available space in codes[] */ 44 | unsigned short lens[320]; /* temporary storage for code lengths */ 45 | unsigned short work[288]; /* work area for code table building */ 46 | code codes[ENOUGH]; /* space for code tables */ 47 | }; 48 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/infback9/inftree9.h: -------------------------------------------------------------------------------- 1 | /* inftree9.h -- header to use inftree9.c 2 | * Copyright (C) 1995-2008 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | /* Structure for decoding tables. Each entry provides either the 12 | information needed to do the operation requested by the code that 13 | indexed that table entry, or it provides a pointer to another 14 | table that indexes more bits of the code. op indicates whether 15 | the entry is a pointer to another table, a literal, a length or 16 | distance, an end-of-block, or an invalid code. For a table 17 | pointer, the low four bits of op is the number of index bits of 18 | that table. For a length or distance, the low four bits of op 19 | is the number of extra bits to get after the code. bits is 20 | the number of bits in this code or part of the code to drop off 21 | of the bit buffer. val is the actual byte to output in the case 22 | of a literal, the base length or distance, or the offset from 23 | the current table to the next table. Each entry is four bytes. */ 24 | typedef struct { 25 | unsigned char op; /* operation, extra bits, table bits */ 26 | unsigned char bits; /* bits in this part of the code */ 27 | unsigned short val; /* offset in table or code value */ 28 | } code; 29 | 30 | /* op values as set by inflate_table(): 31 | 00000000 - literal 32 | 0000tttt - table link, tttt != 0 is the number of table index bits 33 | 100eeeee - length or distance, eeee is the number of extra bits 34 | 01100000 - end of block 35 | 01000000 - invalid code 36 | */ 37 | 38 | /* Maximum size of the dynamic table. The maximum number of code structures is 39 | 1446, which is the sum of 852 for literal/length codes and 594 for distance 40 | codes. These values were found by exhaustive searches using the program 41 | examples/enough.c found in the zlib distribtution. The arguments to that 42 | program are the number of symbols, the initial root table size, and the 43 | maximum bit length of a code. "enough 286 9 15" for literal/length codes 44 | returns returns 852, and "enough 32 6 15" for distance codes returns 594. 45 | The initial root table size (9 or 6) is found in the fifth argument of the 46 | inflate_table() calls in infback9.c. If the root table size is changed, 47 | then these maximum sizes would be need to be recalculated and updated. */ 48 | #define ENOUGH_LENS 852 49 | #define ENOUGH_DISTS 594 50 | #define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS) 51 | 52 | /* Type of code to build for inflate_table9() */ 53 | typedef enum { 54 | CODES, 55 | LENS, 56 | DISTS 57 | } codetype; 58 | 59 | extern int inflate_table9 OF((codetype type, unsigned short FAR *lens, 60 | unsigned codes, code FAR * FAR *table, 61 | unsigned FAR *bits, unsigned short FAR *work)); 62 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/iostream/test.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include "zfstream.h" 3 | 4 | int main() { 5 | 6 | // Construct a stream object with this filebuffer. Anything sent 7 | // to this stream will go to standard out. 8 | gzofstream os( 1, ios::out ); 9 | 10 | // This text is getting compressed and sent to stdout. 11 | // To prove this, run 'test | zcat'. 12 | os << "Hello, Mommy" << endl; 13 | 14 | os << setcompressionlevel( Z_NO_COMPRESSION ); 15 | os << "hello, hello, hi, ho!" << endl; 16 | 17 | setcompressionlevel( os, Z_DEFAULT_COMPRESSION ) 18 | << "I'm compressing again" << endl; 19 | 20 | os.close(); 21 | 22 | return 0; 23 | 24 | } 25 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/iostream/zfstream.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef zfstream_h 3 | #define zfstream_h 4 | 5 | #include 6 | #include "zlib.h" 7 | 8 | class gzfilebuf : public streambuf { 9 | 10 | public: 11 | 12 | gzfilebuf( ); 13 | virtual ~gzfilebuf(); 14 | 15 | gzfilebuf *open( const char *name, int io_mode ); 16 | gzfilebuf *attach( int file_descriptor, int io_mode ); 17 | gzfilebuf *close(); 18 | 19 | int setcompressionlevel( int comp_level ); 20 | int setcompressionstrategy( int comp_strategy ); 21 | 22 | inline int is_open() const { return (file !=NULL); } 23 | 24 | virtual streampos seekoff( streamoff, ios::seek_dir, int ); 25 | 26 | virtual int sync(); 27 | 28 | protected: 29 | 30 | virtual int underflow(); 31 | virtual int overflow( int = EOF ); 32 | 33 | private: 34 | 35 | gzFile file; 36 | short mode; 37 | short own_file_descriptor; 38 | 39 | int flushbuf(); 40 | int fillbuf(); 41 | 42 | }; 43 | 44 | class gzfilestream_common : virtual public ios { 45 | 46 | friend class gzifstream; 47 | friend class gzofstream; 48 | friend gzofstream &setcompressionlevel( gzofstream &, int ); 49 | friend gzofstream &setcompressionstrategy( gzofstream &, int ); 50 | 51 | public: 52 | virtual ~gzfilestream_common(); 53 | 54 | void attach( int fd, int io_mode ); 55 | void open( const char *name, int io_mode ); 56 | void close(); 57 | 58 | protected: 59 | gzfilestream_common(); 60 | 61 | private: 62 | gzfilebuf *rdbuf(); 63 | 64 | gzfilebuf buffer; 65 | 66 | }; 67 | 68 | class gzifstream : public gzfilestream_common, public istream { 69 | 70 | public: 71 | 72 | gzifstream(); 73 | gzifstream( const char *name, int io_mode = ios::in ); 74 | gzifstream( int fd, int io_mode = ios::in ); 75 | 76 | virtual ~gzifstream(); 77 | 78 | }; 79 | 80 | class gzofstream : public gzfilestream_common, public ostream { 81 | 82 | public: 83 | 84 | gzofstream(); 85 | gzofstream( const char *name, int io_mode = ios::out ); 86 | gzofstream( int fd, int io_mode = ios::out ); 87 | 88 | virtual ~gzofstream(); 89 | 90 | }; 91 | 92 | template class gzomanip { 93 | friend gzofstream &operator<<(gzofstream &, const gzomanip &); 94 | public: 95 | gzomanip(gzofstream &(*f)(gzofstream &, T), T v) : func(f), val(v) { } 96 | private: 97 | gzofstream &(*func)(gzofstream &, T); 98 | T val; 99 | }; 100 | 101 | template gzofstream &operator<<(gzofstream &s, const gzomanip &m) 102 | { 103 | return (*m.func)(s, m.val); 104 | } 105 | 106 | inline gzofstream &setcompressionlevel( gzofstream &s, int l ) 107 | { 108 | (s.rdbuf())->setcompressionlevel(l); 109 | return s; 110 | } 111 | 112 | inline gzofstream &setcompressionstrategy( gzofstream &s, int l ) 113 | { 114 | (s.rdbuf())->setcompressionstrategy(l); 115 | return s; 116 | } 117 | 118 | inline gzomanip setcompressionlevel(int l) 119 | { 120 | return gzomanip(&setcompressionlevel,l); 121 | } 122 | 123 | inline gzomanip setcompressionstrategy(int l) 124 | { 125 | return gzomanip(&setcompressionstrategy,l); 126 | } 127 | 128 | #endif 129 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/iostream2/zstream_test.cpp: -------------------------------------------------------------------------------- 1 | #include "zstream.h" 2 | #include 3 | #include 4 | #include 5 | 6 | void main() { 7 | char h[256] = "Hello"; 8 | char* g = "Goodbye"; 9 | ozstream out("temp.gz"); 10 | out < "This works well" < h < g; 11 | out.close(); 12 | 13 | izstream in("temp.gz"); // read it back 14 | char *x = read_string(in), *y = new char[256], z[256]; 15 | in > y > z; 16 | in.close(); 17 | cout << x << endl << y << endl << z << endl; 18 | 19 | out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results 20 | out << setw(50) << setfill('#') << setprecision(20) << x << endl << y << endl << z << endl; 21 | out << z << endl << y << endl << x << endl; 22 | out << 1.1234567890123456789 << endl; 23 | 24 | delete[] x; delete[] y; 25 | } 26 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/iostream3/README: -------------------------------------------------------------------------------- 1 | These classes provide a C++ stream interface to the zlib library. It allows you 2 | to do things like: 3 | 4 | gzofstream outf("blah.gz"); 5 | outf << "These go into the gzip file " << 123 << endl; 6 | 7 | It does this by deriving a specialized stream buffer for gzipped files, which is 8 | the way Stroustrup would have done it. :-> 9 | 10 | The gzifstream and gzofstream classes were originally written by Kevin Ruland 11 | and made available in the zlib contrib/iostream directory. The older version still 12 | compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of 13 | this version. 14 | 15 | The new classes are as standard-compliant as possible, closely following the 16 | approach of the standard library's fstream classes. It compiles under gcc versions 17 | 3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard 18 | library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs 19 | from the previous one in the following respects: 20 | - added showmanyc 21 | - added setbuf, with support for unbuffered output via setbuf(0,0) 22 | - a few bug fixes of stream behavior 23 | - gzipped output file opened with default compression level instead of maximum level 24 | - setcompressionlevel()/strategy() members replaced by single setcompression() 25 | 26 | The code is provided "as is", with the permission to use, copy, modify, distribute 27 | and sell it for any purpose without fee. 28 | 29 | Ludwig Schwardt 30 | 31 | 32 | DSP Lab 33 | Electrical & Electronic Engineering Department 34 | University of Stellenbosch 35 | South Africa 36 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/iostream3/TODO: -------------------------------------------------------------------------------- 1 | Possible upgrades to gzfilebuf: 2 | 3 | - The ability to do putback (e.g. putbackfail) 4 | 5 | - The ability to seek (zlib supports this, but could be slow/tricky) 6 | 7 | - Simultaneous read/write access (does it make sense?) 8 | 9 | - Support for ios_base::ate open mode 10 | 11 | - Locale support? 12 | 13 | - Check public interface to see which calls give problems 14 | (due to dependence on library internals) 15 | 16 | - Override operator<<(ostream&, gzfilebuf*) to allow direct copying 17 | of stream buffer to stream ( i.e. os << is.rdbuf(); ) 18 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/iostream3/test.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * Test program for gzifstream and gzofstream 3 | * 4 | * by Ludwig Schwardt 5 | * original version by Kevin Ruland 6 | */ 7 | 8 | #include "zfstream.h" 9 | #include // for cout 10 | 11 | int main() { 12 | 13 | gzofstream outf; 14 | gzifstream inf; 15 | char buf[80]; 16 | 17 | outf.open("test1.txt.gz"); 18 | outf << "The quick brown fox sidestepped the lazy canine\n" 19 | << 1.3 << "\nPlan " << 9 << std::endl; 20 | outf.close(); 21 | std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n" 22 | << "The quick brown fox sidestepped the lazy canine\n" 23 | << 1.3 << "\nPlan " << 9 << std::endl; 24 | 25 | std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n"; 26 | inf.open("test1.txt.gz"); 27 | while (inf.getline(buf,80,'\n')) { 28 | std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 29 | } 30 | inf.close(); 31 | 32 | outf.rdbuf()->pubsetbuf(0,0); 33 | outf.open("test2.txt.gz"); 34 | outf << setcompression(Z_NO_COMPRESSION) 35 | << "The quick brown fox sidestepped the lazy canine\n" 36 | << 1.3 << "\nPlan " << 9 << std::endl; 37 | outf.close(); 38 | std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form"; 39 | 40 | std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n"; 41 | inf.rdbuf()->pubsetbuf(0,0); 42 | inf.open("test2.txt.gz"); 43 | while (inf.getline(buf,80,'\n')) { 44 | std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; 45 | } 46 | inf.close(); 47 | 48 | return 0; 49 | 50 | } 51 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/masmx64/bld_ml64.bat: -------------------------------------------------------------------------------- 1 | ml64.exe /Flinffasx64 /c /Zi inffasx64.asm 2 | ml64.exe /Flgvmat64 /c /Zi gvmat64.asm 3 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/masmx64/readme.txt: -------------------------------------------------------------------------------- 1 | Summary 2 | ------- 3 | This directory contains ASM implementations of the functions 4 | longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t), 5 | for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits. 6 | 7 | gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits 8 | assembly optimized version from Jean-loup Gailly original longest_match function 9 | 10 | inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing 11 | original function from Mark Adler 12 | 13 | Use instructions 14 | ---------------- 15 | Assemble the .asm files using MASM and put the object files into the zlib source 16 | directory. You can also get object files here: 17 | 18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip 19 | 20 | define ASMV and ASMINF in your project. Include inffas8664.c in your source tree, 21 | and inffasx64.obj and gvmat64.obj as object to link. 22 | 23 | 24 | Build instructions 25 | ------------------ 26 | run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe) 27 | 28 | ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK 29 | 30 | You can get Windows 2003 server DDK with ml64 and cl for AMD64 from 31 | http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price) 32 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/masmx86/bld_ml32.bat: -------------------------------------------------------------------------------- 1 | ml /coff /Zi /c /Flmatch686.lst match686.asm 2 | ml /coff /Zi /c /Flinffas32.lst inffas32.asm 3 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/masmx86/inffas32.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/masmx86/inffas32.obj -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/masmx86/match686.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/masmx86/match686.obj -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/masmx86/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | Summary 3 | ------- 4 | This directory contains ASM implementations of the functions 5 | longest_match() and inflate_fast(). 6 | 7 | 8 | Use instructions 9 | ---------------- 10 | Assemble using MASM, and copy the object files into the zlib source 11 | directory, then run the appropriate makefile, as suggested below. You can 12 | donwload MASM from here: 13 | 14 | http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64 15 | 16 | You can also get objects files here: 17 | 18 | http://www.winimage.com/zLibDll/zlib124_masm_obj.zip 19 | 20 | Build instructions 21 | ------------------ 22 | * With Microsoft C and MASM: 23 | nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" 24 | 25 | * With Borland C and TASM: 26 | make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj" 27 | 28 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/Makefile: -------------------------------------------------------------------------------- 1 | CC=cc 2 | CFLAGS=-O -I../.. 3 | 4 | UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a 5 | ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a 6 | 7 | .c.o: 8 | $(CC) -c $(CFLAGS) $*.c 9 | 10 | all: miniunz minizip 11 | 12 | miniunz: $(UNZ_OBJS) 13 | $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) 14 | 15 | minizip: $(ZIP_OBJS) 16 | $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) 17 | 18 | test: miniunz minizip 19 | ./minizip test readme.txt 20 | ./miniunz -l test.zip 21 | mv readme.txt readme.old 22 | ./miniunz test.zip 23 | 24 | clean: 25 | /bin/rm -f *.o *~ minizip miniunz 26 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/Makefile.am: -------------------------------------------------------------------------------- 1 | lib_LTLIBRARIES = libminizip.la 2 | 3 | if COND_DEMOS 4 | bin_PROGRAMS = miniunzip minizip 5 | endif 6 | 7 | zlib_top_srcdir = $(top_srcdir)/../.. 8 | zlib_top_builddir = $(top_builddir)/../.. 9 | 10 | AM_CPPFLAGS = -I$(zlib_top_srcdir) 11 | AM_LDFLAGS = -L$(zlib_top_builddir) 12 | 13 | if WIN32 14 | iowin32_src = iowin32.c 15 | iowin32_h = iowin32.h 16 | endif 17 | 18 | libminizip_la_SOURCES = \ 19 | ioapi.c \ 20 | mztools.c \ 21 | unzip.c \ 22 | zip.c \ 23 | ${iowin32_src} 24 | 25 | libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz 26 | 27 | minizip_includedir = $(includedir)/minizip 28 | minizip_include_HEADERS = \ 29 | crypt.h \ 30 | ioapi.h \ 31 | mztools.h \ 32 | unzip.h \ 33 | zip.h \ 34 | ${iowin32_h} 35 | 36 | pkgconfigdir = $(libdir)/pkgconfig 37 | pkgconfig_DATA = minizip.pc 38 | 39 | EXTRA_PROGRAMS = miniunzip minizip 40 | 41 | miniunzip_SOURCES = miniunz.c 42 | miniunzip_LDADD = libminizip.la 43 | 44 | minizip_SOURCES = minizip.c 45 | minizip_LDADD = libminizip.la -lz 46 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/MiniZip64_Changes.txt: -------------------------------------------------------------------------------- 1 | 2 | MiniZip 1.1 was derrived from MiniZip at version 1.01f 3 | 4 | Change in 1.0 (Okt 2009) 5 | - **TODO - Add history** 6 | 7 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/configure.ac: -------------------------------------------------------------------------------- 1 | # -*- Autoconf -*- 2 | # Process this file with autoconf to produce a configure script. 3 | 4 | AC_INIT([minizip], [1.2.11], [bugzilla.redhat.com]) 5 | AC_CONFIG_SRCDIR([minizip.c]) 6 | AM_INIT_AUTOMAKE([foreign]) 7 | LT_INIT 8 | 9 | AC_MSG_CHECKING([whether to build example programs]) 10 | AC_ARG_ENABLE([demos], AC_HELP_STRING([--enable-demos], [build example programs])) 11 | AM_CONDITIONAL([COND_DEMOS], [test "$enable_demos" = yes]) 12 | if test "$enable_demos" = yes 13 | then 14 | AC_MSG_RESULT([yes]) 15 | else 16 | AC_MSG_RESULT([no]) 17 | fi 18 | 19 | case "${host}" in 20 | *-mingw* | mingw*) 21 | WIN32="yes" 22 | ;; 23 | *) 24 | ;; 25 | esac 26 | AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"]) 27 | 28 | 29 | AC_SUBST([HAVE_UNISTD_H], [0]) 30 | AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], []) 31 | AC_CONFIG_FILES([Makefile minizip.pc]) 32 | AC_OUTPUT 33 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/iowin32.h: -------------------------------------------------------------------------------- 1 | /* iowin32.h -- IO base function header for compress/uncompress .zip 2 | Version 1.1, February 14h, 2010 3 | part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) 4 | 5 | Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) 6 | 7 | Modifications for Zip64 support 8 | Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) 9 | 10 | For more info read MiniZip_info.txt 11 | 12 | */ 13 | 14 | #include 15 | 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); 22 | void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def)); 23 | void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def)); 24 | void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def)); 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/make_vms.com: -------------------------------------------------------------------------------- 1 | $ if f$search("ioapi.h_orig") .eqs. "" then copy ioapi.h ioapi.h_orig 2 | $ open/write zdef vmsdefs.h 3 | $ copy sys$input: zdef 4 | $ deck 5 | #define unix 6 | #define fill_zlib_filefunc64_32_def_from_filefunc32 fillzffunc64from 7 | #define Write_Zip64EndOfCentralDirectoryLocator Write_Zip64EoDLocator 8 | #define Write_Zip64EndOfCentralDirectoryRecord Write_Zip64EoDRecord 9 | #define Write_EndOfCentralDirectoryRecord Write_EoDRecord 10 | $ eod 11 | $ close zdef 12 | $ copy vmsdefs.h,ioapi.h_orig ioapi.h 13 | $ cc/include=[--]/prefix=all ioapi.c 14 | $ cc/include=[--]/prefix=all miniunz.c 15 | $ cc/include=[--]/prefix=all unzip.c 16 | $ cc/include=[--]/prefix=all minizip.c 17 | $ cc/include=[--]/prefix=all zip.c 18 | $ link miniunz,unzip,ioapi,[--]libz.olb/lib 19 | $ link minizip,zip,ioapi,[--]libz.olb/lib 20 | $ mcr []minizip test minizip_info.txt 21 | $ mcr []miniunz -l test.zip 22 | $ rename minizip_info.txt; minizip_info.txt_old 23 | $ mcr []miniunz test.zip 24 | $ delete test.zip;* 25 | $exit 26 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/miniunzip.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH miniunzip 1 "Nov 7, 2001" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .\" 5 | .\" Some roff macros, for reference: 6 | .\" .nh disable hyphenation 7 | .\" .hy enable hyphenation 8 | .\" .ad l left justify 9 | .\" .ad b justify to both left and right margins 10 | .\" .nf disable filling 11 | .\" .fi enable filling 12 | .\" .br insert line break 13 | .\" .sp insert n+1 empty lines 14 | .\" for manpage-specific macros, see man(7) 15 | .SH NAME 16 | miniunzip - uncompress and examine ZIP archives 17 | .SH SYNOPSIS 18 | .B miniunzip 19 | .RI [ -exvlo ] 20 | zipfile [ files_to_extract ] [-d tempdir] 21 | .SH DESCRIPTION 22 | .B minizip 23 | is a simple tool which allows the extraction of compressed file 24 | archives in the ZIP format used by the MS-DOS utility PKZIP. It was 25 | written as a demonstration of the 26 | .IR zlib (3) 27 | library and therefore lack many of the features of the 28 | .IR unzip (1) 29 | program. 30 | .SH OPTIONS 31 | A number of options are supported. With the exception of 32 | .BI \-d\ tempdir 33 | these must be supplied before any 34 | other arguments and are: 35 | .TP 36 | .BI \-l\ ,\ \-\-v 37 | List the files in the archive without extracting them. 38 | .TP 39 | .B \-o 40 | Overwrite files without prompting for confirmation. 41 | .TP 42 | .B \-x 43 | Extract files (default). 44 | .PP 45 | The 46 | .I zipfile 47 | argument is the name of the archive to process. The next argument can be used 48 | to specify a single file to extract from the archive. 49 | 50 | Lastly, the following option can be specified at the end of the command-line: 51 | .TP 52 | .BI \-d\ tempdir 53 | Extract the archive in the directory 54 | .I tempdir 55 | rather than the current directory. 56 | .SH SEE ALSO 57 | .BR minizip (1), 58 | .BR zlib (3), 59 | .BR unzip (1). 60 | .SH AUTHOR 61 | This program was written by Gilles Vollant. This manual page was 62 | written by Mark Brown . The -d tempdir option 63 | was added by Dirk Eddelbuettel . 64 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/minizip.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH minizip 1 "May 2, 2001" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .\" 5 | .\" Some roff macros, for reference: 6 | .\" .nh disable hyphenation 7 | .\" .hy enable hyphenation 8 | .\" .ad l left justify 9 | .\" .ad b justify to both left and right margins 10 | .\" .nf disable filling 11 | .\" .fi enable filling 12 | .\" .br insert line break 13 | .\" .sp insert n+1 empty lines 14 | .\" for manpage-specific macros, see man(7) 15 | .SH NAME 16 | minizip - create ZIP archives 17 | .SH SYNOPSIS 18 | .B minizip 19 | .RI [ -o ] 20 | zipfile [ " files" ... ] 21 | .SH DESCRIPTION 22 | .B minizip 23 | is a simple tool which allows the creation of compressed file archives 24 | in the ZIP format used by the MS-DOS utility PKZIP. It was written as 25 | a demonstration of the 26 | .IR zlib (3) 27 | library and therefore lack many of the features of the 28 | .IR zip (1) 29 | program. 30 | .SH OPTIONS 31 | The first argument supplied is the name of the ZIP archive to create or 32 | .RI -o 33 | in which case it is ignored and the second argument treated as the 34 | name of the ZIP file. If the ZIP file already exists it will be 35 | overwritten. 36 | .PP 37 | Subsequent arguments specify a list of files to place in the ZIP 38 | archive. If none are specified then an empty archive will be created. 39 | .SH SEE ALSO 40 | .BR miniunzip (1), 41 | .BR zlib (3), 42 | .BR zip (1). 43 | .SH AUTHOR 44 | This program was written by Gilles Vollant. This manual page was 45 | written by Mark Brown . 46 | 47 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/minizip.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@/minizip 5 | 6 | Name: minizip 7 | Description: Minizip zip file manipulation library 8 | Requires: 9 | Version: @PACKAGE_VERSION@ 10 | Libs: -L${libdir} -lminizip 11 | Libs.private: -lz 12 | Cflags: -I${includedir} 13 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/minizip/mztools.h: -------------------------------------------------------------------------------- 1 | /* 2 | Additional tools for Minizip 3 | Code: Xavier Roche '2004 4 | License: Same as ZLIB (www.gzip.org) 5 | */ 6 | 7 | #ifndef _zip_tools_H 8 | #define _zip_tools_H 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | #ifndef _ZLIB_H 15 | #include "zlib.h" 16 | #endif 17 | 18 | #include "unzip.h" 19 | 20 | /* Repair a ZIP file (missing central directory) 21 | file: file to recover 22 | fileOut: output file after recovery 23 | fileOutTmp: temporary file name used for recovery 24 | */ 25 | extern int ZEXPORT unzRepair(const char* file, 26 | const char* fileOut, 27 | const char* fileOutTmp, 28 | uLong* nRecovered, 29 | uLong* bytesRecovered); 30 | 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/pascal/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | This directory contains a Pascal (Delphi, Kylix) interface to the 3 | zlib data compression library. 4 | 5 | 6 | Directory listing 7 | ================= 8 | 9 | zlibd32.mak makefile for Borland C++ 10 | example.pas usage example of zlib 11 | zlibpas.pas the Pascal interface to zlib 12 | readme.txt this file 13 | 14 | 15 | Compatibility notes 16 | =================== 17 | 18 | - Although the name "zlib" would have been more normal for the 19 | zlibpas unit, this name is already taken by Borland's ZLib unit. 20 | This is somehow unfortunate, because that unit is not a genuine 21 | interface to the full-fledged zlib functionality, but a suite of 22 | class wrappers around zlib streams. Other essential features, 23 | such as checksums, are missing. 24 | It would have been more appropriate for that unit to have a name 25 | like "ZStreams", or something similar. 26 | 27 | - The C and zlib-supplied types int, uInt, long, uLong, etc. are 28 | translated directly into Pascal types of similar sizes (Integer, 29 | LongInt, etc.), to avoid namespace pollution. In particular, 30 | there is no conversion of unsigned int into a Pascal unsigned 31 | integer. The Word type is non-portable and has the same size 32 | (16 bits) both in a 16-bit and in a 32-bit environment, unlike 33 | Integer. Even if there is a 32-bit Cardinal type, there is no 34 | real need for unsigned int in zlib under a 32-bit environment. 35 | 36 | - Except for the callbacks, the zlib function interfaces are 37 | assuming the calling convention normally used in Pascal 38 | (__pascal for DOS and Windows16, __fastcall for Windows32). 39 | Since the cdecl keyword is used, the old Turbo Pascal does 40 | not work with this interface. 41 | 42 | - The gz* function interfaces are not translated, to avoid 43 | interfacing problems with the C runtime library. Besides, 44 | gzprintf(gzFile file, const char *format, ...) 45 | cannot be translated into Pascal. 46 | 47 | 48 | Legal issues 49 | ============ 50 | 51 | The zlibpas interface is: 52 | Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler. 53 | Copyright (C) 1998 by Bob Dellaca. 54 | Copyright (C) 2003 by Cosmin Truta. 55 | 56 | The example program is: 57 | Copyright (C) 1995-2003 by Jean-loup Gailly. 58 | Copyright (C) 1998,1999,2000 by Jacques Nomssi Nzali. 59 | Copyright (C) 2003 by Cosmin Truta. 60 | 61 | This software is provided 'as-is', without any express or implied 62 | warranty. In no event will the author be held liable for any damages 63 | arising from the use of this software. 64 | 65 | Permission is granted to anyone to use this software for any purpose, 66 | including commercial applications, and to alter it and redistribute it 67 | freely, subject to the following restrictions: 68 | 69 | 1. The origin of this software must not be misrepresented; you must not 70 | claim that you wrote the original software. If you use this software 71 | in a product, an acknowledgment in the product documentation would be 72 | appreciated but is not required. 73 | 2. Altered source versions must be plainly marked as such, and must not be 74 | misrepresented as being the original software. 75 | 3. This notice may not be removed or altered from any source distribution. 76 | 77 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/pascal/zlibd32.mak: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # For use with Delphi and C++ Builder under Win32 3 | # Updated for zlib 1.2.x by Cosmin Truta 4 | 5 | # ------------ Borland C++ ------------ 6 | 7 | # This project uses the Delphi (fastcall/register) calling convention: 8 | LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl 9 | 10 | CC = bcc32 11 | LD = bcc32 12 | AR = tlib 13 | # do not use "-pr" in CFLAGS 14 | CFLAGS = -a -d -k- -O2 $(LOC) 15 | LDFLAGS = 16 | 17 | 18 | # variables 19 | ZLIB_LIB = zlib.lib 20 | 21 | OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj 22 | OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj 23 | OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj 24 | OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj 25 | 26 | 27 | # targets 28 | all: $(ZLIB_LIB) example.exe minigzip.exe 29 | 30 | .c.obj: 31 | $(CC) -c $(CFLAGS) $*.c 32 | 33 | adler32.obj: adler32.c zlib.h zconf.h 34 | 35 | compress.obj: compress.c zlib.h zconf.h 36 | 37 | crc32.obj: crc32.c zlib.h zconf.h crc32.h 38 | 39 | deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h 40 | 41 | gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h 42 | 43 | gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h 44 | 45 | gzread.obj: gzread.c zlib.h zconf.h gzguts.h 46 | 47 | gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h 48 | 49 | infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 50 | inffast.h inffixed.h 51 | 52 | inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 53 | inffast.h 54 | 55 | inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 56 | inffast.h inffixed.h 57 | 58 | inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h 59 | 60 | trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h 61 | 62 | uncompr.obj: uncompr.c zlib.h zconf.h 63 | 64 | zutil.obj: zutil.c zutil.h zlib.h zconf.h 65 | 66 | example.obj: test/example.c zlib.h zconf.h 67 | 68 | minigzip.obj: test/minigzip.c zlib.h zconf.h 69 | 70 | 71 | # For the sake of the old Borland make, 72 | # the command line is cut to fit in the MS-DOS 128 byte limit: 73 | $(ZLIB_LIB): $(OBJ1) $(OBJ2) 74 | -del $(ZLIB_LIB) 75 | $(AR) $(ZLIB_LIB) $(OBJP1) 76 | $(AR) $(ZLIB_LIB) $(OBJP2) 77 | 78 | 79 | # testing 80 | test: example.exe minigzip.exe 81 | example 82 | echo hello world | minigzip | minigzip -d 83 | 84 | example.exe: example.obj $(ZLIB_LIB) 85 | $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) 86 | 87 | minigzip.exe: minigzip.obj $(ZLIB_LIB) 88 | $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) 89 | 90 | 91 | # cleanup 92 | clean: 93 | -del *.obj 94 | -del *.exe 95 | -del *.lib 96 | -del *.tds 97 | -del zlib.bak 98 | -del foo.gz 99 | 100 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/puff/Makefile: -------------------------------------------------------------------------------- 1 | CFLAGS=-O 2 | 3 | puff: puff.o pufftest.o 4 | 5 | puff.o: puff.h 6 | 7 | pufftest.o: puff.h 8 | 9 | test: puff 10 | puff zeros.raw 11 | 12 | puft: puff.c puff.h pufftest.o 13 | cc -fprofile-arcs -ftest-coverage -o puft puff.c pufftest.o 14 | 15 | # puff full coverage test (should say 100%) 16 | cov: puft 17 | @rm -f *.gcov *.gcda 18 | @puft -w zeros.raw 2>&1 | cat > /dev/null 19 | @echo '04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 20 | @echo '00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 21 | @echo '00 00 00 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 254 22 | @echo '00 01 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 23 | @echo '01 01 00 fe ff 0a' | xxd -r -p | puft -f 2>&1 | cat > /dev/null 24 | @echo '02 7e ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 25 | @echo '02' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 26 | @echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 27 | @echo '04 80 49 92 24 49 92 24 71 ff ff 93 11 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 249 28 | @echo '04 c0 81 08 00 00 00 00 20 7f eb 0b 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 29 | @echo '0b 00 00' | xxd -r -p | puft -f 2>&1 | cat > /dev/null 30 | @echo '1a 07' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 31 | @echo '0c c0 81 00 00 00 00 00 90 ff 6b 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 245 32 | @puft -f zeros.raw 2>&1 | cat > /dev/null 33 | @echo 'fc 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 253 34 | @echo '04 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 252 35 | @echo '04 00 24 49' | xxd -r -p | puft 2> /dev/null || test $$? -eq 251 36 | @echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 84' | xxd -r -p | puft 2> /dev/null || test $$? -eq 248 37 | @echo '04 00 24 e9 ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 250 38 | @echo '04 00 24 e9 ff 6d' | xxd -r -p | puft 2> /dev/null || test $$? -eq 247 39 | @gcov -n puff.c 40 | 41 | clean: 42 | rm -f puff puft *.o *.gc* 43 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/puff/puff.h: -------------------------------------------------------------------------------- 1 | /* puff.h 2 | Copyright (C) 2002-2013 Mark Adler, all rights reserved 3 | version 2.3, 21 Jan 2013 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the author be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would be 16 | appreciated but is not required. 17 | 2. Altered source versions must be plainly marked as such, and must not be 18 | misrepresented as being the original software. 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | Mark Adler madler@alumni.caltech.edu 22 | */ 23 | 24 | 25 | /* 26 | * See puff.c for purpose and usage. 27 | */ 28 | #ifndef NIL 29 | # define NIL ((unsigned char *)0) /* for no output option */ 30 | #endif 31 | 32 | int puff(unsigned char *dest, /* pointer to destination pointer */ 33 | unsigned long *destlen, /* amount of output space */ 34 | const unsigned char *source, /* pointer to source data pointer */ 35 | unsigned long *sourcelen); /* amount of input available */ 36 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/puff/zeros.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/puff/zeros.raw -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/testzlib/testzlib.txt: -------------------------------------------------------------------------------- 1 | To build testzLib with Visual Studio 2005: 2 | 3 | copy to a directory file from : 4 | - root of zLib tree 5 | - contrib/testzlib 6 | - contrib/masmx86 7 | - contrib/masmx64 8 | - contrib/vstudio/vc7 9 | 10 | and open testzlib8.sln -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/untgz/Makefile: -------------------------------------------------------------------------------- 1 | CC=cc 2 | CFLAGS=-g 3 | 4 | untgz: untgz.o ../../libz.a 5 | $(CC) $(CFLAGS) -o untgz untgz.o -L../.. -lz 6 | 7 | untgz.o: untgz.c ../../zlib.h 8 | $(CC) $(CFLAGS) -c -I../.. untgz.c 9 | 10 | ../../libz.a: 11 | cd ../..; ./configure; make 12 | 13 | clean: 14 | rm -f untgz untgz.o *~ 15 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/untgz/Makefile.msc: -------------------------------------------------------------------------------- 1 | CC=cl 2 | CFLAGS=-MD 3 | 4 | untgz.exe: untgz.obj ..\..\zlib.lib 5 | $(CC) $(CFLAGS) untgz.obj ..\..\zlib.lib 6 | 7 | untgz.obj: untgz.c ..\..\zlib.h 8 | $(CC) $(CFLAGS) -c -I..\.. untgz.c 9 | 10 | ..\..\zlib.lib: 11 | cd ..\.. 12 | $(MAKE) -f win32\makefile.msc 13 | cd contrib\untgz 14 | 15 | clean: 16 | -del untgz.obj 17 | -del untgz.exe 18 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc10/miniunz.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {048af943-022b-4db6-beeb-a54c34774ee2} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {c1d600d2-888f-4aea-b73e-8b0dd9befa0c} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {0844199a-966b-4f19-81db-1e0125e141b9} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc10/minizip.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {c0419b40-bf50-40da-b153-ff74215b79de} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {bb87b070-735b-478e-92ce-7383abb2f36c} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {f46ab6a6-548f-43cb-ae96-681abb5bd5db} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc10/testzlib.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {c1f6a2e3-5da5-4955-8653-310d3efe05a9} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {c2aaffdc-2c95-4d6f-8466-4bec5890af2c} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {c274fe07-05f2-461c-964b-f6341e4e7eb5} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | Source Files 44 | 45 | 46 | Source Files 47 | 48 | 49 | Source Files 50 | 51 | 52 | Source Files 53 | 54 | 55 | Source Files 56 | 57 | 58 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc10/testzlibdll.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {fa61a89f-93fc-4c89-b29e-36224b7592f4} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm 7 | 8 | 9 | {d4b85da0-2ba2-4934-b57f-e2584e3848ee} 10 | h;hpp;hxx;hm;inl;inc 11 | 12 | 13 | {e573e075-00bd-4a7d-bd67-a8cc9bfc5aca} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc10/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc10/zlibstat.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {174213f6-7f66-4ae8-a3a8-a1e0a1e6ffdd} 6 | 7 | 8 | 9 | 10 | Source Files 11 | 12 | 13 | Source Files 14 | 15 | 16 | Source Files 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | Source Files 44 | 45 | 46 | Source Files 47 | 48 | 49 | Source Files 50 | 51 | 52 | Source Files 53 | 54 | 55 | Source Files 56 | 57 | 58 | Source Files 59 | 60 | 61 | Source Files 62 | 63 | 64 | Source Files 65 | 66 | 67 | 68 | 69 | Source Files 70 | 71 | 72 | 73 | 74 | Source Files 75 | 76 | 77 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc11/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc12/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc14/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc14/zlibvc.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/vc9/zlib.rc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define IDR_VERSION1 1 4 | IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 5 | FILEVERSION 1, 2, 11, 0 6 | PRODUCTVERSION 1, 2, 11, 0 7 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 8 | FILEFLAGS 0 9 | FILEOS VOS_DOS_WINDOWS32 10 | FILETYPE VFT_DLL 11 | FILESUBTYPE 0 // not used 12 | BEGIN 13 | BLOCK "StringFileInfo" 14 | BEGIN 15 | BLOCK "040904E4" 16 | //language ID = U.S. English, char set = Windows, Multilingual 17 | 18 | BEGIN 19 | VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" 20 | VALUE "FileVersion", "1.2.11\0" 21 | VALUE "InternalName", "zlib\0" 22 | VALUE "OriginalFilename", "zlibwapi.dll\0" 23 | VALUE "ProductName", "ZLib.DLL\0" 24 | VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" 25 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x0409, 1252 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/MiniUnzipDebug/Tmp/miniunz.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/MiniUnzipRelease/Tmp/miniunz.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/MiniZipDebug/Tmp/minizip.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/MiniZipRelease/Tmp/minizip.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/TestZlibDebug/Tmp/testzlib.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/TestZlibDllDebug/Tmp/testzlibdll.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/TestZlibDllRelease/Tmp/testzlibdll.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/TestZlibRelease/Tmp/testzlib.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/ZlibStatDebug/Tmp/zlibstat.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/contrib/vstudio/x86/ZlibStatRelease/Tmp/zlibstat.log: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/examples/README.examples: -------------------------------------------------------------------------------- 1 | This directory contains examples of the use of zlib and other relevant 2 | programs and documentation. 3 | 4 | enough.c 5 | calculation and justification of ENOUGH parameter in inftrees.h 6 | - calculates the maximum table space used in inflate tree 7 | construction over all possible Huffman codes 8 | 9 | fitblk.c 10 | compress just enough input to nearly fill a requested output size 11 | - zlib isn't designed to do this, but fitblk does it anyway 12 | 13 | gun.c 14 | uncompress a gzip file 15 | - illustrates the use of inflateBack() for high speed file-to-file 16 | decompression using call-back functions 17 | - is approximately twice as fast as gzip -d 18 | - also provides Unix uncompress functionality, again twice as fast 19 | 20 | gzappend.c 21 | append to a gzip file 22 | - illustrates the use of the Z_BLOCK flush parameter for inflate() 23 | - illustrates the use of deflatePrime() to start at any bit 24 | 25 | gzjoin.c 26 | join gzip files without recalculating the crc or recompressing 27 | - illustrates the use of the Z_BLOCK flush parameter for inflate() 28 | - illustrates the use of crc32_combine() 29 | 30 | gzlog.c 31 | gzlog.h 32 | efficiently and robustly maintain a message log file in gzip format 33 | - illustrates use of raw deflate, Z_PARTIAL_FLUSH, deflatePrime(), 34 | and deflateSetDictionary() 35 | - illustrates use of a gzip header extra field 36 | 37 | zlib_how.html 38 | painfully comprehensive description of zpipe.c (see below) 39 | - describes in excruciating detail the use of deflate() and inflate() 40 | 41 | zpipe.c 42 | reads and writes zlib streams from stdin to stdout 43 | - illustrates the proper use of deflate() and inflate() 44 | - deeply commented in zlib_how.html (see above) 45 | 46 | zran.c 47 | index a zlib or gzip stream and randomly access it 48 | - illustrates the use of Z_BLOCK, inflatePrime(), and 49 | inflateSetDictionary() to provide random access 50 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/gzclose.c: -------------------------------------------------------------------------------- 1 | /* gzclose.c -- zlib gzclose() function 2 | * Copyright (C) 2004, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | #include "gzguts.h" 7 | 8 | /* gzclose() is in a separate file so that it is linked in only if it is used. 9 | That way the other gzclose functions can be used instead to avoid linking in 10 | unneeded compression or decompression routines. */ 11 | int ZEXPORT gzclose(file) 12 | gzFile file; 13 | { 14 | #ifndef NO_GZCOMPRESS 15 | gz_statep state; 16 | 17 | if (file == NULL) 18 | return Z_STREAM_ERROR; 19 | state = (gz_statep)file; 20 | 21 | return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); 22 | #else 23 | return gzclose_r(file); 24 | #endif 25 | } 26 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/inftrees.h: -------------------------------------------------------------------------------- 1 | /* inftrees.h -- header to use inftrees.c 2 | * Copyright (C) 1995-2005, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | /* Structure for decoding tables. Each entry provides either the 12 | information needed to do the operation requested by the code that 13 | indexed that table entry, or it provides a pointer to another 14 | table that indexes more bits of the code. op indicates whether 15 | the entry is a pointer to another table, a literal, a length or 16 | distance, an end-of-block, or an invalid code. For a table 17 | pointer, the low four bits of op is the number of index bits of 18 | that table. For a length or distance, the low four bits of op 19 | is the number of extra bits to get after the code. bits is 20 | the number of bits in this code or part of the code to drop off 21 | of the bit buffer. val is the actual byte to output in the case 22 | of a literal, the base length or distance, or the offset from 23 | the current table to the next table. Each entry is four bytes. */ 24 | typedef struct { 25 | unsigned char op; /* operation, extra bits, table bits */ 26 | unsigned char bits; /* bits in this part of the code */ 27 | unsigned short val; /* offset in table or code value */ 28 | } code; 29 | 30 | /* op values as set by inflate_table(): 31 | 00000000 - literal 32 | 0000tttt - table link, tttt != 0 is the number of table index bits 33 | 0001eeee - length or distance, eeee is the number of extra bits 34 | 01100000 - end of block 35 | 01000000 - invalid code 36 | */ 37 | 38 | /* Maximum size of the dynamic table. The maximum number of code structures is 39 | 1444, which is the sum of 852 for literal/length codes and 592 for distance 40 | codes. These values were found by exhaustive searches using the program 41 | examples/enough.c found in the zlib distribtution. The arguments to that 42 | program are the number of symbols, the initial root table size, and the 43 | maximum bit length of a code. "enough 286 9 15" for literal/length codes 44 | returns returns 852, and "enough 30 6 15" for distance codes returns 592. 45 | The initial root table size (9 or 6) is found in the fifth argument of the 46 | inflate_table() calls in inflate.c and infback.c. If the root table size is 47 | changed, then these maximum sizes would be need to be recalculated and 48 | updated. */ 49 | #define ENOUGH_LENS 852 50 | #define ENOUGH_DISTS 592 51 | #define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS) 52 | 53 | /* Type of code to build for inflate_table() */ 54 | typedef enum { 55 | CODES, 56 | LENS, 57 | DISTS 58 | } codetype; 59 | 60 | int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens, 61 | unsigned codes, code FAR * FAR *table, 62 | unsigned FAR *bits, unsigned short FAR *work)); 63 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/msdos/Makefile.dj2: -------------------------------------------------------------------------------- 1 | # Makefile for zlib. Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96. 2 | # Copyright (C) 1995-1998 Jean-loup Gailly. 3 | # For conditions of distribution and use, see copyright notice in zlib.h 4 | 5 | # To compile, or to compile and test, type: 6 | # 7 | # make -fmakefile.dj2; make test -fmakefile.dj2 8 | # 9 | # To install libz.a, zconf.h and zlib.h in the djgpp directories, type: 10 | # 11 | # make install -fmakefile.dj2 12 | # 13 | # after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as 14 | # in the sample below if the pattern of the DJGPP distribution is to 15 | # be followed. Remember that, while 'es around <=> are ignored in 16 | # makefiles, they are *not* in batch files or in djgpp.env. 17 | # - - - - - 18 | # [make] 19 | # INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include 20 | # LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib 21 | # BUTT=-m486 22 | # - - - - - 23 | # Alternately, these variables may be defined below, overriding the values 24 | # in djgpp.env, as 25 | # INCLUDE_PATH=c:\usr\include 26 | # LIBRARY_PATH=c:\usr\lib 27 | 28 | CC=gcc 29 | 30 | #CFLAGS=-MMD -O 31 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 32 | #CFLAGS=-MMD -g -DZLIB_DEBUG 33 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 34 | -Wstrict-prototypes -Wmissing-prototypes 35 | 36 | # If cp.exe is available, replace "copy /Y" with "cp -fp" . 37 | CP=copy /Y 38 | # If gnu install.exe is available, replace $(CP) with ginstall. 39 | INSTALL=$(CP) 40 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out: 41 | RM=del 42 | LDLIBS=-L. -lz 43 | LD=$(CC) -s -o 44 | LDSHARED=$(CC) 45 | 46 | INCL=zlib.h zconf.h 47 | LIBS=libz.a 48 | 49 | AR=ar rcs 50 | 51 | prefix=/usr/local 52 | exec_prefix = $(prefix) 53 | 54 | OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \ 55 | uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o 56 | 57 | OBJA = 58 | # to use the asm code: make OBJA=match.o 59 | 60 | TEST_OBJS = example.o minigzip.o 61 | 62 | all: example.exe minigzip.exe 63 | 64 | check: test 65 | test: all 66 | ./example 67 | echo hello world | .\minigzip | .\minigzip -d 68 | 69 | %.o : %.c 70 | $(CC) $(CFLAGS) -c $< -o $@ 71 | 72 | libz.a: $(OBJS) $(OBJA) 73 | $(AR) $@ $(OBJS) $(OBJA) 74 | 75 | %.exe : %.o $(LIBS) 76 | $(LD) $@ $< $(LDLIBS) 77 | 78 | # INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env . 79 | 80 | .PHONY : uninstall clean 81 | 82 | install: $(INCL) $(LIBS) 83 | -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH) 84 | -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH) 85 | $(INSTALL) zlib.h $(INCLUDE_PATH) 86 | $(INSTALL) zconf.h $(INCLUDE_PATH) 87 | $(INSTALL) libz.a $(LIBRARY_PATH) 88 | 89 | uninstall: 90 | $(RM) $(INCLUDE_PATH)\zlib.h 91 | $(RM) $(INCLUDE_PATH)\zconf.h 92 | $(RM) $(LIBRARY_PATH)\libz.a 93 | 94 | clean: 95 | $(RM) *.d 96 | $(RM) *.o 97 | $(RM) *.exe 98 | $(RM) libz.a 99 | $(RM) foo.gz 100 | 101 | DEPS := $(wildcard *.d) 102 | ifneq ($(DEPS),) 103 | include $(DEPS) 104 | endif 105 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/msdos/Makefile.emx: -------------------------------------------------------------------------------- 1 | # Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98. 2 | # Copyright (C) 1995-1998 Jean-loup Gailly. 3 | # For conditions of distribution and use, see copyright notice in zlib.h 4 | 5 | # To compile, or to compile and test, type: 6 | # 7 | # make -fmakefile.emx; make test -fmakefile.emx 8 | # 9 | 10 | CC=gcc 11 | 12 | #CFLAGS=-MMD -O 13 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 14 | #CFLAGS=-MMD -g -DZLIB_DEBUG 15 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 16 | -Wstrict-prototypes -Wmissing-prototypes 17 | 18 | # If cp.exe is available, replace "copy /Y" with "cp -fp" . 19 | CP=copy /Y 20 | # If gnu install.exe is available, replace $(CP) with ginstall. 21 | INSTALL=$(CP) 22 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out: 23 | RM=del 24 | LDLIBS=-L. -lzlib 25 | LD=$(CC) -s -o 26 | LDSHARED=$(CC) 27 | 28 | INCL=zlib.h zconf.h 29 | LIBS=zlib.a 30 | 31 | AR=ar rcs 32 | 33 | prefix=/usr/local 34 | exec_prefix = $(prefix) 35 | 36 | OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \ 37 | uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o 38 | 39 | TEST_OBJS = example.o minigzip.o 40 | 41 | all: example.exe minigzip.exe 42 | 43 | test: all 44 | ./example 45 | echo hello world | .\minigzip | .\minigzip -d 46 | 47 | %.o : %.c 48 | $(CC) $(CFLAGS) -c $< -o $@ 49 | 50 | zlib.a: $(OBJS) 51 | $(AR) $@ $(OBJS) 52 | 53 | %.exe : %.o $(LIBS) 54 | $(LD) $@ $< $(LDLIBS) 55 | 56 | 57 | .PHONY : clean 58 | 59 | clean: 60 | $(RM) *.d 61 | $(RM) *.o 62 | $(RM) *.exe 63 | $(RM) zlib.a 64 | $(RM) foo.gz 65 | 66 | DEPS := $(wildcard *.d) 67 | ifneq ($(DEPS),) 68 | include $(DEPS) 69 | endif 70 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/msdos/Makefile.tc: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # Turbo C 2.01, Turbo C++ 1.01 3 | # Last updated: 15-Mar-2003 4 | 5 | # To use, do "make -fmakefile.tc" 6 | # To compile in small model, set below: MODEL=s 7 | 8 | # WARNING: the small model is supported but only for small values of 9 | # MAX_WBITS and MAX_MEM_LEVEL. For example: 10 | # -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 11 | # If you wish to reduce the memory requirements (default 256K for big 12 | # objects plus a few K), you can add to CFLAGS below: 13 | # -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 14 | # See zconf.h for details about the memory requirements. 15 | 16 | # ------------ Turbo C 2.01, Turbo C++ 1.01 ------------ 17 | MODEL=l 18 | CC=tcc 19 | LD=tcc 20 | AR=tlib 21 | # CFLAGS=-O2 -G -Z -m$(MODEL) -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 22 | CFLAGS=-O2 -G -Z -m$(MODEL) 23 | LDFLAGS=-m$(MODEL) -f- 24 | 25 | 26 | # variables 27 | ZLIB_LIB = zlib_$(MODEL).lib 28 | 29 | OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj 30 | OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj 31 | OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj 32 | OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj 33 | 34 | 35 | # targets 36 | all: $(ZLIB_LIB) example.exe minigzip.exe 37 | 38 | .c.obj: 39 | $(CC) -c $(CFLAGS) $*.c 40 | 41 | adler32.obj: adler32.c zlib.h zconf.h 42 | 43 | compress.obj: compress.c zlib.h zconf.h 44 | 45 | crc32.obj: crc32.c zlib.h zconf.h crc32.h 46 | 47 | deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h 48 | 49 | gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h 50 | 51 | gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h 52 | 53 | gzread.obj: gzread.c zlib.h zconf.h gzguts.h 54 | 55 | gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h 56 | 57 | infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 58 | inffast.h inffixed.h 59 | 60 | inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 61 | inffast.h 62 | 63 | inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 64 | inffast.h inffixed.h 65 | 66 | inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h 67 | 68 | trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h 69 | 70 | uncompr.obj: uncompr.c zlib.h zconf.h 71 | 72 | zutil.obj: zutil.c zutil.h zlib.h zconf.h 73 | 74 | example.obj: test/example.c zlib.h zconf.h 75 | 76 | minigzip.obj: test/minigzip.c zlib.h zconf.h 77 | 78 | 79 | # the command line is cut to fit in the MS-DOS 128 byte limit: 80 | $(ZLIB_LIB): $(OBJ1) $(OBJ2) 81 | -del $(ZLIB_LIB) 82 | $(AR) $(ZLIB_LIB) $(OBJP1) 83 | $(AR) $(ZLIB_LIB) $(OBJP2) 84 | 85 | example.exe: example.obj $(ZLIB_LIB) 86 | $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) 87 | 88 | minigzip.exe: minigzip.obj $(ZLIB_LIB) 89 | $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) 90 | 91 | test: example.exe minigzip.exe 92 | example 93 | echo hello world | minigzip | minigzip -d 94 | 95 | clean: 96 | -del *.obj 97 | -del *.lib 98 | -del *.exe 99 | -del zlib_*.bak 100 | -del foo.gz 101 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/nintendods/README: -------------------------------------------------------------------------------- 1 | This Makefile requires devkitARM (http://www.devkitpro.org/category/devkitarm/) and works inside "contrib/nds". It is based on a devkitARM template. 2 | 3 | Eduardo Costa 4 | January 3, 2009 5 | 6 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/old/Makefile.emx: -------------------------------------------------------------------------------- 1 | # Makefile for zlib. Modified for emx/rsxnt by Chr. Spieler, 6/16/98. 2 | # Copyright (C) 1995-1998 Jean-loup Gailly. 3 | # For conditions of distribution and use, see copyright notice in zlib.h 4 | 5 | # To compile, or to compile and test, type: 6 | # 7 | # make -fmakefile.emx; make test -fmakefile.emx 8 | # 9 | 10 | CC=gcc -Zwin32 11 | 12 | #CFLAGS=-MMD -O 13 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 14 | #CFLAGS=-MMD -g -DZLIB_DEBUG 15 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 16 | -Wstrict-prototypes -Wmissing-prototypes 17 | 18 | # If cp.exe is available, replace "copy /Y" with "cp -fp" . 19 | CP=copy /Y 20 | # If gnu install.exe is available, replace $(CP) with ginstall. 21 | INSTALL=$(CP) 22 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out: 23 | RM=del 24 | LDLIBS=-L. -lzlib 25 | LD=$(CC) -s -o 26 | LDSHARED=$(CC) 27 | 28 | INCL=zlib.h zconf.h 29 | LIBS=zlib.a 30 | 31 | AR=ar rcs 32 | 33 | prefix=/usr/local 34 | exec_prefix = $(prefix) 35 | 36 | OBJS = adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o \ 37 | gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o 38 | 39 | TEST_OBJS = example.o minigzip.o 40 | 41 | all: example.exe minigzip.exe 42 | 43 | test: all 44 | ./example 45 | echo hello world | .\minigzip | .\minigzip -d 46 | 47 | %.o : %.c 48 | $(CC) $(CFLAGS) -c $< -o $@ 49 | 50 | zlib.a: $(OBJS) 51 | $(AR) $@ $(OBJS) 52 | 53 | %.exe : %.o $(LIBS) 54 | $(LD) $@ $< $(LDLIBS) 55 | 56 | 57 | .PHONY : clean 58 | 59 | clean: 60 | $(RM) *.d 61 | $(RM) *.o 62 | $(RM) *.exe 63 | $(RM) zlib.a 64 | $(RM) foo.gz 65 | 66 | DEPS := $(wildcard *.d) 67 | ifneq ($(DEPS),) 68 | include $(DEPS) 69 | endif 70 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/old/README: -------------------------------------------------------------------------------- 1 | This directory contains files that have not been updated for zlib 1.2.x 2 | 3 | (Volunteers are encouraged to help clean this up. Thanks.) 4 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/old/descrip.mms: -------------------------------------------------------------------------------- 1 | # descrip.mms: MMS description file for building zlib on VMS 2 | # written by Martin P.J. Zinser 3 | 4 | cc_defs = 5 | c_deb = 6 | 7 | .ifdef __DECC__ 8 | pref = /prefix=all 9 | .endif 10 | 11 | OBJS = adler32.obj, compress.obj, crc32.obj, gzio.obj, uncompr.obj,\ 12 | deflate.obj, trees.obj, zutil.obj, inflate.obj, infblock.obj,\ 13 | inftrees.obj, infcodes.obj, infutil.obj, inffast.obj 14 | 15 | CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF) 16 | 17 | all : example.exe minigzip.exe 18 | @ write sys$output " Example applications available" 19 | libz.olb : libz.olb($(OBJS)) 20 | @ write sys$output " libz available" 21 | 22 | example.exe : example.obj libz.olb 23 | link example,libz.olb/lib 24 | 25 | minigzip.exe : minigzip.obj libz.olb 26 | link minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib 27 | 28 | clean : 29 | delete *.obj;*,libz.olb;* 30 | 31 | 32 | # Other dependencies. 33 | adler32.obj : zutil.h zlib.h zconf.h 34 | compress.obj : zlib.h zconf.h 35 | crc32.obj : zutil.h zlib.h zconf.h 36 | deflate.obj : deflate.h zutil.h zlib.h zconf.h 37 | example.obj : zlib.h zconf.h 38 | gzio.obj : zutil.h zlib.h zconf.h 39 | infblock.obj : zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h 40 | infcodes.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h 41 | inffast.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h 42 | inflate.obj : zutil.h zlib.h zconf.h infblock.h 43 | inftrees.obj : zutil.h zlib.h zconf.h inftrees.h 44 | infutil.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h 45 | minigzip.obj : zlib.h zconf.h 46 | trees.obj : deflate.h zutil.h zlib.h zconf.h 47 | uncompr.obj : zlib.h zconf.h 48 | zutil.obj : zutil.h zlib.h zconf.h 49 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/old/os2/zlib.def: -------------------------------------------------------------------------------- 1 | ; 2 | ; Slightly modified version of ../nt/zlib.dnt :-) 3 | ; 4 | 5 | LIBRARY Z 6 | DESCRIPTION "Zlib compression library for OS/2" 7 | CODE PRELOAD MOVEABLE DISCARDABLE 8 | DATA PRELOAD MOVEABLE MULTIPLE 9 | 10 | EXPORTS 11 | adler32 12 | compress 13 | crc32 14 | deflate 15 | deflateCopy 16 | deflateEnd 17 | deflateInit2_ 18 | deflateInit_ 19 | deflateParams 20 | deflateReset 21 | deflateSetDictionary 22 | gzclose 23 | gzdopen 24 | gzerror 25 | gzflush 26 | gzopen 27 | gzread 28 | gzwrite 29 | inflate 30 | inflateEnd 31 | inflateInit2_ 32 | inflateInit_ 33 | inflateReset 34 | inflateSetDictionary 35 | inflateSync 36 | uncompress 37 | zlibVersion 38 | gzprintf 39 | gzputc 40 | gzgetc 41 | gzseek 42 | gzrewind 43 | gztell 44 | gzeof 45 | gzsetparams 46 | zError 47 | inflateSyncPoint 48 | get_crc_table 49 | compress2 50 | gzputs 51 | gzgets 52 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/os400/README400: -------------------------------------------------------------------------------- 1 | ZLIB version 1.2.11 for OS/400 installation instructions 2 | 3 | 1) Download and unpack the zlib tarball to some IFS directory. 4 | (i.e.: /path/to/the/zlib/ifs/source/directory) 5 | 6 | If the installed IFS command suppors gzip format, this is straightforward, 7 | else you have to unpack first to some directory on a system supporting it, 8 | then move the whole directory to the IFS via the network (via SMB or FTP). 9 | 10 | 2) Edit the configuration parameters in the compilation script. 11 | 12 | EDTF STMF('/path/to/the/zlib/ifs/source/directory/os400/make.sh') 13 | 14 | Tune the parameters according to your needs if not matching the defaults. 15 | Save the file and exit after edition. 16 | 17 | 3) Enter qshell, then work in the zlib OS/400 specific directory. 18 | 19 | QSH 20 | cd /path/to/the/zlib/ifs/source/directory/os400 21 | 22 | 4) Compile and install 23 | 24 | sh make.sh 25 | 26 | The script will: 27 | - create the libraries, objects and IFS directories for the zlib environment, 28 | - compile all modules, 29 | - create a service program, 30 | - create a static and a dynamic binding directory, 31 | - install header files for C/C++ and for ILE/RPG, both for compilation in 32 | DB2 and IFS environments. 33 | 34 | That's all. 35 | 36 | 37 | Notes: For OS/400 ILE RPG programmers, a /copy member defining the ZLIB 38 | API prototypes for ILE RPG can be found in ZLIB/H(ZLIB.INC). 39 | In the ILE environment, the same definitions are available from 40 | file zlib.inc located in the same IFS include directory as the 41 | C/C++ header files. 42 | Please read comments in this member for more information. 43 | 44 | Remember that most foreign textual data are ASCII coded: this 45 | implementation does not handle conversion from/to ASCII, so 46 | text data code conversions must be done explicitely. 47 | 48 | Mainly for the reason above, always open zipped files in binary mode. 49 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/watcom/watcom_f.mak: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # OpenWatcom flat model 3 | # Last updated: 28-Dec-2005 4 | 5 | # To use, do "wmake -f watcom_f.mak" 6 | 7 | C_SOURCE = adler32.c compress.c crc32.c deflate.c & 8 | gzclose.c gzlib.c gzread.c gzwrite.c & 9 | infback.c inffast.c inflate.c inftrees.c & 10 | trees.c uncompr.c zutil.c 11 | 12 | OBJS = adler32.obj compress.obj crc32.obj deflate.obj & 13 | gzclose.obj gzlib.obj gzread.obj gzwrite.obj & 14 | infback.obj inffast.obj inflate.obj inftrees.obj & 15 | trees.obj uncompr.obj zutil.obj 16 | 17 | CC = wcc386 18 | LINKER = wcl386 19 | CFLAGS = -zq -mf -3r -fp3 -s -bt=dos -oilrtfm -fr=nul -wx 20 | ZLIB_LIB = zlib_f.lib 21 | 22 | .C.OBJ: 23 | $(CC) $(CFLAGS) $[@ 24 | 25 | all: $(ZLIB_LIB) example.exe minigzip.exe 26 | 27 | $(ZLIB_LIB): $(OBJS) 28 | wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj 29 | wlib -b -c $(ZLIB_LIB) -+gzclose.obj -+gzlib.obj -+gzread.obj -+gzwrite.obj 30 | wlib -b -c $(ZLIB_LIB) -+deflate.obj -+infback.obj 31 | wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj 32 | wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj 33 | 34 | example.exe: $(ZLIB_LIB) example.obj 35 | $(LINKER) -ldos32a -fe=example.exe example.obj $(ZLIB_LIB) 36 | 37 | minigzip.exe: $(ZLIB_LIB) minigzip.obj 38 | $(LINKER) -ldos32a -fe=minigzip.exe minigzip.obj $(ZLIB_LIB) 39 | 40 | clean: .SYMBOLIC 41 | del *.obj 42 | del $(ZLIB_LIB) 43 | @echo Cleaning done 44 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/watcom/watcom_l.mak: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # OpenWatcom large model 3 | # Last updated: 28-Dec-2005 4 | 5 | # To use, do "wmake -f watcom_l.mak" 6 | 7 | C_SOURCE = adler32.c compress.c crc32.c deflate.c & 8 | gzclose.c gzlib.c gzread.c gzwrite.c & 9 | infback.c inffast.c inflate.c inftrees.c & 10 | trees.c uncompr.c zutil.c 11 | 12 | OBJS = adler32.obj compress.obj crc32.obj deflate.obj & 13 | gzclose.obj gzlib.obj gzread.obj gzwrite.obj & 14 | infback.obj inffast.obj inflate.obj inftrees.obj & 15 | trees.obj uncompr.obj zutil.obj 16 | 17 | CC = wcc 18 | LINKER = wcl 19 | CFLAGS = -zq -ml -s -bt=dos -oilrtfm -fr=nul -wx 20 | ZLIB_LIB = zlib_l.lib 21 | 22 | .C.OBJ: 23 | $(CC) $(CFLAGS) $[@ 24 | 25 | all: $(ZLIB_LIB) example.exe minigzip.exe 26 | 27 | $(ZLIB_LIB): $(OBJS) 28 | wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj 29 | wlib -b -c $(ZLIB_LIB) -+gzclose.obj -+gzlib.obj -+gzread.obj -+gzwrite.obj 30 | wlib -b -c $(ZLIB_LIB) -+deflate.obj -+infback.obj 31 | wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj 32 | wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj 33 | 34 | example.exe: $(ZLIB_LIB) example.obj 35 | $(LINKER) -fe=example.exe example.obj $(ZLIB_LIB) 36 | 37 | minigzip.exe: $(ZLIB_LIB) minigzip.obj 38 | $(LINKER) -fe=minigzip.exe minigzip.obj $(ZLIB_LIB) 39 | 40 | clean: .SYMBOLIC 41 | del *.obj 42 | del $(ZLIB_LIB) 43 | @echo Cleaning done 44 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/win32/Makefile.bor: -------------------------------------------------------------------------------- 1 | # Makefile for zlib 2 | # Borland C++ for Win32 3 | # 4 | # Usage: 5 | # make -f win32/Makefile.bor 6 | # make -f win32/Makefile.bor LOCAL_ZLIB=-DASMV OBJA=match.obj OBJPA=+match.obj 7 | 8 | # ------------ Borland C++ ------------ 9 | 10 | # Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7) 11 | # should be added to the environment via "set LOCAL_ZLIB=-DFOO" or 12 | # added to the declaration of LOC here: 13 | LOC = $(LOCAL_ZLIB) 14 | 15 | CC = bcc32 16 | AS = bcc32 17 | LD = bcc32 18 | AR = tlib 19 | CFLAGS = -a -d -k- -O2 $(LOC) 20 | ASFLAGS = $(LOC) 21 | LDFLAGS = $(LOC) 22 | 23 | 24 | # variables 25 | ZLIB_LIB = zlib.lib 26 | 27 | OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj 28 | OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj 29 | #OBJA = 30 | OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj 31 | OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj 32 | #OBJPA= 33 | 34 | 35 | # targets 36 | all: $(ZLIB_LIB) example.exe minigzip.exe 37 | 38 | .c.obj: 39 | $(CC) -c $(CFLAGS) $< 40 | 41 | .asm.obj: 42 | $(AS) -c $(ASFLAGS) $< 43 | 44 | adler32.obj: adler32.c zlib.h zconf.h 45 | 46 | compress.obj: compress.c zlib.h zconf.h 47 | 48 | crc32.obj: crc32.c zlib.h zconf.h crc32.h 49 | 50 | deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h 51 | 52 | gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h 53 | 54 | gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h 55 | 56 | gzread.obj: gzread.c zlib.h zconf.h gzguts.h 57 | 58 | gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h 59 | 60 | infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 61 | inffast.h inffixed.h 62 | 63 | inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 64 | inffast.h 65 | 66 | inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ 67 | inffast.h inffixed.h 68 | 69 | inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h 70 | 71 | trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h 72 | 73 | uncompr.obj: uncompr.c zlib.h zconf.h 74 | 75 | zutil.obj: zutil.c zutil.h zlib.h zconf.h 76 | 77 | example.obj: test/example.c zlib.h zconf.h 78 | 79 | minigzip.obj: test/minigzip.c zlib.h zconf.h 80 | 81 | 82 | # For the sake of the old Borland make, 83 | # the command line is cut to fit in the MS-DOS 128 byte limit: 84 | $(ZLIB_LIB): $(OBJ1) $(OBJ2) $(OBJA) 85 | -del $(ZLIB_LIB) 86 | $(AR) $(ZLIB_LIB) $(OBJP1) 87 | $(AR) $(ZLIB_LIB) $(OBJP2) 88 | $(AR) $(ZLIB_LIB) $(OBJPA) 89 | 90 | 91 | # testing 92 | test: example.exe minigzip.exe 93 | example 94 | echo hello world | minigzip | minigzip -d 95 | 96 | example.exe: example.obj $(ZLIB_LIB) 97 | $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) 98 | 99 | minigzip.exe: minigzip.obj $(ZLIB_LIB) 100 | $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) 101 | 102 | 103 | # cleanup 104 | clean: 105 | -del $(ZLIB_LIB) 106 | -del *.obj 107 | -del *.exe 108 | -del *.tds 109 | -del zlib.bak 110 | -del foo.gz 111 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/win32/VisualC.txt: -------------------------------------------------------------------------------- 1 | 2 | To build zlib using the Microsoft Visual C++ environment, 3 | use the appropriate project from the contrib/vstudio/ directory. 4 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/win32/zlib.def: -------------------------------------------------------------------------------- 1 | ; zlib data compression library 2 | EXPORTS 3 | ; basic functions 4 | zlibVersion 5 | deflate 6 | deflateEnd 7 | inflate 8 | inflateEnd 9 | ; advanced functions 10 | deflateSetDictionary 11 | deflateGetDictionary 12 | deflateCopy 13 | deflateReset 14 | deflateParams 15 | deflateTune 16 | deflateBound 17 | deflatePending 18 | deflatePrime 19 | deflateSetHeader 20 | inflateSetDictionary 21 | inflateGetDictionary 22 | inflateSync 23 | inflateCopy 24 | inflateReset 25 | inflateReset2 26 | inflatePrime 27 | inflateMark 28 | inflateGetHeader 29 | inflateBack 30 | inflateBackEnd 31 | zlibCompileFlags 32 | ; utility functions 33 | compress 34 | compress2 35 | compressBound 36 | uncompress 37 | uncompress2 38 | gzopen 39 | gzdopen 40 | gzbuffer 41 | gzsetparams 42 | gzread 43 | gzfread 44 | gzwrite 45 | gzfwrite 46 | gzprintf 47 | gzvprintf 48 | gzputs 49 | gzgets 50 | gzputc 51 | gzgetc 52 | gzungetc 53 | gzflush 54 | gzseek 55 | gzrewind 56 | gztell 57 | gzoffset 58 | gzeof 59 | gzdirect 60 | gzclose 61 | gzclose_r 62 | gzclose_w 63 | gzerror 64 | gzclearerr 65 | ; large file functions 66 | gzopen64 67 | gzseek64 68 | gztell64 69 | gzoffset64 70 | adler32_combine64 71 | crc32_combine64 72 | ; checksum functions 73 | adler32 74 | adler32_z 75 | crc32 76 | crc32_z 77 | adler32_combine 78 | crc32_combine 79 | ; various hacks, don't look :) 80 | deflateInit_ 81 | deflateInit2_ 82 | inflateInit_ 83 | inflateInit2_ 84 | inflateBackInit_ 85 | gzgetc_ 86 | zError 87 | inflateSyncPoint 88 | get_crc_table 89 | inflateUndermine 90 | inflateValidate 91 | inflateCodesUsed 92 | inflateResetKeep 93 | deflateResetKeep 94 | gzopen_w 95 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/win32/zlib1.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../zlib.h" 3 | 4 | #ifdef GCC_WINDRES 5 | VS_VERSION_INFO VERSIONINFO 6 | #else 7 | VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE 8 | #endif 9 | FILEVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0 10 | PRODUCTVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0 11 | FILEFLAGSMASK VS_FFI_FILEFLAGSMASK 12 | #ifdef _DEBUG 13 | FILEFLAGS 1 14 | #else 15 | FILEFLAGS 0 16 | #endif 17 | FILEOS VOS__WINDOWS32 18 | FILETYPE VFT_DLL 19 | FILESUBTYPE 0 // not used 20 | BEGIN 21 | BLOCK "StringFileInfo" 22 | BEGIN 23 | BLOCK "040904E4" 24 | //language ID = U.S. English, char set = Windows, Multilingual 25 | BEGIN 26 | VALUE "FileDescription", "zlib data compression library\0" 27 | VALUE "FileVersion", ZLIB_VERSION "\0" 28 | VALUE "InternalName", "zlib1.dll\0" 29 | VALUE "LegalCopyright", "(C) 1995-2017 Jean-loup Gailly & Mark Adler\0" 30 | VALUE "OriginalFilename", "zlib1.dll\0" 31 | VALUE "ProductName", "zlib\0" 32 | VALUE "ProductVersion", ZLIB_VERSION "\0" 33 | VALUE "Comments", "For more information visit http://www.zlib.net/\0" 34 | END 35 | END 36 | BLOCK "VarFileInfo" 37 | BEGIN 38 | VALUE "Translation", 0x0409, 1252 39 | END 40 | END 41 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/zlib.3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/3rd-party/zlib-1.2.11/zlib.3.pdf -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/zlib.map: -------------------------------------------------------------------------------- 1 | ZLIB_1.2.0 { 2 | global: 3 | compressBound; 4 | deflateBound; 5 | inflateBack; 6 | inflateBackEnd; 7 | inflateBackInit_; 8 | inflateCopy; 9 | local: 10 | deflate_copyright; 11 | inflate_copyright; 12 | inflate_fast; 13 | inflate_table; 14 | zcalloc; 15 | zcfree; 16 | z_errmsg; 17 | gz_error; 18 | gz_intmax; 19 | _*; 20 | }; 21 | 22 | ZLIB_1.2.0.2 { 23 | gzclearerr; 24 | gzungetc; 25 | zlibCompileFlags; 26 | } ZLIB_1.2.0; 27 | 28 | ZLIB_1.2.0.8 { 29 | deflatePrime; 30 | } ZLIB_1.2.0.2; 31 | 32 | ZLIB_1.2.2 { 33 | adler32_combine; 34 | crc32_combine; 35 | deflateSetHeader; 36 | inflateGetHeader; 37 | } ZLIB_1.2.0.8; 38 | 39 | ZLIB_1.2.2.3 { 40 | deflateTune; 41 | gzdirect; 42 | } ZLIB_1.2.2; 43 | 44 | ZLIB_1.2.2.4 { 45 | inflatePrime; 46 | } ZLIB_1.2.2.3; 47 | 48 | ZLIB_1.2.3.3 { 49 | adler32_combine64; 50 | crc32_combine64; 51 | gzopen64; 52 | gzseek64; 53 | gztell64; 54 | inflateUndermine; 55 | } ZLIB_1.2.2.4; 56 | 57 | ZLIB_1.2.3.4 { 58 | inflateReset2; 59 | inflateMark; 60 | } ZLIB_1.2.3.3; 61 | 62 | ZLIB_1.2.3.5 { 63 | gzbuffer; 64 | gzoffset; 65 | gzoffset64; 66 | gzclose_r; 67 | gzclose_w; 68 | } ZLIB_1.2.3.4; 69 | 70 | ZLIB_1.2.5.1 { 71 | deflatePending; 72 | } ZLIB_1.2.3.5; 73 | 74 | ZLIB_1.2.5.2 { 75 | deflateResetKeep; 76 | gzgetc_; 77 | inflateResetKeep; 78 | } ZLIB_1.2.5.1; 79 | 80 | ZLIB_1.2.7.1 { 81 | inflateGetDictionary; 82 | gzvprintf; 83 | } ZLIB_1.2.5.2; 84 | 85 | ZLIB_1.2.9 { 86 | inflateCodesUsed; 87 | inflateValidate; 88 | uncompress2; 89 | gzfread; 90 | gzfwrite; 91 | deflateGetDictionary; 92 | adler32_z; 93 | crc32_z; 94 | } ZLIB_1.2.7.1; 95 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/zlib.pc.cmakein: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=@CMAKE_INSTALL_PREFIX@ 3 | libdir=@INSTALL_LIB_DIR@ 4 | sharedlibdir=@INSTALL_LIB_DIR@ 5 | includedir=@INSTALL_INC_DIR@ 6 | 7 | Name: zlib 8 | Description: zlib compression library 9 | Version: @VERSION@ 10 | 11 | Requires: 12 | Libs: -L${libdir} -L${sharedlibdir} -lz 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/3rd-party/zlib-1.2.11/zlib.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | sharedlibdir=@sharedlibdir@ 5 | includedir=@includedir@ 6 | 7 | Name: zlib 8 | Description: zlib compression library 9 | Version: @VERSION@ 10 | 11 | Requires: 12 | Libs: -L${libdir} -L${sharedlibdir} -lz 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | BSD 3-Clause License 3 | 4 | Copyright (c) 2017, Chaos Computer Club 5 | Author: Thorsten (THS) Schroeder 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without 9 | modification, are permitted provided that the following conditions are met: 10 | 11 | * Redistributions of source code must retain the above copyright notice, this 12 | list of conditions and the following disclaimer. 13 | 14 | * Redistributions in binary form must reproduce the above copyright notice, 15 | this list of conditions and the following disclaimer in the documentation 16 | and/or other materials provided with the distribution. 17 | 18 | * Neither the name of the copyright holder nor the names of its 19 | contributors may be used to endorse or promote products derived from 20 | this software without specific prior written permission. 21 | 22 | * NON-MILITARY-USAGE CLAUSE 23 | Redistribution and use in source and binary form for military use and 24 | military research is not permitted. Infringement of these clauses may 25 | result in publishing the source code of the utilizing applications and 26 | libraries to the public. As this software is developed, tested and 27 | reviewed by *international* volunteers, this clause shall not be refused 28 | due to the matter of *national* security concerns. 29 | 30 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 31 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 32 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 33 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 34 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 35 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 36 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 37 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 38 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 39 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 | 41 | ---------------------------------------------------------------------------------- 42 | 43 | This project uses zlib 1.2.11 (https://zlib.net/) 44 | 45 | The following modifications were made to the zlib project files: 46 | - minor modifications of VS settings in zlib/contrib/vstudio/vc14 47 | - renamed function main() to mainx() in zlib/contrib/minizip/miniunz.c 48 | 49 | ---------------------------------------------------------------------------------- 50 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/README.md: -------------------------------------------------------------------------------- 1 | # Walruss PC-Wahl 10 Update Decryptor 2 | 3 | **PC-Wahl 10 Update Decryptor** is a program that can be used to extract and build update packages for PC-Wahl 10 installations that are deployed on computers used in election offices. 4 | 5 | ## Build 6 | 7 | To build the program via Microsoft Developer Command Prompt, go to the source directory and execute the build.bat batch file. 8 | 9 | ## Usage 10 | 11 | The command line syntax is the following: 12 | 13 | ``` 14 | pcw_updatedecrypt.exe -x 15 | pcw_updatedecrypt.exe -c 16 | ``` 17 | 18 | To **extract** a downloaded update package, unzip the downloaded file (e. g. pcw10dat1.zip) and pass the resulting encrypted package pcw10dat1.010 to pcw_updatedecrypt.exe using the `-x` flag: 19 | 20 | `pcw_updatedecrypt.exe -x pcw10dat1.010 pcw10dat1-extracted` 21 | 22 | To **create** an update package, pass the path to the directory-structure to pcw_updatedecrypt.exe using the `-c` flag: 23 | 24 | `pcw_updatedecrypt.exe -c pcw10dat1-malicious pcw10dat1.010` 25 | 26 | The resulting file must then be zipped again using any zip compatible program. 27 | 28 | ## PC-Wahl 10 update file encryption 29 | 30 | The encrypted file (extension .010) has a 16 byte file-header. The first 4 bytes is a file magic field. The subsequent data is encrypted 0x2800 byte block-wise, using the following algorithm: 31 | 32 | ```c 33 | char secret_key[] = { 34 | 0x20, 0x6f, 0x17, 0x48, 0x40, 0x79, 0x0c, 0x0c, 35 | 0x98, 0x64, 0x03, 0x4d, 0x4e, 0xd3, 0x91, 0x25, 36 | 0x85, 0x0c, 37 | 0x20, 0x6f, 0x17, 0x48, 0x40, 0x79, 0x0c, 0x0c, 38 | 0x98, 0x64, 0x03, 0x4d, 0x4e, 0xd3, 0x91, 0x25, 39 | 0x85, 0x0c }; 40 | 41 | [...] 42 | unsigned int i = 1; 43 | int counter = 0; 44 | char key; 45 | do { 46 | counter++; 47 | counter &= 0x0F; 48 | counter += 0x0D; 49 | key = *(secret_key + counter - 3) & 0xFF; 50 | counter = i; 51 | counter = counter & 0xFF; 52 | key = key ^ counter; 53 | 54 | result[i-1] = input[i-1] ^ key; 55 | i++; 56 | } while(i <= 0x2800); 57 | [...] 58 | ``` 59 | 60 | ## Authors 61 | 62 | PC-Wahl 10.0 Update-Package Decrypter (c) 2017 63 | by Thorsten (THS) Schroeder 64 | 65 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/build.bat: -------------------------------------------------------------------------------- 1 | rem -- stuff made by ths 2 | 3 | @echo off 4 | 5 | rem /Zi for the debugz 6 | 7 | cl /W2 /MT /Fepcw_updatedecrypt.exe pcw_deupd.c helper.c /I3rd-party\zlib-1.2.11 /I3rd-party\zlib-1.2.11\contrib\minizip 3rd-party\zlib-1.2.11\contrib\minizip\unzip.c 3rd-party\zlib-1.2.11\contrib\minizip\zip.c 3rd-party\zlib-1.2.11\contrib\minizip\miniunz.c 3rd-party\zlib-1.2.11\contrib\minizip\minizip.c 3rd-party\zlib-1.2.11\inflate.c 3rd-party\zlib-1.2.11\deflate.c 3rd-party\zlib-1.2.11\crc32.c 3rd-party\zlib-1.2.11\adler32.c 3rd-party\zlib-1.2.11\inffast.c 3rd-party\zlib-1.2.11\contrib/minizip/iowin32.c 3rd-party\zlib-1.2.11\contrib/minizip/ioapi.c 3rd-party\zlib-1.2.11\zutil.c 3rd-party\zlib-1.2.11\trees.c 3rd-party\zlib-1.2.11\inftrees.c 8 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/clean.bat: -------------------------------------------------------------------------------- 1 | rem -- stuff made by ths 2 | 3 | @echo off 4 | 5 | del *.exe *.obj *.pdb *ilk 6 | -------------------------------------------------------------------------------- /pcw_updatedecrypt/executable/pcw_updatedecrypt.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devio/Walruss/6f7ff8ec99de17b18626155198f49c8c267cd32a/pcw_updatedecrypt/executable/pcw_updatedecrypt.exe -------------------------------------------------------------------------------- /pcw_updatedecrypt/helper.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 3 | * Thorsten Schroeder 4 | * 5 | * All rights reserved. 6 | * 7 | * "THE BEER-WARE LICENSE" (Revision 42): 8 | * Thorsten Schroeder wrote this file. As long as you 9 | * retain this notice you can do whatever you want with this stuff. If we meet 10 | * some day, and you think this stuff is worth it, you can buy me a beer in 11 | * return. Thorsten Schroeder. 12 | * 13 | * NON-MILITARY-USAGE CLAUSE 14 | * Redistribution and use in source and binary form for military use and 15 | * military research is not permitted. Infringement of these clauses may 16 | * result in publishing the source code of the utilizing applications and 17 | * libraries to the public. As this software is developed, tested and 18 | * reviewed by *international* volunteers, this clause shall not be refused 19 | * due to the matter of *national* security concerns. 20 | * 21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE DDK PROJECT BE LIABLE FOR ANY DIRECT, 25 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 28 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | * 32 | * File: helper.h 33 | * Description: Declaration & Documentation of helper functions. 34 | */ 35 | 36 | #ifndef _HELPER_H 37 | #define _HELPER_H 38 | 39 | #include 40 | 41 | /*! 42 | * print buffer as hex-dump. The input buffer is printed as hex-dump, with 43 | * an offset column first. The second column is the hexadecimal dump of the binary data. 44 | * Third column is the ascii representation of the input data. 45 | * Example: 46 | * 00000 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 0d 0a GET / HTTP/1.1.. 47 | * 48 | * @param[in] s source buffer 49 | * @param[in] l source buffer length 50 | * @param[in] o offset 51 | */ 52 | void print_hex_ascii_line(const unsigned char *s, int l, int o); 53 | 54 | /*! 55 | * print byte as hex. Prints input byte b as hex string. 56 | * @param[in] b byte 57 | */ 58 | void print_hex_byte(char b); 59 | 60 | /*! 61 | * print 16bit word as hex. Prints input word w as hex string. 62 | * @param[in] w word 63 | */ 64 | void print_hex_word(int16_t w); 65 | 66 | /*! 67 | * print 32bit dword as hex. Prints input dword d as hex string. 68 | * @param[in] d dword 69 | */ 70 | void print_hex_dword(int32_t d); 71 | 72 | /*! 73 | * print buffer as hex. Prints input byte buffer s as hex string. 74 | * @param[in] s source buffer 75 | * @param[in] l source buffer length 76 | */ 77 | void print_hex_buf(char *s, uint32_t l); 78 | 79 | 80 | #endif -------------------------------------------------------------------------------- /pcw_updatedecrypt/run.bat: -------------------------------------------------------------------------------- 1 | 2 | @echo off 3 | 4 | rem pcw_deupdate.exe -c pcw10dat1.malicious foomal.010 5 | 6 | pcw_deupdate.exe -x foomal.010 000_thstest.extract 7 | --------------------------------------------------------------------------------