├── English.ini ├── GuiScaler.au3 ├── HexDump.au3 ├── LICENSE ├── Pie.au3 ├── README.md ├── UniExtract.au3 ├── UniExtractUpdater.au3 ├── UniExtractUpdater_Elevated.au3 ├── def ├── adf.ini ├── alz.ini ├── arc.ini ├── bitrock.ini ├── bsa.ini ├── godot.ini ├── lbr.ini ├── lit.ini ├── mo.ini ├── pex.ini ├── qm.ini ├── registry.ini ├── rpgmvp.ini ├── sgb.ini ├── sim.ini ├── sit.ini ├── spoon.ini ├── utage.ini └── uu.ini ├── devdata ├── Koda │ ├── About.kxf │ ├── BatchQueue.kxf │ ├── CommandLineHelp.kxf │ ├── Context.kxf │ ├── CustomPrompt.kxf │ ├── DownloadExternals.kxf │ ├── DownloadProgress.kxf │ ├── Error_UnknownFile.kxf │ ├── Error_WithFeedbackButton.kxf │ ├── FFmpegPrompt.kxf │ ├── Feedback.kxf │ ├── Feedback_new.kxf │ ├── FileScan.kxf │ ├── FirstStart.kxf │ ├── GameSelector.kxf │ ├── MissingPluginPrompt.kxf │ ├── Plugins.kxf │ ├── Prefs.kxf │ ├── Progress.kxf │ ├── Prompt.kxf │ ├── Uninstall.kxf │ ├── UpdatePrompt.kxf │ └── stats.kxf ├── MediaInfoTest.au3 └── ci-doc.txt ├── docs ├── ANTI-MALWARE.md ├── FORMATS.md ├── changelog.txt └── helper_binaries_info.txt ├── lang ├── Arabic.ini ├── Armenian.ini ├── Bulgarian.ini ├── Catalan.ini ├── Chinese (Simplified).ini ├── Chinese (Traditional).ini ├── Croatian.ini ├── Czech.ini ├── Dutch.ini ├── Farsi.ini ├── Finnish.ini ├── French.ini ├── German.ini ├── Greek.ini ├── Hungarian.ini ├── Italian.ini ├── Japanese.ini ├── Korean.ini ├── Latvian.ini ├── Polish.ini ├── Portuguese (Brazilian).ini ├── Portuguese.ini ├── Romanian.ini ├── Russian.ini ├── Serbian.ini ├── Slovak.ini ├── Spanish.ini ├── Swedish.ini ├── Taiwanese.ini ├── Thai.ini ├── Turkish.ini ├── Ukrainian.ini └── Vietnamese.ini ├── support ├── CheckHelpers.au3 ├── CheckLanguage.au3 ├── Deprecated │ ├── CreateUpdatePackage.au3 │ ├── Language_NameUpdate.au3 │ └── Language_SUpdate.au3 ├── Icons │ ├── Bioruebe.png │ ├── BioruebeWhite.png │ ├── ContextMenu_Cascading.png │ ├── ContextMenu_Simple.png │ ├── uniextract.png │ ├── uniextract_context.bmp │ ├── uniextract_exe.ico │ ├── uniextract_exe.xcf │ ├── uniextract_files.ico │ ├── uniextract_files.xcf │ └── uniextract_inno.bmp └── UpdateTranslations.au3 └── todo.txt /English.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/English.ini -------------------------------------------------------------------------------- /HexDump.au3: -------------------------------------------------------------------------------- 1 | #include-once 2 | 3 | ; Example 4 | ;~ ConsoleWrite(_HexDump(@WindowsDir & "\Notepad.exe", 256)) 5 | 6 | ; #FUNCTION# ==================================================================================================================== 7 | ; Name ..........: _HexDump 8 | ; Description ...: Open a specified file and create a hex dump of the first $iBytes bytes. 9 | ; Syntax ........: _HexDump($sFile, $iBytes) 10 | ; Parameters ....: $sFile - Filename of the file to dump. 11 | ; $iBytes - The length in bytes to dump. 12 | ; Return values .: A formatted hex dump string or an empty string and sets the @error flag to non-zero. 13 | ; @error: 1 - Error reading file 14 | ; 2|3 - DllCall 'CryptBinaryToString' failed 15 | ; Author ........: Bioruebe 16 | ; Modified ......: 17 | ; Remarks .......: 18 | ; Related .......: http://msdn.microsoft.com/en-us/library/windows/desktop/aa379887%28v=vs.85%29.aspx 19 | ; Link ..........: 20 | ; Example .......: Yes 21 | ; =============================================================================================================================== 22 | Func _HexDump($sFile, $iBytes) 23 | Local $hFile, $bData, $tInput, $aDllCall, $tOut 24 | 25 | $hFile = FileOpen($sFile, 16) 26 | If @error Then Return SetError(1, 0, "") 27 | $bData = FileRead($hFile, $iBytes) 28 | If @error Then Return SetError(1, 0, "") 29 | FileClose($hFile) 30 | 31 | $tInput = DllStructCreate("byte[" & BinaryLen($bData) & "]") 32 | DllStructSetData($tInput, 1, $bData) 33 | 34 | $aDllCall = DllCall("crypt32.dll", "int", "CryptBinaryToString", "ptr", DllStructGetPtr($tInput), "dword", DllStructGetSize($tInput), "dword", _ 35 | 0x0000000B, "ptr", 0, "dword*", 0) 36 | 37 | If @error Or Not $aDllCall[0] Then Return SetError(2, 0, "") 38 | 39 | $tOut = DllStructCreate("char[" & $aDllCall[5] & "]") 40 | $aDllCall = DllCall("crypt32.dll", "int", "CryptBinaryToString", "ptr", DllStructGetPtr($tInput), "dword", DllStructGetSize($tInput), "dword", _ 41 | 0x0000000B, "ptr", DllStructGetPtr($tOut), "dword*", $aDllCall[5]) 42 | 43 | If @error Or Not $aDllCall[0] Then Return SetError(3, 0, "") 44 | 45 | Return DllStructGetData($tOut, 1) 46 | EndFunc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Universal Extractor 2 _(UniExtract2)_ 2 | 3 | [![Download](https://img.shields.io/badge/download-success?style=for-the-badge)](https://github.com/Bioruebe/UniExtract2#download) 4 | 5 | Universal Extractor 2 is a tool designed to **extract files from any type of extractable file**. 6 | 7 | Unlike most archiving programs, UniExtract is not limited to **standard archives** such as `.zip` and `.rar`. It can also deal with **application installers**, **disk images** and even **game archives** and other **multimedia files**. An overview of supported file types can be found [here](/docs/FORMATS.md) 8 | 9 | This program is an unofficial updated and extended version of the [original UniExtract by Jared Breland](http://legroom.net/software/uniextract). As the development of the original version has stopped and no update has been published for years, many forks (modified versions, maintained by volunteers from the community) have arisen. This is the most advanced of them, featuring a very long list of enhancements. 10 | 11 | ## New features in version 2 12 | 13 | - 500+ new supported file types 14 | - Batch mode 15 | - Scan only mode to detect the type of any given file 16 | - Built-in updater 17 | - Support for password list for common archives 18 | - Improved context menu integration and status box 19 | - Better and faster file analysis 20 | - Silent mode, not showing any prompts 21 | - Many interface improvements and redesigned dialogs 22 | - Resource usage/speed improvements, lots of bug fixes 23 | 24 | See the [changelog](docs/changelog.txt) for a complete log of all improvements. 25 | 26 | ## Download 27 | 28 | Get the latest version [here](https://github.com/Bioruebe/UniExtract2/releases/download/v2.0.0-rc.3/UniExtractRC3.zip) 29 | 30 | ###### Virus alert? 31 | 32 | Universal Extractor does not contain any malware. Some anti-virus programs occasionally misdetect files inside UniExtract's program directory. You can be sure that this is a so-called false positive, an error - if you downloaded UniExtract from the official source at `https://github.com/Bioruebe/UniExtract2`. A more detailed explanation can be found [here](/docs/ANTI-MALWARE.md). If you encounter a false positive, please report it [here](https://github.com/Bioruebe/UniExtract2/issues/78). 33 | 34 | ###### 'Windows protected your PC'? 35 | 36 | Modern versions of Windows have a feature called *SmartScreen*, which warns about unknown files. This means software without a big company behind it and/or a huge userbase produces a warning. Don't panic! Mostly this happens after a new version of UniExtract has been released. After enough users updated their installation, the warning might vanish, because it now has reputation. If you see a *SmartScreen* warning, you can safely click 'More info', then 'Run anyway'. 37 | 38 | ###### System requirements 39 | 40 | In short: Windows XP or newer. 41 | However, outdated version of Windows only have limited support: 42 | 43 | - Windows 7: sending feedback requires you to follow [this guide by Microsoft](https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi), otherwise it will fail 44 | - Windows XP: any online functionality, such as the updater or the feedback dialog, is disabled for security reasons. Also some extractors might not work. 45 | 46 | (Online functionality for these systems might be restored in a future version of Universal Extractor.) 47 | 48 | ###### Updating 49 | 50 | Universal Extractor 2 comes with a built-in updater. You will receive a notification when a new version is released. Alternatively, you can search for updates manually from the `Help` menu. 51 | 52 | At the moment, UniExtract is still in beta and updates are rare. If you want to keep up-to-date with the development, you can [opt-in to more frequent updates](#nightly-builds). 53 | 54 | **Do not replace any files in UniExtract's program directory yourself. This will break things!** 55 | More details can be found [here](https://github.com/Bioruebe/UniExtract2/issues/293#issuecomment-1142877436). 56 | 57 | ###### Older versions 58 | 59 | ...can be found on the [Releases](https://github.com/Bioruebe/UniExtract2/releases) page. 60 | However, this is for historical reasons ony. Please consider using the newest version instead. 61 | 62 | ###### Uninstalling 63 | 64 | - If you enabled **context menu entries**, open Universal Extractor and select `Edit` > `Context Menu Entries`. Uncheck both `enabled` checkboxes and click `OK`. 65 | - If you saved the program to a directory without write access (e.g. C:\Program Files) and want to remove all settings, remove the directory `%APPDATA%\Bioruebe\UniExtract`. Simply open the file explorer and enter `%APPDATA%\Bioruebe` into the path input, then delete the directory `UniExtract`. 66 | - Finally, delete the program directory. 67 | 68 | ## FAQ 69 | 70 | #### Is there a portable version? 71 | 72 | Universal Extractor itself is completely portable, with some exceptions: 73 | 74 | - Enabling context menu entries will create registry entries 75 | - To extract a wide variety of file types more than 50 different extractors are used. Some of them might leave traces on the system. For the most common archives and installers extraction can be considered portable, for others probably not. 76 | - Storing Universal Extractor in a directory without write access (e.g. C:\Program Files) enables multi-user mode. This results in configuration files being stored in the %APPDATA% directory (C:\Users\YourUsername\AppData\Roaming\Bioruebe\UniExtract). 77 | See issue [#20](https://github.com/Bioruebe/UniExtract2/issues/20) for more information. 78 | 79 | #### Why are there many different versions/modifications/repacks of Universal Extractor? 80 | 81 | When the original developer of UniExtract stopped working on it, many people from around the world continued to update and improve the program. Some 'only' updated the tools Universal Extractor uses, others added great features. As a result all versions differ in terms of supported archives and features added. 82 | 83 | This version is the only 'real' open-source one, with a central repository on Github everyone can contribute to. Over the years I fulfilled many user requests, added support for files the community wanted to decompress and implemented a lot of convenience functions. Many volunteers help translating UniExtract, finding bugs, discussing improvements and respond to other user's questions. 84 | 85 | However, Universal Extractor 2 may fail to unpack files, which other versions of this tool can extract. If you *really* need to access the contents of an archive, you may have success with one of the other UniExtracts. Alternatively, you can also ask for support here. It might take a while until I can answer, though. 86 | 87 | #### Can UniExtract (re)compress files? 88 | 89 | No. This tool was designed as an extraction utility. A counterpart (*"UniArchive"*) is out of scope - at least for me. (Read about the reasons [here](https://github.com/Bioruebe/UniExtract2/issues/87#issuecomment-409806225).) Feel free to create it! 90 | 91 | ## Nightly Builds 92 | 93 | You can opt-in to receive the most current development build of Universal Extractor 2. Simply open the preferences dialog (from 'Edit' menu) and check `Install beta updates`. The next time you search for updates, you will receive the development build instead of the release version. After disabling the option again you can go back to the latest stable version by simply updating. 94 | 95 | ## Reporting bugs 96 | 97 | Did you encounter a problem with UniExtract? Please report what went wrong to us. There are differnet ways to do so: 98 | 99 | - If you have a Github account, you can **[open an issue](https://github.com/Bioruebe/UniExtract2/issues)**. This is the prefered way for **feature requests**, **suggestions** and **general technical problems**. 100 | - From within Universal Extractor: select **'Give feedback'** from the **'Help' menu**. This is the prefered way to submit **failed extractons**. If UniExtract was not successful, it will automatically ask you to send feedback (can be disabled from the options). This type of feedback includes a log with several debug information, which could help fixing the problem. 101 | - Direct contact via **[email](https://bioruebe.com/blog/contact/)**. This can be used if you do not have an account at Github. Many users, who created translations for UniExtract, like to send updated files per email. (Others open [pull requests](https://github.com/Bioruebe/UniExtract2/pulls) instead.) 102 | 103 | ## Building from Source 104 | 105 | 1. Download and install [AutoIt](https://www.autoitscript.com/site/autoit/downloads/) 106 | 2. Download and install [SciTE](https://www.autoitscript.com/site/autoit-script-editor/downloads/) (Optional) 107 | - Running UniExtract through SciTE has the additional benefit of real-time logging in the built-in console. 108 | 3. Clone this repository **or** download a snapshot and unpack into a folder of your likings 109 | 4. Open UniExtract.au3 in SciTE and hit `F5` to run in debug mode; `F7` to build an executable file **or** run UniExtract.au3 through Aut2Exe (look [here](https://github.com/Bioruebe/UniExtract2/issues/72#issuecomment-313288728) for more information about Aut2Exe) 110 | 5. Download the necessary program files, which are not part of the source package 111 | 1. Run the program 112 | 2. UniExtract will display a message that the program files are incomplete. Select `No`. 113 | 3. Go to `Edit/Preferences` and check `Install beta updates`. An update notification should appear. Otherwise, choose `Help/Check for Updates`. Select `Yes`. 114 | 6. In case the main executable gets overwritten, rebuild it as explained in step 4. 115 | 116 | ## Contributions 117 | 118 | Any contribution in form of ideas, bug reports, code commits, documentation improvements, etc. is welcome. Help is currently needed in updating the translations for many languages. If you are able to translate into another language, take a look at the corresponding issue (#2) or open the language file in the `/lang` subdirectory and check for empty strings. English and German language are always up-to-date and can be used as a reference. 119 | 120 | Feel free to submit bug reports or feature requests using the issues tab or the built-in feedback window in Universal Extractor, accessible via the 'Help' menu. Refer to Github's issue page for planned features and problems to be fixed in future versions. The file `todo.txt` is a leftover from the original Universal Extractor and only used for personal development thoughts and notes. 121 | 122 | ## License 123 | 124 | Universal Extractor is licensed under **GPLv2**. See LICENSE for the full legal text. 125 | Code (functions, UDFs, etc.) written from scratch by me (which are not under copyleft) can also be used in your own projects under the terms of a BSD 3-clause license. 126 | 127 | Universal Extractor uses [TrIDLib by Marco Pontello](http://mark0.net/code-tridlib-e.html), several [7zip plugins by Dec Software](https://www.tc4shell.com/en/7zip/) and many other great tools and libraries to support as many file formats as possible. Please consider supporting the authors of the software [mentioned here](/docs/helper_binaries_info.txt). 128 | 129 | Please note that Universal Extractor includes third-party software, which uses different licenses than the main program. Specifically, **some extractors do not allow commercial use**. If you intend to use the software for commercial purposes, please check the individual license files in the `/docs` subdirectory and the [helper binary info file](https://github.com/Bioruebe/UniExtract2/blob/master/helper_binaries_info.txt) first. 130 | Feel free to delete files, whose license does not fit your use case, from the `/bin` subdirectory. 131 | -------------------------------------------------------------------------------- /UniExtractUpdater.au3: -------------------------------------------------------------------------------- 1 | #Region ;**** Directives created by AutoIt3Wrapper_GUI **** 2 | #AutoIt3Wrapper_Icon=support\Icons\uniextract_exe.ico 3 | #AutoIt3Wrapper_Outfile=UniExtractUpdater_NoAdmin.exe 4 | #AutoIt3Wrapper_Res_Description=Update utility for Universal Extractor 5 | #AutoIt3Wrapper_Res_Fileversion=2.0.0.0 6 | #AutoIt3Wrapper_Run_Au3Stripper=y 7 | #Au3Stripper_Parameters=/mo 8 | #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** 9 | 10 | #cs ---------------------------------------------------------------------------- 11 | 12 | AutoIt Version: 3.3.14.2 13 | Author: Bioruebe 14 | 15 | Script Function: 16 | Auto-updater for Universal Extractor 17 | 18 | #ce ---------------------------------------------------------------------------- 19 | 20 | ; Script Start - Add your code below here 21 | 22 | #include 23 | #include 24 | #include 25 | 26 | Const $sUpdaterTitle = "Universal Extractor Updater" 27 | Const $sMainUpdateURL = "https://update.bioruebe.com/uniextract/data/UniExtract.exe" 28 | Const $sMainNighlyUpdateURL = "https://update.bioruebe.com/uniextract/nightly/UniExtract.exe" 29 | Const $sGetLinkURL = "https://update.bioruebe.com/uniextract/geturl.php?q=" 30 | Const $sUniExtract = @ScriptDir & "\UniExtract.exe" 31 | 32 | If Not FileExists($sUniExtract) Then 33 | If MsgBox(16+4, $sUpdaterTitle, "Universal Extractor main executable not found in current directory." & @CRLF & @CRLF & "Path is " & $sUniExtract & @CRLF & @CRLF & "Do you want to redownload Universal Extractor?") == 6 Then _ 34 | _UpdateUniExtract() 35 | Exit 36 | EndIf 37 | 38 | If $cmdline[0] < 1 Then Exit ShellExecute($sUniExtract, "/update") 39 | 40 | Sleep(50) 41 | 42 | If $cmdline[1] == "/pluginst" Then 43 | ; To install plugins we just start UniExtract elevated 44 | Exit ShellExecute($sUniExtract, "/plugins") 45 | ElseIf $cmdline[1] == "/main" Then 46 | _UpdateUniExtract(_ArraySearch($cmdline, "/nightly") > -1) 47 | ElseIf $cmdline[1] == "/helper" Then 48 | Exit ShellExecute($sUniExtract, "/updatehelper") 49 | ElseIf $cmdline[1] == "/ffmpeg" Then 50 | _GetFFMPEG() 51 | EndIf 52 | 53 | Func _UpdateUniExtract($bNightly = False) 54 | If Not ProcessWaitClose($sUniExtract, 10) Then Exit MsgBox(16, $sUpdaterTitle, "Failed to close Universal Extractor. Please terminate the process manually and try again.") 55 | 56 | _Download($bNightly? $sMainNighlyUpdateURL: $sMainUpdateURL) 57 | $error = @error 58 | 59 | Sleep(100) 60 | Exit ShellExecute($sUniExtract, $error? "": "/afterupdate") 61 | EndFunc 62 | 63 | Func _GetFFMPEG() 64 | Const $cmd = (FileExists(@ComSpec)? @ComSpec: @WindowsDir & '\system32\cmd.exe') & ' /d /c ' 65 | Const $sOSArchDir = @ScriptDir & "\bin\" & (@OSArch = 'X64'? 'x64\': 'x86\') 66 | Const $sOSArch = @OSArch = 'X64'? '64': '32' 67 | Const $sLicenseFile = @ScriptDir & "\docs\FFmpeg_license.html" 68 | Const $7z = '""' & $sOSArchDir & '7z.exe"' 69 | 70 | $FFmpegURL = _INetGetSource($sGetLinkURL & "ffmpeg" & (StringInStr(@OSVersion, "WIN_XP")? "xp": "") & $sOSArch & "&r=0") 71 | $return = _Download($FFmpegURL, @TempDir, False) 72 | If @error Then Exit 1 73 | 74 | ; Extract files, move them to scriptdir and delete files from tempdir 75 | Local $ret = RunWait($cmd & $7z & ' e -ir!ffmpeg.exe -y -o"' & $sOSArchDir & '" "' & $return & '"', @TempDir) 76 | FileDelete(@TempDir & $return) 77 | If $ret <> 0 Then Exit MsgBox(48, $sUpdaterTitle, "Failed to extract update package " & $return & "." & @CRLF & @CRLF & "Make sure Universal Extractor is up to date and try again, or unpack the file manually to " & $sOSArchDir) 78 | 79 | ; Download license information 80 | If Not FileExists($sLicenseFile) Then _Download("https://ffmpeg.org/legal.html", $sLicenseFile, False, True) 81 | 82 | Run($sUniExtract) 83 | EndFunc 84 | 85 | Func _Download($sURL, $sDir = @ScriptDir, $bCreateBackup = True, $bIsFilePath = False) 86 | ; Create GUI with progressbar 87 | Local $hGUI = GUICreate("Downloading", 466, 109, -1, -1, $WS_POPUPWINDOW, -1) 88 | GUICtrlCreateLabel($sURL, 8, 16, 446, 17, $SS_CENTER) 89 | Local $idProgress = GUICtrlCreateProgress(8, 46, 446, 25) 90 | GUISetState(@SW_SHOW) 91 | 92 | ; Get file size 93 | Local $iBytesReceived = 0 94 | Local $iBytesTotal = InetGetSize($sURL) 95 | Local $idSize = GUICtrlCreateLabel($iBytesReceived & "/" & $iBytesTotal & " kb", 8, 76, 446, 17, $SS_CENTER) 96 | 97 | ; Download File 98 | Local $sFile = $bIsFilePath? $sDir: $sDir & "\" & StringTrimLeft($sURL, StringInStr($sURL, "/", 0, -1)) 99 | Local $sBackupFile = $sFile & ".bak" 100 | 101 | If $bCreateBackup And FileExists($sFile) Then FileMove($sFile, $sBackupFile) 102 | 103 | Local $hDownload = InetGet($sURL, $sFile, 1, 1) 104 | 105 | ; Update progress bar 106 | While Not InetGetInfo($hDownload, 2) 107 | Sleep(50) 108 | If InetGetInfo($hDownload, 4) <> 0 Then 109 | GUIDelete($hGUI) 110 | If $bCreateBackup Then FileMove($sBackupFile, $sFile, 1) 111 | _DownloadError($sURL) 112 | Return SetError(1, 0, 0) 113 | EndIf 114 | $iBytesReceived = InetGetInfo($hDownload, 0) 115 | GUICtrlSetData($idProgress, Int($iBytesReceived / $iBytesTotal * 100)) 116 | GUICtrlSetData($idSize, $iBytesReceived & "/" & $iBytesTotal & " kb") 117 | WEnd 118 | 119 | ; Close GUI 120 | GUIDelete($hGUI) 121 | If Not FileExists($sFile) Then 122 | If $bCreateBackup Then FileMove($sBackupFile, $sFile, 1) 123 | _DownloadError($sURL) 124 | Return SetError(1, 0, 0) 125 | EndIf 126 | 127 | If $bCreateBackup Then FileDelete($sBackupFile) 128 | Return $sFile 129 | EndFunc 130 | 131 | Func _DownloadError($sURL) 132 | MsgBox(48, $sUpdaterTitle, 'The file ' & $sURL & ' could not be downloaded. Please ensure that you are connected to the internet and try again.') 133 | EndFunc -------------------------------------------------------------------------------- /UniExtractUpdater_Elevated.au3: -------------------------------------------------------------------------------- 1 | #Region ;**** Directives created by AutoIt3Wrapper_GUI **** 2 | #AutoIt3Wrapper_Icon=support\Icons\uniextract_exe.ico 3 | #AutoIt3Wrapper_Outfile=UniExtractUpdater.exe 4 | #AutoIt3Wrapper_Res_Description=Update utility for Universal Extractor 5 | #AutoIt3Wrapper_Res_Fileversion=2.0.0.0 6 | #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** 7 | 8 | #cs ---------------------------------------------------------------------------- 9 | 10 | AutoIt Version: 3.3.14.2 11 | Author: Bioruebe 12 | 13 | Script Function: 14 | Auto-updater for Universal Extractor 15 | 16 | #ce ---------------------------------------------------------------------------- 17 | 18 | ; Script Start - Add your code below here 19 | #RequireAdmin 20 | #include "UniExtractUpdater.au3" -------------------------------------------------------------------------------- /def/adf.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=Amiga %TERM_DISK% %TERM_IMAGE% 3 | useCmd=1 4 | executable=unadf.exe 5 | parameters=%file% 6 | runInTempOutdir=1 7 | workingdir=%tempoutdir% 8 | hide=1 9 | log=1 10 | patternSearch=0 11 | initialShow=0 -------------------------------------------------------------------------------- /def/alz.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=ALZ %TERM_ARCHIVE% 3 | useCmd=1 4 | executable=unalz.exe 5 | parameters=-d %outdir% %file% 6 | hide=1 7 | log=1 8 | patternSearch=0 9 | initialShow=0 -------------------------------------------------------------------------------- /def/arc.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=ARC %TERM_ARCHIVE% 3 | useCmd=1 4 | executable=arc.exe 5 | parameters=x %file% 6 | hide=1 7 | log=1 8 | patternSearch=0 9 | initialShow=0 -------------------------------------------------------------------------------- /def/bitrock.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=BitRock InstallBuilder %TERM_INSTALLER% 3 | useCmd=1 4 | executable=bitrock-unpacker.exe 5 | parameters=%file% %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=1 9 | initialShow=0 -------------------------------------------------------------------------------- /def/bsa.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=Bethesda %TERM_ARCHIVE% 3 | useCmd=1 4 | executable=bsab.exe 5 | parameters=/e %file% %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=1 9 | initialShow=0 10 | requireNetFramework=4 -------------------------------------------------------------------------------- /def/godot.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=Godot Engine %TERM_GAME% %TERM_ARCHIVE% 3 | useCmd=1 4 | executable=godotdec.exe 5 | parameters=-c %file% %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=1 9 | initialShow=0 10 | requireNetFramework=4.5 -------------------------------------------------------------------------------- /def/lbr.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=LBR %TERM_ARCHIVE% 3 | useCmd=1 4 | executable=lbrate.exe 5 | parameters=%file% 6 | hide=1 7 | log=1 8 | patternSearch=0 9 | initialShow=0 -------------------------------------------------------------------------------- /def/lit.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=Microsoft LIT %TERM_EBOOK% 3 | useCmd=1 4 | executable=clit.exe 5 | parameters=%file% %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=0 9 | initialShow=0 -------------------------------------------------------------------------------- /def/mo.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=%TERM_COMPILED% GNU Gettext %TERM_TRANSLATION% 3 | useCmd=1 4 | executable=msgunfmt.exe 5 | parameters=%file% -o %outdir%\%filename%.po 6 | hide=1 7 | log=1 8 | patternSearch=0 9 | initialShow=0 -------------------------------------------------------------------------------- /def/pex.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=%TERM_COMPILED% Papyrus %TERM_SCRIPT% 3 | useCmd=1 4 | executable=Champollion.exe 5 | parameters=%file% -p %outdir% -a %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=0 9 | initialShow=0 -------------------------------------------------------------------------------- /def/qm.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=%TERM_COMPILED% QT %TERM_TRANSLATION% 3 | useCmd=1 4 | executable=lconvert.exe 5 | parameters=%file% -o %outdir%\%filename%.ts 6 | hide=1 7 | log=1 8 | patternSearch=0 9 | initialShow=0 -------------------------------------------------------------------------------- /def/registry.ini: -------------------------------------------------------------------------------- 1 | ; Detected file type for TrID and Unix file tool, format: 2 | ; This is the registry containing all plugins to be used and the mappings for each of them 3 | ; For each plugin a seperate plugin file must exist. Inside all extractor commands and display settings are stored. 4 | ; To make UniExtract recognize the plugin, related entries need to exist inside the registry. 5 | 6 | ; --- Detection --- ; 7 | 8 | ; UniExtract uses two different detectors. Their output may differ for the same file type, 9 | ; so you need to add an entry for both. To get the output run UniExtract in scan mode. 10 | ; The lines beginning with a percentage are Trid's output, the first line is File's output. 11 | ; For Trid, do not include the percentage or anything in brackets. 12 | 13 | ; A substring search is used, so it is not necessary to add the full detector's output (e.g. some installers exist 14 | ; in different versions, the version can be part of the output; if your extractor works with all versions, 15 | ; you can leave out the version string). In general, more specific is better to avoid misdetections. 16 | ; Example: output is 'Macromedia Flash Video', you can just use 'Flash Video' 17 | 18 | ; Key is the name of the definition file, value the output of the program. 19 | ; Example: UniExtract scan mode output is 20 | ; 21 | ; Macromedia Flash Video 22 | ; 23 | ; 100.0% (.FLV) Flash Video (4000/1) 24 | ; Related URL: http://file-extension.net/info/flv-flash-video-file.html 25 | ; 26 | ; The registry entry for the Trid section is 27 | ; flv=Flash Video 28 | ; 'flv' is the name of the definition file (flv.ini) 29 | ; 'Flash Video' is the detected file type 30 | 31 | [Trid] 32 | adf=Amiga Disk image File 33 | arc=ARC Compressed archive 34 | bsa=Bethesda Archive 35 | garbro=NScripter archive, version 2 36 | godot=Godot Engine package 37 | godot=Godot Package format 38 | lbr=CrLZH compressed 39 | lbr=Crunch compressed archive 40 | lbr=LU library 41 | lbr=Squeeze compressed archive 42 | lit=Microsoft Reader eBook 43 | mo=GNU Gettext Machine Object 44 | pex=Compiled Papyrus Script 45 | qm=Qt message 46 | rpgmvp=RPG-Maker-MV encrypted ressource file 47 | sgb=Smile Game Builder package 48 | sit=Stuffit 49 | spoon=Spoon Installer 50 | uu=UUencoded 51 | uu=yEnc Encoded 52 | 53 | [File] 54 | adf=Amiga DOS disk 55 | bsa=BSArc archive data 56 | arc=ARC archive data 57 | lbr=LZH compressed data, original name 58 | lit=Microsoft Reader eBook Data 59 | mo=GNU message catalog 60 | sit=StuffIt Archive 61 | uu=uuencoded 62 | 63 | [Exeinfo] 64 | bitrock=BitRock InstallBuilder 65 | sim=Smart Install Maker 66 | 67 | ; --- File extension fallback --- ; 68 | ; In case file type detection fails, the file extension is used as last try. 69 | ; For most files this should not be necessary. 70 | 71 | ; Format: extension=definition name 72 | ; Example: xx=uu 73 | ; .xx file extension uses the definition uu.ini 74 | ; You can set up multiple file extensions for the same extractor/definition. 75 | 76 | [Extensions] 77 | arc=arc 78 | ba2=bsa 79 | bsa=bsa 80 | fsb=fsb 81 | lit=lit 82 | mo=mo 83 | msi=msi 84 | pex=pex 85 | qm=qm 86 | rpgmvp=rpgmvp 87 | sgbpack=sgb 88 | sit=sit 89 | sitx=sit 90 | ttarch=ttarch 91 | ttarch2=ttarch 92 | utage=utage 93 | uu=uu 94 | uue=uu 95 | wolf=wolf 96 | xx=uu 97 | xxe=uu -------------------------------------------------------------------------------- /def/rpgmvp.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=RPG-Maker-MV %TERM_ENCRYPTED% 3 | useCmd=1 4 | executable=rmvdec.exe 5 | parameters=%file% %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=1 9 | initialShow=0 -------------------------------------------------------------------------------- /def/sgb.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=Smile Game Builder %TERM_GAME% %TERM_ARCHIVE% 3 | useCmd=1 4 | executable=sgbdec.exe 5 | parameters=%file% %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=1 9 | initialShow=1 10 | requireNetFramework=4.5 -------------------------------------------------------------------------------- /def/sim.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=Smart Install Maker %TERM_INSTALLER% 3 | useCmd=1 4 | executable=simdec.exe 5 | parameters=%file% %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=1 9 | initialShow=0 10 | requireNetFramework=4 -------------------------------------------------------------------------------- /def/sit.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=StuffIt %TERM_ARCHIVE% 3 | useCmd=1 4 | executable=unar.exe 5 | parameters=-o %outdir% %file% 6 | hide=1 7 | log=1 8 | patternSearch=0 9 | initialShow=0 -------------------------------------------------------------------------------- /def/spoon.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=Spoon %TERM_INSTALLER% 3 | useCmd=1 4 | executable=spoondec.exe 5 | parameters=%file% %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=0 9 | initialShow=0 -------------------------------------------------------------------------------- /def/utage.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=UTAGE %TERM_ENCRYPTED% 3 | useCmd=1 4 | executable=utagedec.exe 5 | parameters=%file% %outdir% 6 | hide=1 7 | log=1 8 | patternSearch=1 9 | initialShow=0 -------------------------------------------------------------------------------- /def/uu.ini: -------------------------------------------------------------------------------- 1 | [Plugin] 2 | display=UUencode %TERM_ENCODED% 3 | useCmd=1 4 | executable=uudeview.exe 5 | parameters=-p %outdir% -i %file% 6 | hide=1 7 | patternSearch=0 8 | initialShow=0 9 | workingdir=%filedir% -------------------------------------------------------------------------------- /devdata/Koda/About.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 398 5 | 245 6 | 412 7 | 305 8 | Form1 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 24 36 | 16 37 | 340 38 | 52 39 | Universal Extractor 40 | DEFAULT_CHARSET 41 | clWindowText 42 | -40 43 | MS Sans Serif 44 | 45 | False 46 | 0 47 | False 48 | 1342308609 49 | 0 50 | 51 | 52 | 53 | 54 | 55 | 56 | 16 57 | 72 58 | 66 59 | 17 60 | Version 2.0.0 61 | 1 62 | False 63 | 1342308609 64 | 0 65 | 66 | 67 | 68 | 69 | 70 | 71 | 16 72 | 104 73 | 36 74 | 17 75 | Label3 76 | 2 77 | False 78 | 1342308609 79 | 0 80 | 81 | 82 | 83 | 84 | 85 | 86 | 154 87 | 234 88 | 89 89 | 25 90 | OK 91 | 3 92 | clBtnFace 93 | 1342373888 94 | 0 95 | DockWidth, DockHeight 96 | 97 | 98 | 99 | 100 | 101 | 8 102 | 248 103 | 127 104 | 18 105 | D58F21ED61E692B01774 106 | ANSI_CHARSET 107 | clWindowText 108 | -11 109 | Arial 110 | fsBold 111 | False 112 | 4 113 | False 114 | 1342308608 115 | 0 116 | 117 | 118 | 119 | 120 | 121 | 122 | 304 123 | 216 124 | 89 125 | 50 126 | 1342308622 127 | 0 128 | C:\Users\William\Desktop\Documents\uniextract_source\support\Icons\Signum.jpg 129 | 5 130 | DockWidth, DockHeight 131 | sRealSize 132 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /devdata/Koda/BatchQueue.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 478 5 | 276 6 | 433 7 | 305 8 | Choices Dialog 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | A Dual List Dialog. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 8 37 | 8 38 | 401 39 | 201 40 | 512 41 | 1350762499 42 | 13 43 | 44 | 45 |
  • Item1
  • 46 |
  • Item2
  • 47 |
  • Item3
  • 48 |
  • Item4
  • 49 |
  • Item5
  • 50 |
    51 |
    52 | 0 53 | 1352859651 54 | 512 55 | 56 |
    57 | 58 |
    59 | 60 | 61 | 40 62 | 225 63 | 75 64 | 25 65 | &OK 66 | 1342242816 67 | 1 68 | clBtnFace 69 | 1342373888 70 | 0 71 | DockWidth, DockHeight 72 | 73 | 74 | 75 | 76 | 77 | 171 78 | 225 79 | 75 80 | 25 81 | &Cancel 82 | 1342242816 83 | 2 84 | clBtnFace 85 | 1342373888 86 | 0 87 | DockWidth, DockHeight 88 | 89 | 90 | 91 | 92 | 93 | 304 94 | 224 95 | 73 96 | 25 97 | Delete 98 | 3 99 | clBtnFace 100 | 1342373888 101 | 0 102 | DockWidth, DockHeight 103 | 104 | 105 | 106 |
    107 |
    -------------------------------------------------------------------------------- /devdata/Koda/CommandLineHelp.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 409 5 | 183 6 | 576 7 | 466 8 | Form2 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | A standard Windows Form. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 466 37 | 390 38 | 75 39 | 25 40 | Close 41 | 0 42 | clBtnFace 43 | 1342373888 44 | 0 45 | DockWidth, DockHeight 46 | 47 | 48 | 49 | 50 | 51 | 18 52 | 12 53 | 385 54 | 28 55 | Universal Extractor: command-line usage 56 | ANSI_CHARSET 57 | clWindowText 58 | -21 59 | Arial 60 | 61 | False 62 | 1 63 | False 64 | 1342308608 65 | 0 66 | 67 | 68 | 69 | 70 | 71 | 72 | 18 73 | 54 74 | 38 75 | 17 76 | Usage: 77 | 2 78 | False 79 | 1342308608 80 | 0 81 | 82 | 83 | 84 | 85 | 86 | 87 | 18 88 | 108 89 | 57 90 | 17 91 | Arguments: 92 | 3 93 | False 94 | 1342308608 95 | 0 96 | 97 | 98 | 99 | 100 | 101 | 102 | 18 103 | 126 104 | 523 105 | 199 106 | 107 | 108 |
  • Edit1
  • 109 |
    110 |
    111 | 4 112 | 1342380036 113 | 512 114 | 115 |
    116 | 117 |
    118 | 119 | 120 | 18 121 | 336 122 | 47 123 | 17 124 | Example: 125 | 5 126 | False 127 | 1342308608 128 | 0 129 | 130 | 131 | 132 | 133 | 134 | 135 | 18 136 | 72 137 | 523 138 | 21 139 | 6 140 | Input1 141 | 1342376064 142 | 512 143 | DockHeight 144 | 145 | 146 | 147 | 148 | 149 | 18 150 | 354 151 | 523 152 | 21 153 | 7 154 | Input2 155 | 1342376064 156 | 512 157 | DockHeight 158 | 159 | 160 | 161 | 162 | 163 | 18 164 | 396 165 | 184 166 | 17 167 | View full command line documentation 168 | DEFAULT_CHARSET 169 | clBlue 170 | -11 171 | MS Sans Serif 172 | fsUnderline 173 | False 174 | 8 175 | False 176 | 1342308608 177 | 0 178 | 179 | 180 | 181 | 182 |
    183 |
    -------------------------------------------------------------------------------- /devdata/Koda/Context.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 415 5 | 258 6 | 465 7 | 365 8 | Form1 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 8 36 | 0 37 | 433 38 | 321 39 | 1342308359 40 | 0 41 | Context Menu Entries 42 | 0 43 | 44 | 45 | 46 | 47 | 48 | 10 49 | 24 50 | 412 51 | 17 52 | Type 53 | 0 54 | False 55 | 1342308609 56 | 0 57 | 58 | 59 | 60 | 61 | 62 | 63 | 88 64 | 48 65 | 145 66 | 17 67 | simple 68 | 1 69 | 1342242825 70 | 0 71 | DockHeight 72 | 73 | 74 | 75 | 76 | 77 | 288 78 | 48 79 | 137 80 | 17 81 | cascaded 82 | 2 83 | 1342242825 84 | 0 85 | DockHeight 86 | 87 | 88 | 89 | 90 | 91 | 16 92 | 216 93 | 113 94 | 17 95 | UniExtract &Files... 96 | 3 97 | 1342242819 98 | 0 99 | DockHeight 100 | 101 | 102 | 103 | 104 | 105 | 152 106 | 216 107 | 113 108 | 17 109 | UniExtract &Here 110 | 4 111 | 1342242819 112 | 0 113 | DockHeight 114 | 115 | 116 | 117 | 118 | 119 | 288 120 | 216 121 | 129 122 | 17 123 | UniExtract to &Subdir 124 | 5 125 | 1342242819 126 | 0 127 | DockHeight 128 | 129 | 130 | 131 | 132 | 133 | 48 134 | 72 135 | 137 136 | 129 137 | 1342308622 138 | 0 139 | 6 140 | DockWidth, DockHeight 141 | 142 | 143 | 144 | 145 | 146 | 256 147 | 72 148 | 137 149 | 129 150 | 1342308622 151 | 0 152 | 7 153 | DockWidth, DockHeight 154 | 155 | 156 | 157 | 158 | 159 | 16 160 | 256 161 | 129 162 | 17 163 | additional associations: 164 | 8 165 | 1342242819 166 | 0 167 | DockHeight 168 | 169 | 170 | 171 | 172 | 173 | 16 174 | 280 175 | 401 176 | 21 177 | 9 178 | 1342374016 179 | 512 180 | DockHeight 181 | 182 | 183 | 184 | 185 | 186 | 187 | -------------------------------------------------------------------------------- /devdata/Koda/CustomPrompt.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 397 5 | 262 6 | 432 7 | 214 8 | Form2 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1807089664 18 | 256 19 | 1.04 20 | A standard Windows Form. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 72 37 | 20 38 | 332 39 | 113 40 | Label1 41 | 0 42 | False 43 | 1342308608 44 | 0 45 | 46 | 47 | 48 | 49 | 50 | 51 | 71 52 | 142 53 | 75 54 | 25 55 | Always 56 | 1 57 | clBtnFace 58 | 1342373888 59 | 0 60 | DockWidth, DockHeight 61 | 62 | 63 | 64 | 65 | 66 | 332 67 | 142 68 | 75 69 | 25 70 | No 71 | 2 72 | clBtnFace 73 | 1342373888 74 | 0 75 | DockWidth, DockHeight 76 | 77 | 78 | 79 | 80 | 81 | 8 82 | 20 83 | 49 84 | 49 85 | 1342308622 86 | 0 87 | 3 88 | DockWidth, DockHeight 89 | 90 | 91 | 92 | 93 | 94 | 154 95 | 142 96 | 75 97 | 25 98 | Never 99 | 4 100 | clBtnFace 101 | 1342373888 102 | 0 103 | DockWidth, DockHeight 104 | 105 | 106 | 107 | 108 | 109 | 251 110 | 142 111 | 75 112 | 25 113 | Yes 114 | 5 115 | clBtnFace 116 | 1342373888 117 | 0 118 | DockWidth, DockHeight 119 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /devdata/Koda/DownloadExternals.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 398 5 | 242 6 | 449 7 | 168 8 | Form1 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 16 36 | 16 37 | 408 38 | 17 39 | Downloading bin/unrar.exe 40 | 1 41 | False 42 | 1342308608 43 | 0 44 | 45 | 46 | 47 | 48 | 49 | 50 | 16 51 | 72 52 | 80 53 | 17 54 | Overall progress 55 | 3 56 | False 57 | 1342308608 58 | 0 59 | 60 | 61 | 62 | 63 | 64 | 65 | 16 66 | 88 67 | 406 68 | 25 69 | 2 70 | 1342308352 71 | 0 72 | 73 | 74 | 75 | 76 | 77 | 78 | 16 79 | 32 80 | 406 81 | 25 82 | 0 83 | 1342308352 84 | 0 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /devdata/Koda/DownloadProgress.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 414 5 | 370 6 | 481 7 | 134 8 | Form1 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 16 36 | 56 37 | 433 38 | 25 39 | 0 40 | 1342308352 41 | 0 42 | 43 | 44 | 45 | 46 | 47 | 48 | 8 49 | 16 50 | 446 51 | 17 52 | http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-20120509-git-a548671-win32-static.7z 53 | 1 54 | False 55 | 1342308609 56 | 0 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /devdata/Koda/Error_UnknownFile.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 405 5 | 198 6 | 503 7 | 328 8 | Form2 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | A standard Windows Form. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 96 37 | 134 38 | 379 39 | 115 40 | 41 | 42 |
  • Edit1
  • 43 |
    44 |
    45 | 0 46 | 1342376004 47 | 512 48 | 49 |
    50 | 51 |
    52 | 53 | 54 | 395 55 | 256 56 | 81 57 | 25 58 | OK 59 | 1 60 | clBtnFace 61 | 1342373888 62 | 0 63 | DockWidth, DockHeight 64 | 65 | 66 | 67 | 68 | 69 | 10 70 | 26 71 | 73 72 | 73 73 | 1342308622 74 | 0 75 | 2 76 | DockWidth, DockHeight 77 | 78 | 79 | 80 | 81 | 82 | 296 83 | 256 84 | 81 85 | 25 86 | Copy 87 | 3 88 | clBtnFace 89 | 1342373888 90 | 0 91 | DockWidth, DockHeight 92 | 93 | 94 | 95 | 96 | 97 | 96 98 | 118 99 | 122 100 | 17 101 | Outcome of the file scan: 102 | DEFAULT_CHARSET 103 | clWindowText 104 | -11 105 | MS Sans Serif 106 | fsUnderline 107 | False 108 | 4 109 | False 110 | 1342308608 111 | 0 112 | 113 | 114 | 115 | 116 | 117 | 118 | 96 119 | 42 120 | 270 121 | 17 122 | %1 has an unknown extension and cannot be extracted. 123 | 5 124 | False 125 | 1342308608 126 | 0 127 | 128 | 129 | 130 | 131 | 132 | 133 | 95 134 | 256 135 | 81 136 | 25 137 | Feedback 138 | 6 139 | clBtnFace 140 | 1342373888 141 | 0 142 | DockWidth, DockHeight 143 | 144 | 145 | 146 | 147 | 148 | 96 149 | 10 150 | 167 151 | 28 152 | Unknown file type 153 | DEFAULT_CHARSET 154 | clWindowText 155 | -21 156 | Arial 157 | fsUnderline 158 | False 159 | 7 160 | False 161 | 1342308608 162 | 0 163 | 164 | 165 | 166 | 167 |
    168 |
    -------------------------------------------------------------------------------- /devdata/Koda/Error_WithFeedbackButton.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 405 5 | 198 6 | 451 7 | 232 8 | Form2 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | A standard Windows Form. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 347 37 | 158 38 | 81 39 | 25 40 | OK 41 | 0 42 | clBtnFace 43 | 1342373888 44 | 0 45 | DockWidth, DockHeight 46 | 47 | 48 | 49 | 50 | 51 | 10 52 | 26 53 | 73 54 | 73 55 | 1342308622 56 | 0 57 | 1 58 | DockWidth, DockHeight 59 | 60 | 61 | 62 | 63 | 64 | 102 65 | 42 66 | 319 67 | 101 68 | %name does not support this type of file. 69 | 2 70 | False 71 | 1342308608 72 | 0 73 | 74 | 75 | 76 | 77 | 78 | 79 | 101 80 | 158 81 | 81 82 | 25 83 | Feedback 84 | 3 85 | clBtnFace 86 | 1342373888 87 | 0 88 | DockWidth, DockHeight 89 | 90 | 91 | 92 | 93 | 94 | 102 95 | 10 96 | 320 97 | 28 98 | Unsupported file type 99 | DEFAULT_CHARSET 100 | clWindowText 101 | -21 102 | Arial 103 | fsUnderline 104 | False 105 | 4 106 | False 107 | 1342308608 108 | 0 109 | 110 | 111 | 112 | 113 | 114 | -------------------------------------------------------------------------------- /devdata/Koda/FFmpegPrompt.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 438 5 | 222 6 | 431 7 | 239 8 | Form2 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1807089664 18 | 256 19 | 1.04 20 | A standard Windows Form. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 72 37 | 20 38 | 330 39 | 107 40 | Label1 41 | 0 42 | False 43 | 1342308608 44 | 0 45 | 46 | 47 | 48 | 49 | 50 | 51 | 242 52 | 166 53 | 75 54 | 25 55 | Download 56 | 1 57 | clBtnFace 58 | 1342373888 59 | 0 60 | DockWidth, DockHeight 61 | 62 | 63 | 64 | 65 | 66 | 332 67 | 166 68 | 75 69 | 25 70 | Cancel 71 | 2 72 | clBtnFace 73 | 1342373888 74 | 0 75 | DockWidth, DockHeight 76 | 77 | 78 | 79 | 80 | 81 | 8 82 | 20 83 | 49 84 | 49 85 | 1342308622 86 | 0 87 | 3 88 | DockWidth, DockHeight 89 | 90 | 91 | 92 | 93 | 94 | 12 95 | 138 96 | 259 97 | 17 98 | I have read and agree to the license agreement 99 | 4 100 | 1342242819 101 | 0 102 | DockHeight 103 | 104 | 105 | 106 | 107 | 108 | 266 109 | 138 110 | 138 111 | 17 112 | View license agreement 113 | DEFAULT_CHARSET 114 | clNavy 115 | -11 116 | MS Sans Serif 117 | fsBold, fsUnderline 118 | False 119 | 5 120 | False 121 | 1342308610 122 | 0 123 | 124 | 125 | 126 | 127 | 128 | 129 | 10 130 | 172 131 | 133 132 | 17 133 | Already have FFmpeg? 134 | DEFAULT_CHARSET 135 | clNavy 136 | -11 137 | MS Sans Serif 138 | fsBold, fsUnderline 139 | False 140 | 6 141 | False 142 | 1342308610 143 | 0 144 | 145 | 146 | 147 | 148 | 149 | -------------------------------------------------------------------------------- /devdata/Koda/Feedback.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 477 5 | 242 6 | 266 7 | 381 8 | Feedback 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 55 36 | 318 37 | 60 38 | 20 39 | OK 40 | 0 41 | clBtnFace 42 | 1342373888 43 | 0 44 | DockWidth, DockHeight 45 | 46 | 47 | 48 | 49 | 50 | 135 51 | 318 52 | 60 53 | 20 54 | Cancel 55 | 1 56 | clBtnFace 57 | 1342373888 58 | 0 59 | DockWidth, DockHeight 60 | 61 | 62 | 63 | 64 | 65 | 8 66 | 288 67 | 233 68 | 21 69 | 2 70 | Input1 71 | 1342374016 72 | 512 73 | DockHeight 74 | 75 | 76 | 77 | 78 | 79 | 8 80 | 24 81 | 105 82 | 25 83 | 13 84 | 3 85 | Combo1 86 | 1342374466 87 | 0 88 | DockHeight 89 | 90 | 91 | 92 | 93 | 94 | 8 95 | 8 96 | 28 97 | 17 98 | Type 99 | 4 100 | False 101 | 1342308608 102 | 0 103 | 104 | 105 | 106 | 107 | 108 | 109 | 120 110 | 24 111 | 121 112 | 21 113 | 5 114 | Input2 115 | 1342374016 116 | 512 117 | DockHeight 118 | 119 | 120 | 121 | 122 | 123 | 120 124 | 8 125 | 93 126 | 17 127 | System Information 128 | 6 129 | False 130 | 1342308608 131 | 0 132 | 133 | 134 | 135 | 136 | 137 | 138 | 8 139 | 56 140 | 20 141 | 17 142 | File 143 | 7 144 | False 145 | 1342308608 146 | 0 147 | 148 | 149 | 150 | 151 | 152 | 153 | 8 154 | 72 155 | 233 156 | 21 157 | 8 158 | Input3 159 | 1342374016 160 | 512 161 | DockHeight 162 | 163 | 164 | 165 | 166 | 167 | 8 168 | 272 169 | 33 170 | 17 171 | E-Mail 172 | 9 173 | False 174 | 1342308608 175 | 0 176 | 177 | 178 | 179 | 180 | 181 | 182 | 8 183 | 104 184 | 128 185 | 17 186 | Universal Extractor Output 187 | 10 188 | False 189 | 1342308608 190 | 0 191 | 192 | 193 | 194 | 195 | 196 | 197 | 8 198 | 120 199 | 233 200 | 49 201 | 202 | 203 |
  • Edit1
  • 204 |
    205 |
    206 | 11 207 | 1342378180 208 | 512 209 | 210 |
    211 | 212 |
    213 | 214 | 215 | 8 216 | 176 217 | 72 218 | 17 219 | Your Message 220 | 12 221 | False 222 | 1342308608 223 | 0 224 | 225 | 226 | 227 | 228 | 229 | 230 | 8 231 | 192 232 | 233 233 | 73 234 | 235 | 236 |
  • Edit2
  • 237 |
    238 |
    239 | 13 240 | 1342378180 241 | 512 242 | 243 |
    244 | 245 |
    246 |
    247 |
    -------------------------------------------------------------------------------- /devdata/Koda/Feedback_new.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 459 5 | 230 6 | 417 7 | 543 8 | Feedback 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 111 36 | 470 37 | 75 38 | 25 39 | OK 40 | 0 41 | clBtnFace 42 | 1342373888 43 | 0 44 | DockWidth, DockHeight 45 | 46 | 47 | 48 | 49 | 50 | 215 51 | 470 52 | 75 53 | 25 54 | Cancel 55 | 1 56 | clBtnFace 57 | 1342373888 58 | 0 59 | DockWidth, DockHeight 60 | 61 | 62 | 63 | 64 | 65 | 8 66 | 24 67 | 385 68 | 21 69 | 2 70 | Input2 71 | 1342374016 72 | 512 73 | DockHeight 74 | 75 | 76 | 77 | 78 | 79 | 8 80 | 8 81 | 381 82 | 17 83 | System Information 84 | 3 85 | False 86 | 1342308608 87 | 0 88 | 89 | 90 | 91 | 92 | 93 | 94 | 8 95 | 56 96 | 384 97 | 17 98 | Universal Extractor Output 99 | 4 100 | False 101 | 1342308608 102 | 0 103 | 104 | 105 | 106 | 107 | 108 | 109 | 8 110 | 72 111 | 385 112 | 161 113 | 114 | 115 |
  • Edit1
  • 116 |
    117 |
    118 | 5 119 | 1342378180 120 | 512 121 | 122 |
    123 | 124 |
    125 | 126 | 127 | 8 128 | 248 129 | 72 130 | 17 131 | Your Message 132 | 6 133 | False 134 | 1342308608 135 | 0 136 | 137 | 138 | 139 | 140 | 141 | 142 | 8 143 | 264 144 | 385 145 | 169 146 | 147 | 148 |
  • Edit2
  • 149 |
    150 |
    151 | 7 152 | 1342378180 153 | 512 154 | 155 |
    156 | 157 |
    158 | 159 | 160 | 8 161 | 442 162 | 217 163 | 17 164 | I have read and accept the Privacy Policy 165 | 8 166 | 1342242819 167 | 0 168 | DockHeight 169 | 170 | 171 | 172 | 173 | 174 | 246 175 | 444 176 | 147 177 | 17 178 | View Privacy Policy 179 | DEFAULT_CHARSET 180 | clNavy 181 | -11 182 | MS Sans Serif 183 | fsBold, fsUnderline 184 | False 185 | 9 186 | False 187 | 1342308610 188 | 0 189 | 190 | 191 | 192 | 193 |
    194 |
    -------------------------------------------------------------------------------- /devdata/Koda/FileScan.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 385 5 | 229 6 | 469 7 | 286 8 | Form2 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | A standard Windows Form. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 81 37 | 26 38 | 367 39 | 181 40 | 41 | 42 |
  • Edit1
  • 43 |
    44 |
    45 | 0 46 | 1342376004 47 | 512 48 | 49 |
    50 | 51 |
    52 | 53 | 54 | 362 55 | 214 56 | 81 57 | 25 58 | OK 59 | 1 60 | clBtnFace 61 | 1342373888 62 | 0 63 | DockWidth, DockHeight 64 | 65 | 66 | 67 | 68 | 69 | 4 70 | 20 71 | 73 72 | 73 73 | 1342308622 74 | 0 75 | 2 76 | DockWidth, DockHeight 77 | 78 | 79 | 80 | 81 | 82 | 260 83 | 214 84 | 81 85 | 25 86 | Copy 87 | 3 88 | clBtnFace 89 | 1342373888 90 | 0 91 | DockWidth, DockHeight 92 | 93 | 94 | 95 | 96 | 97 | 78 98 | 10 99 | 122 100 | 17 101 | Outcome of the file scan: 102 | DEFAULT_CHARSET 103 | clWindowText 104 | -11 105 | MS Sans Serif 106 | fsUnderline 107 | False 108 | 4 109 | False 110 | 1342308608 111 | 0 112 | 113 | 114 | 115 | 116 |
    117 |
    -------------------------------------------------------------------------------- /devdata/Koda/FirstStart.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 407 5 | 279 6 | 519 7 | 422 8 | Form1 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 8 36 | 320 37 | 57 38 | 57 39 | 1342308622 40 | 0 41 | C:\Users\William\Desktop\Documents\uniextract_source\support\Icons\uniextract_inno.bmp 42 | 0 43 | DockWidth, DockHeight 44 | 45 | 46 | 47 | 48 | 49 | 8 50 | 8 51 | 488 52 | 60 53 | Universal Extractor First Start Assistant 54 | DEFAULT_CHARSET 55 | clWindowText 56 | -19 57 | MS Sans Serif 58 | fsBold 59 | False 60 | 1 61 | False 62 | 1342308609 63 | 0 64 | 65 | 66 | 67 | 68 | 69 | 70 | 8 71 | 88 72 | 78 73 | 28 74 | Settings 75 | DEFAULT_CHARSET 76 | clWindowText 77 | -19 78 | MS Sans Serif 79 | fsBold, fsUnderline 80 | False 81 | 2 82 | False 83 | 1342308609 84 | 0 85 | 86 | 87 | 88 | 89 | 90 | 91 | 296 92 | 344 93 | 89 94 | 25 95 | Next > 96 | 3 97 | clBtnFace 98 | 1342373888 99 | 0 100 | DockWidth, DockHeight 101 | 102 | 103 | 104 | 105 | 106 | 400 107 | 344 108 | 89 109 | 25 110 | Cancel 111 | 4 112 | clBtnFace 113 | 1342373888 114 | 0 115 | DockWidth, DockHeight 116 | 117 | 118 | 119 | 120 | 121 | 192 122 | 344 123 | 89 124 | 25 125 | < Back 126 | 5 127 | clBtnFace 128 | 1342373888 129 | 0 130 | DockWidth, DockHeight 131 | 132 | 133 | 134 | 135 | 136 | 187 137 | 248 138 | 129 139 | 41 140 | Preferences 141 | 6 142 | clBtnFace 143 | 1342373888 144 | 0 145 | DockWidth, DockHeight 146 | 147 | 148 | 149 | 150 | 151 | 16 152 | 120 153 | 468 154 | 108 155 | 7 156 | False 157 | 1342308608 158 | 0 159 | 160 | 161 | 162 | 163 | 164 | -------------------------------------------------------------------------------- /devdata/Koda/GameSelector.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 471 5 | 310 6 | 289 7 | 325 8 | Form1 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 10 36 | 8 37 | 252 38 | 17 39 | Label1 40 | 0 41 | False 42 | 1342308608 43 | 0 44 | 45 | 46 | 47 | 48 | 49 | 50 | 24 51 | 40 52 | 225 53 | 188 54 | 13 55 | 1 56 | 1352859651 57 | 512 58 | 59 | 60 | 61 | 62 | 63 | 64 | 40 65 | 248 66 | 81 67 | 25 68 | OK 69 | 2 70 | clBtnFace 71 | 1342373888 72 | 0 73 | DockWidth, DockHeight 74 | 75 | 76 | 77 | 78 | 79 | 152 80 | 248 81 | 81 82 | 25 83 | Cancel 84 | 3 85 | clBtnFace 86 | 1342373888 87 | 0 88 | DockWidth, DockHeight 89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /devdata/Koda/MissingPluginPrompt.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 394 5 | 222 6 | 431 7 | 214 8 | Form2 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1807089664 18 | 256 19 | 1.04 20 | A standard Windows Form. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 72 37 | 20 38 | 330 39 | 113 40 | Label1 41 | 0 42 | False 43 | 1342308608 44 | 0 45 | 46 | 47 | 48 | 49 | 50 | 51 | 194 52 | 142 53 | 123 54 | 25 55 | Plugin Manager 56 | 1 57 | clBtnFace 58 | 1342373888 59 | 0 60 | DockWidth, DockHeight 61 | 62 | 63 | 64 | 65 | 66 | 332 67 | 142 68 | 75 69 | 25 70 | Cancel 71 | 2 72 | clBtnFace 73 | 1342373888 74 | 0 75 | DockWidth, DockHeight 76 | 77 | 78 | 79 | 80 | 81 | 8 82 | 20 83 | 49 84 | 49 85 | 1342308622 86 | 0 87 | 3 88 | DockWidth, DockHeight 89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /devdata/Koda/Plugins.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 398 5 | 260 6 | 425 7 | 205 8 | clBtnFace 9 | DEFAULT_CHARSET 10 | clWindowText 11 | -11 12 | MS Sans Serif 13 | 14 | False 15 | True 16 | -1798701056 17 | 256 18 | 1.04 19 | A Dual List Dialog. 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 8 36 | 8 37 | 209 38 | 149 39 | 512 40 | 1350762499 41 | 13 42 | 43 | 44 |
  • Item1
  • 45 |
  • Item2
  • 46 |
  • Item3
  • 47 |
  • Item4
  • 48 |
  • Item5
  • 49 |
    50 |
    51 | 0 52 | 1352859651 53 | 512 54 | 55 |
    56 | 57 |
    58 | 59 | 60 | 320 61 | 132 62 | 83 63 | 25 64 | Close 65 | 1342242816 66 | 1 67 | clBtnFace 68 | 1342373888 69 | 0 70 | DockWidth, DockHeight 71 | 72 | 73 | 74 | 75 | 76 | 224 77 | 132 78 | 83 79 | 25 80 | Download 81 | 1342242816 82 | 2 83 | clBtnFace 84 | 1342373888 85 | 0 86 | DockWidth, DockHeight 87 | 88 | 89 | 90 | 91 | 92 | 224 93 | 8 94 | 177 95 | 81 96 | 97 | 98 |
  • Edit1
  • 99 |
    100 |
    101 | 3 102 | 1342378180 103 | 512 104 | 105 |
    106 | 107 |
    108 | 109 | 110 | 224 111 | 95 112 | 177 113 | 33 114 | 115 | 116 |
  • Edit2
  • 117 |
    118 |
    119 | 4 120 | 1342378180 121 | 512 122 | 123 |
    124 | 125 |
    126 |
    127 |
    -------------------------------------------------------------------------------- /devdata/Koda/Progress.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 432 5 | 272 6 | 286 7 | 96 8 | Form1 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 4 36 | 6 37 | 259 38 | 25 39 | 0 40 | 1342308352 41 | 0 42 | 43 | 44 | 45 | 46 | 47 | 48 | 6 49 | 36 50 | 261 51 | 17 52 | Searching for updates... 53 | 1 54 | False 55 | 1342308609 56 | 0 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /devdata/Koda/Prompt.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 318 5 | 271 6 | 431 7 | 214 8 | Form2 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1807089664 18 | 256 19 | 1.04 20 | A standard Windows Form. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 72 37 | 20 38 | 330 39 | 111 40 | Label1 41 | 0 42 | False 43 | 1342308608 44 | 0 45 | 46 | 47 | 48 | 49 | 50 | 51 | 242 52 | 142 53 | 75 54 | 25 55 | Yes 56 | 1 57 | clBtnFace 58 | 1342373888 59 | 0 60 | DockWidth, DockHeight 61 | 62 | 63 | 64 | 65 | 66 | 332 67 | 142 68 | 75 69 | 25 70 | No 71 | 2 72 | clBtnFace 73 | 1342373888 74 | 0 75 | DockWidth, DockHeight 76 | 77 | 78 | 79 | 80 | 81 | 8 82 | 20 83 | 49 84 | 49 85 | 1342308622 86 | 0 87 | 3 88 | DockWidth, DockHeight 89 | 90 | 91 | 92 | 93 | 94 | 12 95 | 148 96 | 217 97 | 17 98 | Don't ask again 99 | 4 100 | 1342242819 101 | 0 102 | DockHeight 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /devdata/Koda/Uninstall.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 437 5 | 308 6 | 449 7 | 255 8 | Form1 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 16 36 | 144 37 | 57 38 | 57 39 | 1342308622 40 | 0 41 | C:\Users\William\Desktop\Documents\uniextract_source\support\Icons\uniextract_inno.bmp 42 | 0 43 | DockWidth, DockHeight 44 | 45 | 46 | 47 | 48 | 49 | 88 50 | 16 51 | 328 52 | 28 53 | Uninstall Universal Extractor 54 | DEFAULT_CHARSET 55 | clWindowText 56 | -19 57 | MS Sans Serif 58 | fsBold 59 | False 60 | 1 61 | False 62 | 1342308608 63 | 0 64 | 65 | 66 | 67 | 68 | 69 | 70 | 328 71 | 176 72 | 89 73 | 25 74 | Uninstall 75 | 2 76 | clBtnFace 77 | 1342373888 78 | 0 79 | DockWidth, DockHeight 80 | 81 | 82 | 83 | 84 | 85 | 104 86 | 120 87 | 265 88 | 17 89 | Remove log files 90 | 3 91 | 1342242819 92 | 0 93 | DockHeight 94 | 95 | 96 | 97 | 98 | 99 | 104 100 | 144 101 | 265 102 | 17 103 | Remove all user data and settings 104 | 4 105 | 1342242819 106 | 0 107 | DockHeight 108 | 109 | 110 | 111 | 112 | 113 | 88 114 | 48 115 | 326 116 | 57 117 | If you plan to install %name again, you can choose to keep your settings here. Otherwise, it is save to delete all user data. 118 | 5 119 | False 120 | 1342308608 121 | 0 122 | 123 | 124 | 125 | 126 | 127 | -------------------------------------------------------------------------------- /devdata/Koda/UpdatePrompt.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 377 5 | 225 6 | 469 7 | 351 8 | Form2 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | A standard Windows Form. 21 | False 22 | False 23 | False 24 | False 25 | 0 26 | 1 27 | 0 28 | 0 29 | 30 | 96 31 | 13 32 | 33 | 34 | 35 | 36 | 8 37 | 64 38 | 66 39 | 17 40 | What's new? 41 | 4 42 | False 43 | 1342308608 44 | 0 45 | 46 | 47 | 48 | 49 | 50 | 51 | 8 52 | 80 53 | 433 54 | 193 55 | 56 | 57 |
  • Edit1
  • 58 |
    59 |
    60 | 0 61 | 1344473092 62 | 131072 63 | 64 |
    65 | 66 |
    67 | 68 | 69 | 72 70 | 8 71 | 372 72 | 49 73 | Label1 74 | 1 75 | False 76 | 1342308608 77 | 0 78 | 79 | 80 | 81 | 82 | 83 | 84 | 272 85 | 280 86 | 75 87 | 25 88 | Yes 89 | 2 90 | clBtnFace 91 | 1342373888 92 | 0 93 | DockWidth, DockHeight 94 | 95 | 96 | 97 | 98 | 99 | 368 100 | 280 101 | 75 102 | 25 103 | No 104 | 3 105 | clBtnFace 106 | 1342373888 107 | 0 108 | DockWidth, DockHeight 109 | 110 | 111 | 112 | 113 | 114 | 8 115 | 8 116 | 49 117 | 49 118 | 1342308622 119 | 0 120 | 5 121 | DockWidth, DockHeight 122 | 123 | 124 | 125 |
    126 |
    -------------------------------------------------------------------------------- /devdata/Koda/stats.kxf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 315 5 | 209 6 | 745 7 | 471 8 | Form1 9 | clBtnFace 10 | DEFAULT_CHARSET 11 | clWindowText 12 | -11 13 | MS Sans Serif 14 | 15 | False 16 | True 17 | -1798701056 18 | 256 19 | 1.04 20 | False 21 | False 22 | False 23 | False 24 | 0 25 | 1 26 | 0 27 | 0 28 | 29 | 96 30 | 13 31 | 32 | 33 | 34 | 35 | 8 36 | 72 37 | 209 38 | 209 39 | 1342308622 40 | 0 41 | 0 42 | DockWidth, DockHeight 43 | 44 | 45 | 46 | 47 | 48 | 368 49 | 72 50 | 353 51 | 353 52 | 1342308622 53 | 0 54 | 1 55 | DockWidth, DockHeight 56 | 57 | 58 | 59 | 60 | 61 | 8 62 | 296 63 | 337 64 | 129 65 | 1342308622 66 | 0 67 | 2 68 | DockWidth, DockHeight 69 | 70 | 71 | 72 | 73 | 74 | 232 75 | 72 76 | 113 77 | 209 78 | 1342308622 79 | 0 80 | 3 81 | DockWidth, DockHeight 82 | 83 | 84 | 85 | 86 | 87 | 8 88 | 8 89 | 715 90 | 33 91 | Usage statistics 92 | DEFAULT_CHARSET 93 | clWindowText 94 | -24 95 | MS Sans Serif 96 | fsBold 97 | False 98 | 4 99 | False 100 | 1342308609 101 | 0 102 | 103 | 104 | 105 | 106 | 107 | 108 | 8 109 | 48 110 | 340 111 | 24 112 | Status distribution 113 | DEFAULT_CHARSET 114 | clWindowText 115 | -16 116 | MS Sans Serif 117 | 118 | False 119 | 5 120 | False 121 | 1342308609 122 | 0 123 | 124 | 125 | 126 | 127 | 128 | 129 | 368 130 | 48 131 | 354 132 | 24 133 | Extracted file types 134 | DEFAULT_CHARSET 135 | clWindowText 136 | -16 137 | MS Sans Serif 138 | 139 | False 140 | 6 141 | False 142 | 1342308609 143 | 0 144 | 145 | 146 | 147 | 148 | 149 | -------------------------------------------------------------------------------- /devdata/MediaInfoTest.au3: -------------------------------------------------------------------------------- 1 | #cs ---------------------------------------------------------------------------- 2 | 3 | AutoIt Version: 3.3.12.0 4 | Author: myName 5 | 6 | Script Function: 7 | Template AutoIt script. 8 | 9 | #ce ---------------------------------------------------------------------------- 10 | 11 | ; Script Start - Add your code below here 12 | 13 | #include 14 | 15 | 16 | MediaFileScan("C:\Users\Bioruebe\Documents\example.ogg") 17 | 18 | Func MediaFileScan($f) 19 | Local $filetype_curr = "" 20 | 21 | $hDll = DllOpen("MediaInfo.dll") 22 | $hMI = DllCall($hDll, "ptr", "MediaInfo_New") 23 | 24 | $Open_Result = DllCall($hDll, "int", "MediaInfo_Open", "ptr", $hMI[0], "wstr", $f) 25 | $return = DllCall($hDll, "wstr", "MediaInfo_Inform", "ptr", $hMI[0], "int", 0) 26 | 27 | $hMI = DllCall($hDll, "none", "MediaInfo_Delete", "ptr", $hMI[0]) 28 | DllClose($hDll) 29 | 30 | ;~ ConsoleWrite($return[0]) 31 | ;~ MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, $return[0]) ;### Debug MSGBOX 32 | 33 | ; Format returned string to align in message box 34 | For $i in StringSplit($return[0], @CRLF, 2) 35 | $return = StringSplit($i, " : ", 2+1) 36 | If @error Then 37 | If Not StringIsSpace($i) Then $filetype_curr &= @CRLF & "[" & $i & "]" & @CRLF 38 | ContinueLoop 39 | EndIf 40 | $sType = StringStripWS($return[0], 4+2+1) 41 | $iLen = StringLen($sType) 42 | $filetype_curr &= $sType & _StringRepeat(@TAB, 3 - Floor($iLen / 10)) & (($iLen > 20 And $iLen < 25)? @TAB: "") & StringStripWS($return[1], 4+2+1) & @CRLF 43 | Next 44 | 45 | ;~ ConsoleWrite($filetype_curr) 46 | ;~ MsgBox(0, "", $filetype_curr) 47 | EndFunc -------------------------------------------------------------------------------- /devdata/ci-doc.txt: -------------------------------------------------------------------------------- 1 | ci-extractor.exe 2 | Creates \AppData\Local\Temp\ci-extractor.txt: 3 | 4 | 0 5 | C:\Users\Bioruebe\Downloads\ci\cif-setup.exe 6 | C:\Users\Bioruebe\Downloads\ci\1 7 | 3 8 | 1 9 | 10 | 11 | with parameters: 12 | 1) 13 | 0 - list files (html export) 14 | 1 - extract 15 | 16 | 2) 17 | setup file path 18 | 19 | 3) 20 | output directory 21 | 22 | 4) 23 | overwrite files 24 | 0 - ask 25 | 1 - ask if newer 26 | 2 - overwrite 27 | 3 - overwrite if newer 28 | 4 - skip 29 | 30 | 5) 31 | preserve folder stucture? -------------------------------------------------------------------------------- /docs/ANTI-MALWARE.md: -------------------------------------------------------------------------------- 1 | # UniExtract vs. Anti-Malware Software 2 | 3 | Security software often flags Universal Extractor as malicious. But don't worry, **UniExtract 2 is safe** - if you downloaded it from the *official source* (https://github.com/Bioruebe/UniExtract2). 4 | 5 | UniExtract is not malware, a virus or anything alike. As it is open source software, everyone can look at the source code and find out what the software does. If there is something malicious inside, the community will find and report it. 6 | 7 | 8 | 9 | ## Why does security software detect malware in UniExtract? 10 | 11 | ### Better safe than sorry 12 | 13 | What's worse - saying a harmless tool is malicious or letting a virus slip through? 14 | Security software wants to protect you - if this decision leads to some false alarms, that's a trade-off *they* can live with. 15 | 16 | Big companies can put pressure on the developers of anti-malware software, but free and open source programs have a hard time doing so. We have to live with the so called *false positives*. 17 | 18 | ### It bundles more than 50 extractors 19 | 20 | Universal Extractor can unpack [a lot of different file types](FORMATS.md). To do this, it bundles [many extractors](helper_binaries_info.txt). If only one of them is detected as malware, the whole UniExtract package itself is as well. Even worse, as new extractors are added with an update the probability increases. 21 | 22 | ### Getting it whitelisted is a pain 23 | 24 | Most developers of security software provide a way of reporting misdetections, so they can be fixed. However, it's different for each vendor and sometimes involves a lengthy and inconvenient procedure. Even worse, sending the so called *false positive reports* usually has to be repeated for every new version of UniExtract. 25 | 26 | As this is mainly a hobby project, my time is quite limited and, to be honest, I prefer *actually developing the software* instead of bothering with this. I try to get UniExtract whitelisted on the most common anti-malware software, but making it work on *all* existing security suites is just not possible for me. That's the reason why you'll usually see between 1 and 10 engines flagging it when submitting it to services such as *VirusTotal*. 27 | 28 | ### It has a built-in updater 29 | 30 | What does malware often do? - It downloads malicious files. 31 | 32 | What does an updater do? - It downloads files. 33 | 34 | It's hard to decide whether a program that downloads something is safe or not. Now guess what virus scanners do... [Exactly](#better-safe-than-sorry). 35 | 36 | ### It's written in AutoIt 37 | 38 | *AutoIt* is rarely used to write software that's distributed to other people, however in the past it has been used to write malware. Many companies choose the lazy way for their security software: AutoIt = bad. This hits a legit software like UniExtract very hard. 39 | 40 | 41 | 42 | ## What can I do? 43 | 44 | ### Send a false positive report 45 | 46 | Most anti-malware developers have some way of reporting misdetections, so they can be fixed. In case your security software detects Universal Extract as malicious, it would be a great help, if you could send such a false positive report to the company. How this works is different for every program, so please refer to the software's support pages. Thank you! 47 | 48 | ### Set an exception in your anti-malware software 49 | 50 | In most anti-malware products you can exclude specific folders from the scan. Set UniExtract's program directory as an exception and you should be good to go. 51 | 52 | ### Switch your anti-malware software 53 | 54 | If you often encounter false positives, it might be a solution to switch to a better security software. 55 | 56 | -------------------------------------------------------------------------------- /docs/FORMATS.md: -------------------------------------------------------------------------------- 1 | ## Universal Extractor 2 supports the following file types: 2 | 3 | **Bold** items are new in UniExtract 2 and were not supported by the latest official version 4 | 5 | ### Compressed archives 6 | 7 | | Archive type | Common file extension(s) | 8 | | -------------------- | ---------------------------------------------------------------------- | 9 | | 7-zip | .7z, .exe, .001 | 10 | | ACE | .ace, .exe | 11 | | **ALZip** | .alz | 12 | | ARC | .arc | 13 | | ARJ | .arj, .exe | 14 | | **Asar** | .asar | 15 | | **BCM** | .bcm | 16 | | **BGA** | .bza, .gza | 17 | | bzip2 | .bz2, .tbz2, .tar.bz2 | 18 | | **Chromium package** | .pak | 19 | | CPIO | .cpio | 20 | | **DGCA** | .dgc | 21 | | **FreeArc**¹ | .arc | 22 | | gzip archive | .gz, .tgz, .tar.gz, .ipk | 23 | | KGB | .kgb, kge, .exe | 24 | | Linux packages | .deb, .rpm | 25 | | **LBR** | .lbr, .lzr, .lqr | 26 | | **LZIP** | .lz | 27 | | LZH | .lzh, .lha | 28 | | LZMA | .lzma | 29 | | LZO | .lzo | 30 | | LZW | .Z, .tz, .tar.Z | 31 | | LZX | .lzx | 32 | | PEA | .pea | 33 | | RAR | .rar, .exe, .001, .r00, .part1.rar | 34 | | **StuffIt** | .sit, sitx | 35 | | TAR | .tar, .tbz2, .tgz, .txz, .tz, .tar.bz2, .tar.gz, .tar.xz, .tar.Z, ctar | 36 | | UHARC | .uha | 37 | | UPX | .exe, .dll | 38 | | XZ | .xz, .txz, .tar.xz | 39 | | ZIP | .zip, .jar, .xpi, .wz, .exe, .imz | 40 | | Zoo | .zoo | 41 | | ZPAQ | .zpaq | 42 | 43 | ### Installers 44 | 45 | | Installer type | Common file extension(s) | 46 | | ------------------------------ | -------------------------------------- | 47 | | **Actual Installer**¹ | .exe | 48 | | **Advanced Installer** | .exe | 49 | | **Bitrock Install Builder**¹ | .exe | 50 | | **Clickteam Install Creator** | .exe | 51 | | **Create Install** | .exe | 52 | | **Excelsior Installer** | .exe | 53 | | Gentee | .exe | 54 | | **Ghost Installer** | .exe | 55 | | Inno Setup, **GOG installers** | .exe | 56 | | **Install4j** | .exe | 57 | | **InstallAware** | .exe | 58 | | Installer VISE | .exe | 59 | | **InstallForge** | .exe | 60 | | **InstallScript** | .exe | 61 | | InstallShield | .cab, .exe | 62 | | **MSCF** | .exe | 63 | | **Netopsystems FEAD** | .exe | 64 | | NSIS | .exe | 65 | | **PyInstaller** | .exe | 66 | | Self-Extracting Zip | .exe | 67 | | SetupFactory¹ | .exe | 68 | | **Smart Install Maker** | .exe | 69 | | **Spoon Installer** | .exe | 70 | | **SuperDAT Updater** | .exe | 71 | | **SymbianOS/EPOC Installer** | .sis, sisx | 72 | | Windows Installer | .cab, .exe, .msm, .msi, .msp, **.msu** | 73 | | Wise | .exe | 74 | | WiX | .exe | 75 | 76 | ### Disk images 77 | 78 | | Image type | Common file extension(s) | 79 | | --------------------------------- | ------------------------ | 80 | | **Amiga disk format** | .adf | 81 | | **Android boot image** | .img | 82 | | **Apple Disk Image** | .dmg | 83 | | BIN/CUE | .bin, .cue | 84 | | **CloneCD image** | .ccd | 85 | | **Compressed ISO** | .cso | 86 | | DiscJuggler CD-ROM image | .cdi | 87 | | **Dreamcast Gigabyte disc image** | .gdi | 88 | | **Error Code Modeler** | .ecm | 89 | | **gBurner Image** | .gbi | 90 | | IMG floppy disk image | .img | 91 | | ISO 9660 | .iso | 92 | | **ISO Zipped format** | .isz | 93 | | HTC NBH ROM image | .nbh | 94 | | Nero | .nrg | 95 | | **PowerISO** | .daa | 96 | | **Magic ISO Image** | .uif | 97 | | **Media Descriptor File** | .mdf, .mds | 98 | | **VirtualBox Disk Image** | .vdi | 99 | | **Virtual PC Virtual HD image** | .vhd | 100 | | **VMware 4 Virtual Disk** | .vmdk | 101 | | Windows Imaging Format | .wim | 102 | 103 | ### Multimedia 104 | 105 | | File type | Common file extensions | Details | 106 | | ------------------------------ | ----------------------------------------------------------- | ------------------------------------------------ | 107 | | **Animated images** | .gif, .png | Extracts individual frames from animated images | 108 | | **Audio files** | .mp3, .ogg, .flac, .wma, .m4a, .aa,... | Convert compressed audio to .wav | 109 | | **Flash files** | .swf, .exe | Extract images, audio, flash components | 110 | | **FMOD Sample Bank** | .fsb | | 111 | | **sfArk compressed soundfont** | .sfark | | 112 | | **Video files** | .avi, .mp4, .mkv, .ogv, .webm, .wmv, .3gp, .m4v, .flv, .smk | Extracts all audio and (optionally) video tracks | 113 | 114 | ### Game archives 115 | 116 | | Game engine/archive | Common file extensions | Details | 117 | | ------------------------------ | --------------------------------------------------- | ------- | 118 | | **Bethesda Archive** | .bsa, .ba2, .dat, .pex | | 119 | | **Bruns Engine** | .png, .um3 | | 120 | | **Godot Engine packages** | .exe, .pck | | 121 | | **KiriKiri** | .xp3 | | 122 | | **LiveMaker** | .dat, .gal | | 123 | | **NScripter** | .nsa, .ns2, .sar | | 124 | | **Ren'Py Visual Novel Engine** | .rpa | | 125 | | **RPG Maker** | .rgssad, .rgss2a, .rgss3a, .rpgmvp, .rpgmvo, rpgmvm | | 126 | | **Smile Game builder** | .sgbpack | | 127 | | **Telltale archive** | .ttarch | | 128 | | **Unity**¹ | .assets, .unity3d, .resource, .unitypackage | | 129 | | **Unreal Engine**¹ | .pak | | 130 | | **UTAGE** | .utage | | 131 | | **Visionaire Engine** | .vis, .vc001, .vv001 | | 132 | | **WinterMute Engine** | .dcp | | 133 | | **Wolf RPG Editor** | .wolf | | 134 | | **YU-RIS** | .ypf, .ycg | | 135 | 136 | ... and 500+ other game archives. 137 | 138 | ### Text-based files 139 | 140 | | File type | Common file extension(s) | 141 | | ------------------------------- | -------------------------------------------- | 142 | | **E-Mail message format** | .eml | 143 | | **Encoded files** | .b64, .hqx, .ntx, .uu, .uue, .xx, .xxe, .ync | 144 | | **GNU Gettext message catalog** | .mo | 145 | | **MacBinary encoded file** | different extensions | 146 | | Microsoft Compiled Help file | .chm | 147 | | Microsoft Reader eBook | .lit | 148 | | Microsoft Windows Help file | .hlp | 149 | | MIME HTML archive | .mht | 150 | | Outlook Express mail archive | .dbx | 151 | | **Php archive** | .phar | 152 | | **Portable Document Format**¹ | .pdf | 153 | | **Qt Message** | .qm | 154 | | **SQLite database** | .sqlite, .sqlite3, .db | 155 | | **Web archive** | .warc | 156 | 157 | ### Other 158 | 159 | | File type | Common file extension(s) | 160 | | --------------------------- | -------------------------- | 161 | | **Enigma Virtual Box** | .exe | 162 | | **MoleBox** | .exe | 163 | | **Split files** | .001, .002,... | 164 | | **Windows thumbnail cache** | Thumbs.ds, thumbcache_*.db | 165 | 166 | **¹** Partly supported, some files cannot be extracted properly 167 | -------------------------------------------------------------------------------- /docs/helper_binaries_info.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/docs/helper_binaries_info.txt -------------------------------------------------------------------------------- /lang/Arabic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Arabic.ini -------------------------------------------------------------------------------- /lang/Armenian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Armenian.ini -------------------------------------------------------------------------------- /lang/Bulgarian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Bulgarian.ini -------------------------------------------------------------------------------- /lang/Catalan.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Catalan.ini -------------------------------------------------------------------------------- /lang/Chinese (Simplified).ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Chinese (Simplified).ini -------------------------------------------------------------------------------- /lang/Chinese (Traditional).ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Chinese (Traditional).ini -------------------------------------------------------------------------------- /lang/Croatian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Croatian.ini -------------------------------------------------------------------------------- /lang/Czech.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Czech.ini -------------------------------------------------------------------------------- /lang/Dutch.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Dutch.ini -------------------------------------------------------------------------------- /lang/Farsi.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Farsi.ini -------------------------------------------------------------------------------- /lang/Finnish.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Finnish.ini -------------------------------------------------------------------------------- /lang/French.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/French.ini -------------------------------------------------------------------------------- /lang/German.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/German.ini -------------------------------------------------------------------------------- /lang/Greek.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Greek.ini -------------------------------------------------------------------------------- /lang/Hungarian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Hungarian.ini -------------------------------------------------------------------------------- /lang/Italian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Italian.ini -------------------------------------------------------------------------------- /lang/Japanese.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Japanese.ini -------------------------------------------------------------------------------- /lang/Korean.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Korean.ini -------------------------------------------------------------------------------- /lang/Latvian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Latvian.ini -------------------------------------------------------------------------------- /lang/Polish.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Polish.ini -------------------------------------------------------------------------------- /lang/Portuguese (Brazilian).ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Portuguese (Brazilian).ini -------------------------------------------------------------------------------- /lang/Portuguese.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Portuguese.ini -------------------------------------------------------------------------------- /lang/Romanian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Romanian.ini -------------------------------------------------------------------------------- /lang/Russian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Russian.ini -------------------------------------------------------------------------------- /lang/Serbian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Serbian.ini -------------------------------------------------------------------------------- /lang/Slovak.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Slovak.ini -------------------------------------------------------------------------------- /lang/Spanish.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Spanish.ini -------------------------------------------------------------------------------- /lang/Swedish.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Swedish.ini -------------------------------------------------------------------------------- /lang/Taiwanese.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Taiwanese.ini -------------------------------------------------------------------------------- /lang/Thai.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Thai.ini -------------------------------------------------------------------------------- /lang/Turkish.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Turkish.ini -------------------------------------------------------------------------------- /lang/Ukrainian.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Ukrainian.ini -------------------------------------------------------------------------------- /lang/Vietnamese.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/lang/Vietnamese.ini -------------------------------------------------------------------------------- /support/CheckHelpers.au3: -------------------------------------------------------------------------------- 1 | #cs ---------------------------------------------------------------------------- 2 | 3 | AutoIt Version: 3.3.8.1 4 | Author: Bioruebe 5 | 6 | Script Function: 7 | Returns files in /bin directory, which are not listed in helper binaries info file 8 | 9 | #ce ---------------------------------------------------------------------------- 10 | 11 | ; Script Start - Add your code below here 12 | 13 | $handle = FileOpen("..\helper_binaries_info.txt") 14 | $infile = FileRead($handle) 15 | FileClose($handle) 16 | 17 | $search = FileFindFirstFile("..\bin\*") 18 | 19 | If $search = -1 Then 20 | Exit 21 | EndIf 22 | 23 | While 1 24 | $file = FileFindNextFile($search) 25 | If @error Then ExitLoop 26 | If NOT StringInStr($infile, $file) Then ConsoleWrite($file & @CRLF) 27 | WEnd 28 | 29 | FileClose($search) -------------------------------------------------------------------------------- /support/CheckLanguage.au3: -------------------------------------------------------------------------------- 1 | #cs ---------------------------------------------------------------------------- 2 | 3 | AutoIt Version: 3.3.8.1 4 | Author: Bioruebe 5 | 6 | Script Function: 7 | Checks language file terms and returns terms which are not used in source code. 8 | Some terms are not used in the main script, but in the definition files, the installer or the updater! 9 | Don't delete them even if reported by this script! 10 | 11 | #ce ---------------------------------------------------------------------------- 12 | 13 | ; Script Start - Add your code below here 14 | 15 | Dim $error, $line, $handle, $script 16 | 17 | $handle = FileOpen("..\UniExtract.au3") 18 | $script = FileRead($handle) 19 | FileClose($handle) 20 | 21 | $handle = FileOpen("..\English.ini") 22 | 23 | Do 24 | $line = FileReadLine($handle) 25 | If @error = -1 Then $error = 1 26 | $return = StringInStr($line, "=") 27 | If $return <> 0 Then 28 | If NOT StringInStr($script, StringLeft($line, $return - 2)) Then ConsoleWrite(StringLeft($line, $return - 2) & @CRLF) 29 | EndIf 30 | Until $error = 1 31 | 32 | FileClose($handle) -------------------------------------------------------------------------------- /support/Deprecated/CreateUpdatePackage.au3: -------------------------------------------------------------------------------- 1 | #cs ---------------------------------------------------------------------------- 2 | 3 | AutoIt Version: 3.3.14.1 4 | Author: Bioruebe 5 | 6 | Script Function: 7 | Creates an update package with all changed files since last run 8 | 9 | #ce ---------------------------------------------------------------------------- 10 | 11 | ; Script Start - Add your code below here 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | ; Settings - Default values work if this script is run from the \support subdirectory 19 | $sDir = "..\" 20 | $sSnapshotFile = "Snapshot.csv" ; path, hash 21 | $sMainFile = "..\UniExtract.au3" 22 | $s7z = "..\bin\x64\7z.exe" 23 | $sFilter = "*|*.au3;*.xcf;*.bak;*.csv;standard.ini;UniExtract.ini;English_old.ini;passwords.txt;list.txt;.gitignore;ffmpeg.exe;arc_conv.exe;bootimg.exe;ci-extractor.exe;dcp_unpacker.exe;dgcac.exe;EnigmaVBUnpacker.exe;iscab.exe;i5comp.exe;mpq.wcx*;RPGDecrypter.exe;sim_unpacker.exe;Extractor.exe;extract.exe;ZD50149.DLL;ZD51145.DLL;gea.dll;gentee.dll;" & $sSnapshotFile & ";" & $sSnapshotFile & ".bak" & "|.git;backup;devdata;homepage;log;test;userlogs;Update;crass-0.4.14.0;IS_Languages;FFmpeg" 24 | 25 | $aVersion = _StringBetween(FileRead($sMainFile), 'version = "', '"') 26 | If @error Then Dim $aVersion = ["Update"] 27 | $sOutdir = ".\" & $aVersion[0] & "\" 28 | ;~ _ArrayDisplay($aVersion) 29 | 30 | Local $aSnapshot[0][2], $aChanged[0] 31 | _FileReadToArray($sSnapshotFile, $aSnapshot, $FRTA_NOCOUNT, "|") 32 | If $aSnapshot == 0 Then Local $aSnapshot[0][2] 33 | 34 | $aFiles = _FileListToArrayRec($sDir, $sFilter, $FLTAR_FILES, $FLTAR_RECUR) 35 | _ArrayDelete($aFiles, 0) 36 | ;~ _ArrayDisplay($aFiles) 37 | ;~ _ArrayDisplay($aSnapshot) 38 | 39 | _Crypt_Startup() 40 | For $sFile In $aFiles 41 | $dHash = _Crypt_HashFile($sDir & $sFile, $CALG_MD5) 42 | $iIndex = _ArraySearch($aSnapshot, $sFile) 43 | If $iIndex > -1 Then 44 | If $aSnapshot[$iIndex][1] = $dHash Then 45 | Cout("Unchanged file: " & $sFile) 46 | ContinueLoop 47 | EndIf 48 | 49 | Cout("Changed file: " & $sFile & "(" & $aSnapshot[$iIndex][1] & " <=> " & $dHash & ")") 50 | $aSnapshot[$iIndex][1] = $dHash 51 | Else 52 | Cout("New file: " & $sFile & " - " & $dHash) 53 | _ArrayAdd($aSnapshot, $sFile & "|" & $dHash) 54 | EndIf 55 | 56 | _ArrayAdd($aChanged, $sFile) 57 | Next 58 | _Crypt_Shutdown() 59 | 60 | ;~ _ArrayDisplay($aSnapshot) 61 | _ArrayDisplay($aChanged) 62 | 63 | ; Create update package 64 | If FileExists($sOutdir) Then DirRemove($sOutdir, 1) 65 | If UBound($aChanged) < 1 Then Exit 0 66 | $sArchive = $aVersion[0] & ".zip" 67 | If FileExists($sArchive) Then Exit MsgBox(48, "Error", "File already exists: " & $sArchive) 68 | 69 | Cout("Copying files") 70 | For $sFile In $aChanged 71 | ; 7zip cannot replace itself, so to extract new versions of 7zip, it has to be renamed 72 | FileCopy($sDir & $sFile, $sOutdir & $sFile & (StringInStr($sFile, "\7z.")? ".new": ""), $FC_CREATEPATH) 73 | Next 74 | 75 | Cout("Compressing") 76 | RunWait($s7z & ' a -mx=9 "' & $aVersion[0] & '.zip" "' & $sOutdir & '*"') 77 | ;~ DirRemove($sOutdir, 1) 78 | 79 | Cout("Saving snapshot") 80 | FileMove($sSnapshotFile, $sSnapshotFile & ".bak", $FC_OVERWRITE) 81 | $hFile = FileOpen($sSnapshotFile, $FO_OVERWRITE) 82 | FileWrite($hFile, _ArrayToString($aSnapshot, "|")) 83 | FileClose($hFile) 84 | FileCopy($sSnapshotFile, $aVersion[0] & ".csv", $FC_OVERWRITE) 85 | 86 | ; Write data to stdout stream 87 | Func Cout($Data) 88 | Local $Output = @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC & ":" & @MSEC & @TAB & $Data & @CRLF; & @CRLF 89 | ConsoleWrite($Output) 90 | EndFunc -------------------------------------------------------------------------------- /support/Deprecated/Language_NameUpdate.au3: -------------------------------------------------------------------------------- 1 | #cs ---------------------------------------------------------------------------- 2 | 3 | AutoIt Version: 3.3.12.0 4 | Author: Bioruebe 5 | 6 | Script Function: 7 | Update language files, replace %s with %name 8 | Used to convert legacy language files to new UniExtract 2 format 9 | 10 | #ce ---------------------------------------------------------------------------- 11 | 12 | ; Script Start - Add your code below here 13 | 14 | #include 15 | #include 16 | 17 | $sUpdatedFile = "..\English.ini" 18 | Global $aTerms[0][2] 19 | 20 | $aFileContent = FileReadToArray($sUpdatedFile) 21 | 22 | ;~ _ArrayDisplay($aFileContent) 23 | 24 | For $i = 0 To UBound($aFileContent)-1 25 | $sFirst = StringLeft($aFileContent[$i], 1) 26 | $iPos = StringInStr($aFileContent[$i], "%name") 27 | If $sFirst = ";" Or $sFirst = "[" Or Not $iPos Then ContinueLoop 28 | $sTerm = _StringBetween($aFileContent[$i], "", " =")[0] 29 | $sPrev = StringLeft($aFileContent[$i], $iPos) 30 | $aReturn = StringRegExp($sPrev, "%s", 1) 31 | _ArrayAdd($aTerms, $sTerm & "|" & UBound($aReturn) + 1, 0, "|") 32 | ConsoleWrite("[" & $i & " -> " & UBound($aReturn) + 1 & "] " & $aFileContent[$i] & @CRLF) 33 | Next 34 | ;~ _ArrayDisplay($aTerms) 35 | 36 | ;~ _NameUpdate("..\lang\Chinese (Simplified).ini") 37 | 38 | 39 | Func _NameUpdate($sOldFile) 40 | ;~ ConsoleWrite("[NameUpdate] " & $sOldFile & @CRLF) 41 | 42 | $hOldFile = FileOpen($sOldFile, 16384) 43 | $aOldContent = FileReadToArray($hOldFile) 44 | FileClose($hOldFile) 45 | ;~ _ArrayDisplay($aOldContent) 46 | 47 | For $i = 0 To UBound($aTerms)-1 48 | $iIndex = _ArraySearch($aOldContent, $aTerms[$i][0], 0, 0, 0, 1) 49 | If @error Then ContinueLoop 50 | $aOldContent[$iIndex] = StringReplace($aOldContent[$iIndex], "%s", "%name", $aTerms[$i][1], 0) 51 | Next 52 | 53 | ;~ _ArrayDisplay($aOldContent) 54 | 55 | $hOldFile = FileOpen($sOldFile, 32+2) 56 | FileWrite($hOldFile, _ArrayToString($aOldContent, @CRLF)) 57 | FileClose($hOldFile) 58 | EndFunc -------------------------------------------------------------------------------- /support/Deprecated/Language_SUpdate.au3: -------------------------------------------------------------------------------- 1 | #cs ---------------------------------------------------------------------------- 2 | 3 | AutoIt Version: 3.3.12.0 4 | Author: Bioruebe 5 | 6 | Script Function: 7 | Update language files, replace %s with %1, %2, ..., %n 8 | Used to convert legacy language files to new UniExtract 2 format 9 | 10 | #ce ---------------------------------------------------------------------------- 11 | 12 | ; Script Start - Add your code below here 13 | 14 | #include 15 | #include 16 | 17 | ; Run for each file like this: 18 | ;~ _SUpdate("..\lang\Chinese (Simplified).ini") 19 | 20 | Func _SUpdate($sFile) 21 | ;~ ConsoleWrite("[SUpdate] " & $sFile & @CRLF) 22 | $hFile = FileOpen($sFile, 16384) 23 | $aFileContent = FileReadToArray($sFile) 24 | FileClose($hFile) 25 | 26 | ;~ _ArrayDisplay($aFileContent) 27 | 28 | For $i = 0 To UBound($aFileContent)-1 29 | $sFirstChar = StringLeft($aFileContent[$i], 1) 30 | If $sFirstChar = ";" Or $sFirstChar = "[" Then ContinueLoop 31 | For $j = 1 To 9 32 | $aFileContent[$i] = StringReplace($aFileContent[$i], "%s", "%" & $j, 1) 33 | Next 34 | Next 35 | ;~ _ArrayDisplay($aFileContent) 36 | 37 | $hFile = FileOpen($sFile, 32+2) 38 | FileWrite($hFile, _ArrayToString($aFileContent, @CRLF)) 39 | FileClose($hFile) 40 | EndFunc -------------------------------------------------------------------------------- /support/Icons/Bioruebe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/Bioruebe.png -------------------------------------------------------------------------------- /support/Icons/BioruebeWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/BioruebeWhite.png -------------------------------------------------------------------------------- /support/Icons/ContextMenu_Cascading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/ContextMenu_Cascading.png -------------------------------------------------------------------------------- /support/Icons/ContextMenu_Simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/ContextMenu_Simple.png -------------------------------------------------------------------------------- /support/Icons/uniextract.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/uniextract.png -------------------------------------------------------------------------------- /support/Icons/uniextract_context.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/uniextract_context.bmp -------------------------------------------------------------------------------- /support/Icons/uniextract_exe.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/uniextract_exe.ico -------------------------------------------------------------------------------- /support/Icons/uniextract_exe.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/uniextract_exe.xcf -------------------------------------------------------------------------------- /support/Icons/uniextract_files.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/uniextract_files.ico -------------------------------------------------------------------------------- /support/Icons/uniextract_files.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/uniextract_files.xcf -------------------------------------------------------------------------------- /support/Icons/uniextract_inno.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bioruebe/UniExtract2/9719ac988421e48276420e2f33e09087cfbacf8d/support/Icons/uniextract_inno.bmp -------------------------------------------------------------------------------- /support/UpdateTranslations.au3: -------------------------------------------------------------------------------- 1 | #cs ---------------------------------------------------------------------------- 2 | 3 | AutoIt Version: 3.3.8.1 4 | Author: Bioruebe 5 | 6 | Script Function: 7 | Update Universal Extractor's language files (add new & delete old terms) 8 | 9 | #ce ---------------------------------------------------------------------------- 10 | 11 | ; Script Start - Add your code below here 12 | 13 | #include 14 | #include 15 | 16 | Global $aEnglish, $sVersion, $sContent, $sHeader = "" 17 | 18 | Global $aExcludes[1] = ["German.ini"] 19 | Const $sEnglishLanguageFile = "..\English.ini" 20 | Const $sLanguageDir = "..\lang\" 21 | 22 | Global Const $sTimestamp = @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & "-" & @MIN & "-" & @SEC 23 | 24 | _ReadTemplate() 25 | _ProcessFiles() 26 | 27 | 28 | ; Read template file, build array with key names only to be inserted into new files 29 | Func _ReadTemplate() 30 | _FileReadToArray($sEnglishLanguageFile, $aEnglish) 31 | If @error Then Exit ConsoleWrite("Error opening file: " & @error & @CRLF) 32 | 33 | ; Copy header (translation instructions) from English.ini 34 | Local $i = 8 35 | While StringLeft($aEnglish[$i], 1) == ";" 36 | $sHeader &= $aEnglish[$i] & @CRLF 37 | $i += 1 38 | WEnd 39 | 40 | _Strip($aEnglish) 41 | ;~ _ArrayDisplay($aEnglish) 42 | EndFunc 43 | 44 | ; Read all language files and update them 45 | Func _ProcessFiles() 46 | $aLanguageFiles = _FileListToArray($sLanguageDir, "*.ini", 1) 47 | ;~ _ArrayDisplay($aLanguageFiles) 48 | 49 | For $i = 1 To $aLanguageFiles[0] 50 | Local $sFile = $aLanguageFiles[$i] 51 | 52 | If _ArraySearch($aExcludes, $sFile) < 0 Then 53 | _ProcessFile($sLanguageDir & $sFile) 54 | Else 55 | ConsoleWrite("Skipping file " & $sFile) 56 | EndIf 57 | 58 | ConsoleWrite(" (" & $i & "/" & $aLanguageFiles[0] & ")" & @CRLF) 59 | Next 60 | EndFunc 61 | 62 | ; Read and preprocess a language file 63 | Func _ReadFile($sFile) 64 | Local $hFile = FileOpen($sFile, 16384) 65 | Local $aReturn = FileReadToArray($hFile) 66 | If @error Then ConsoleWrite(@CRLF & "Error opening file: " & @error & @CRLF) 67 | FileClose($hFile) 68 | 69 | Local $iSize = UBound($aReturn) 70 | Local $aFile[$iSize][2], $aSplit 71 | 72 | For $i = 0 To $iSize - 1 73 | If StringLeft($aReturn[$i], 1) == ";" Then 74 | $aFile[$i][0] = StringStripWS($aReturn[$i], $STR_STRIPLEADING + $STR_STRIPTRAILING) 75 | ContinueLoop 76 | EndIf 77 | 78 | $aSplit = StringSplit($aReturn[$i], "=") 79 | $aFile[$i][0] = StringStripWS($aSplit[1], $STR_STRIPLEADING + $STR_STRIPTRAILING) 80 | If $aSplit[0] > 2 Then $aSplit[2] = _ArrayToString($aSplit, "=", 2, -1, "") 81 | If $aSplit[0] > 1 Then $aFile[$i][1] = StringStripWS($aSplit[2], $STR_STRIPLEADING + $STR_STRIPTRAILING) 82 | Next 83 | 84 | ;~ _ArrayDisplay($aFile) 85 | Return $aFile 86 | EndFunc 87 | 88 | ; Process a single language file 89 | Func _ProcessFile($sFile) 90 | ConsoleWrite("Processing file " & $sFile) 91 | 92 | Local $aTranslation = _ReadFile($sFile) 93 | 94 | _Update($aTranslation) 95 | 96 | Local $iReturn = FileMove($sFile, "..\backup\lang\" & $sVersion & "_" & $sTimestamp & "\", 8+1) 97 | If $iReturn <> 1 Then ConsoleWrite(@CRLF & "Error moving file" & @CRLF) 98 | 99 | $hFile = FileOpen($sFile, 32+2) 100 | FileWrite($hFile, $sContent) 101 | FileClose($hFile) 102 | EndFunc 103 | 104 | ; Update a single language file 105 | Func _Update(ByRef $aTranslation) 106 | Global $sContent = "" 107 | Local $iSize = UBound($aTranslation) - 1 108 | 109 | ; Copy header from old file 110 | For $i = 0 To $iSize 111 | $sLine = $aTranslation[$i][0] 112 | If StringInStr($sLine, "Written for Universal Extractor") Then 113 | _AddLine("; Written for Universal Extractor " & $sVersion) 114 | ElseIf $i > 3 And ($sLine == ";" Or StringIsSpace($sLine)) Then 115 | _AddLine($sLine) 116 | ExitLoop 117 | ElseIf StringLeft($sLine, 1) = ";" Then 118 | _AddLine($sLine) 119 | EndIf 120 | Next 121 | 122 | _AddLine($sHeader) 123 | _ArraySort($aTranslation) 124 | Local $bIsHeader = True, $aSplit, $sLine 125 | For $i = 1 To $aEnglish[0] 126 | $iPos = -1 127 | 128 | ; Skip header as it can have different lengths 129 | If $bIsHeader And (StringLeft($aEnglish[$i], 1) = ";" Or StringIsSpace($aEnglish[$i])) Then 130 | ContinueLoop 131 | Else 132 | $bIsHeader = False 133 | $iPos = _ArrayBinarySearch($aTranslation, $aEnglish[$i]) 134 | ;~ ConsoleWrite(@CRLF & "Searching '" & $aEnglish[$i] & "' -> position " & $iPos) 135 | 136 | If $iPos = -1 Then 137 | If StringLeft($aEnglish[$i], 1) == ";" Or StringIsSpace($aEnglish[$i]) Then 138 | ; Comments etc. 139 | _AddLine($aEnglish[$i]) 140 | Else 141 | ; New content, no translation in old file 142 | _AddLine($aEnglish[$i] & ' = ""') 143 | EndIf 144 | Else 145 | ; Write old content to file 146 | $sLine = $aTranslation[$iPos][0] 147 | If $aTranslation[$iPos][1] Then $sLine &= " = " & $aTranslation[$iPos][1] 148 | _AddLine($sLine) 149 | EndIf 150 | EndIf 151 | Next 152 | EndFunc 153 | 154 | ; Add a line to the file content 155 | Func _AddLine($sLine) 156 | $sContent &= $sLine & @CRLF 157 | EndFunc 158 | 159 | ; Strip values 160 | Func _Strip(ByRef $aArray) 161 | For $i = 1 To $aArray[0] 162 | Local $iPos = StringInStr($aArray[$i], "=") 163 | If $iPos Then $aArray[$i] = StringStripWS(StringLeft($aArray[$i], $iPos - 2), $STR_STRIPLEADING + $STR_STRIPTRAILING) 164 | If StringInStr($aArray[$i], "Written for") Then $sVersion = StringReplace($aArray[$i], "; Written for Universal Extractor ", "") 165 | Next 166 | EndFunc -------------------------------------------------------------------------------- /todo.txt: -------------------------------------------------------------------------------- 1 | //If this file is not displayed correctly, open it with notepad++ 2 | 3 | // Unpacker changes: 4 | 7z support for nifs, fat, mbr?, mslz?, APM? 5 | 6 | 7 | // New unpackers 8 | sqx 9 | paq 10 | 11 | 12 | // Extraction logic updates 13 | Add cleanup function call if necessary 14 | Disable _Run function's pattern search for extractors that do not provide percentage indicators 15 | Additional file types for ffmpeg 16 | 17 | 18 | // Usability: 19 | arj percentage indicator //tee problem 20 | Folder passed as file -> add to batch? 21 | Exeinfo message box if procmon open 22 | 23 | 24 | // Bugs 25 | Extracting to C:/ creates file in @ScriptDir 26 | Unicode files are not moved to outdir if using unpack() function 27 | is6cab extractor might crash ('... is not working anymore'), resulting in batch processing stop 28 | TrID detection fails if UniExtract is run from an UNC path 29 | lit extraction fails if output directory contains spaces (extractor bug) 30 | Unreal definition 31 | 32 | 33 | // Other: 34 | Logging: quickbms (+ 'you must choose a new filename' user input needed detection) 35 | Consistency: $outdir should end with \ 36 | Inno: detect encrypted error 37 | teelog dir 38 | 39 | 40 | // Short term 41 | Disk image status text 42 | 43 | 44 | // Long Term 45 | investigate archive listing - req 44 // Add file list display for extractors that support it, create command line parameter, include into context menu 46 | smart extraction - archive contains: single file/folder -> file dir; multiple files -> sub dir; folder with same name as filedir && filedir only contains archive -> files into filedir 47 | global ignore list, e.g. don't extract .url files, readme.txt, etc. 48 | generic error message for failed extraction: check if only some file has errors and display different error message 49 | 50 | 51 | // Known bugs: 52 | Converting to iso failes when iso file already exists (helper binary not terminating correctly) 53 | Overwriting files in general depends on extractor (sometimes asks, sometimes overwrites without asking) 54 | Batch mode might stop depending on the extractor, when user input is needed //make sure files do not exist before starting batch mode to avoid this 55 | qbms process seems to hang (with increased cpu usage) on large files with gaup_pro plugin (confirmed for null bytes, image file; might continue after a long time?) 56 | 57 | !!Compiling 64 bit version results in drag & drop application error!! 58 | 59 | 60 | 61 | // Not necessary/declined: 62 | Incorporate output within AutoIt GUI rather than spawning external shell(s) //possibility to hide cmd windows implemented 63 | vmunpacker - packed file decompressor (http://unpacking.narod.ru/unpackers/universal/VMUnpacker1.2.rar) 64 | include menu bar in dropzone for files //doesn't seem possible, aim better :) 65 | replace booz with unzoo (http://archives.math.utk.edu/software/multi-platform/gap/util/unzoo.c) //"LZD not yet implemented" error 66 | TTComp archive data decompressor (http://www.exelana.com/techie/c/ttdecomp.html) //output mostly unusable, only one single file extractable 67 | FileGetSize Caching --> http://www.autoit.de/index.php?page=Thread&threadID=31765 //There seems to be no fast and reliable way to do that --------------------------------------------------------------------------------