├── Appacker
├── Resources
│ ├── Strings.ru.Designer.cs
│ ├── Packer.exe
│ ├── eye_14.png
│ ├── mfc80.dll
│ ├── Unpacker.exe
│ ├── VerInfoLib.dll
│ ├── VerInfoLib.exe
│ ├── eye_red_14.png
│ ├── icons
│ │ ├── box-16.png
│ │ ├── close-16.png
│ │ ├── file-16.png
│ │ ├── info-16.png
│ │ ├── menu-16.png
│ │ ├── tune-16.png
│ │ ├── cancel-16.png
│ │ ├── close_icon.png
│ │ ├── file-bat-16.png
│ │ ├── file-bin-16.png
│ │ ├── file-cmd-16.png
│ │ ├── file-exe-16.png
│ │ ├── file-lnk-16.png
│ │ ├── package-16.png
│ │ ├── settings-16.png
│ │ ├── open box icon.ico
│ │ ├── open_box_icon.png
│ │ ├── folder-closed-16.png
│ │ ├── folder-open-16.png
│ │ ├── flag-great-britain-30.png
│ │ └── flag-russian-federation-30.png
│ ├── password_16.png
│ ├── red-warning-16.png
│ ├── ProgressBarSplash.exe
│ ├── UnpackerWindowless.exe
│ └── Microsoft.VC80.MFC.manifest
├── Lib
│ └── Infralution.Localization.dll
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── AssemblyInfo.cs
│ └── Resources.Designer.cs
├── App.config
├── FodyWeavers.xml
├── packages.config
├── Settings.cs
├── AboutForm.cs
├── RegistrySettingsProvider.cs
├── CueProvider.cs
├── IconSwapper.cs
├── IniSettingsProvider.cs
├── ToolsStorage.Designer.cs
├── AdvancedOptionsForm.cs
└── AboutForm.Designer.cs
├── IconLib
├── Resources
│ └── EmptyDll.dll
├── System
│ └── Drawing
│ │ └── IconLib
│ │ ├── Exceptions
│ │ ├── InvalidFileException.cs
│ │ ├── InvalidICLFileException.cs
│ │ ├── InvalidIconSelectionException.cs
│ │ ├── ImageTooBigException.cs
│ │ ├── IconNameAlreadyExistException.cs
│ │ ├── ImageAlreadyExistsException.cs
│ │ ├── InvalidMultiIconFileException.cs
│ │ ├── InvalidIconFormatSelectionException.cs
│ │ ├── InvalidMultiIconMaskBitmap.cs
│ │ └── InvalidPixelFormatException.cs
│ │ ├── LibraryFormats
│ │ ├── ILibraryFormat.cs
│ │ └── IconFormat.cs
│ │ ├── ColorProcessing
│ │ ├── IColorQuantizer.cs
│ │ ├── IPaletteQuantizer.cs
│ │ └── IDithering.cs
│ │ ├── AuthorAttribute.cs
│ │ ├── Resource.Designer.cs
│ │ ├── BitmapEncoders
│ │ ├── PNGEncoder.cs
│ │ ├── BMPEncoder.cs
│ │ └── ImageEncoder.cs
│ │ ├── Tools.cs
│ │ ├── Enums.cs
│ │ ├── Resource.resx
│ │ └── Win32.cs
├── Properties
│ └── AssemblyInfo.cs
└── IconLib.csproj
├── Screenshots
├── appacker_demo.png
├── 2018-05-06_222416.png
└── 2018-08-21_190019.png
├── UnpackerSharedProject
├── box icon.ico
├── UnpackerShared.shproj
├── UnpackerSharedProject.projitems
├── PasswordForm.cs
└── PasswordForm.Designer.cs
├── Packer
├── FodyWeavers.xml
├── App.config
├── packages.config
├── Properties
│ └── AssemblyInfo.cs
└── Packer.csproj
├── Unpacker
├── FodyWeavers.xml
├── App.config
├── packages.config
├── Properties
│ └── AssemblyInfo.cs
└── Unpacker.csproj
├── PackerWindowless
├── FodyWeavers.xml
├── App.config
├── packages.config
├── Properties
│ └── AssemblyInfo.cs
└── PackerWindowless.csproj
├── ProgressBarSplash
├── FodyWeavers.xml
├── App.config
├── Properties
│ ├── Settings.settings
│ ├── Settings.Designer.cs
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── packages.config
├── Program.cs
├── LoadingForm.cs
├── LoadingForm.Designer.cs
└── ProgressBarSplash.csproj
├── UnpackerWindowless
├── FodyWeavers.xml
├── App.config
├── packages.config
├── Properties
│ └── AssemblyInfo.cs
└── UnpackerWindowless.csproj
├── SharedFiles
├── SharedFiles.projitems
├── SharedFiles.shproj
└── Password.cs
├── PackerShared
├── PackerShared.projitems
└── PackerShared.shproj
├── History of false detections as malware.md
├── IconInjector
├── Properties
│ └── AssemblyInfo.cs
└── IconInjector.csproj
├── .gitattributes
└── .gitignore
/Appacker/Resources/Strings.ru.Designer.cs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Appacker/Resources/Packer.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/Packer.exe
--------------------------------------------------------------------------------
/Appacker/Resources/eye_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/eye_14.png
--------------------------------------------------------------------------------
/Appacker/Resources/mfc80.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/mfc80.dll
--------------------------------------------------------------------------------
/IconLib/Resources/EmptyDll.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/IconLib/Resources/EmptyDll.dll
--------------------------------------------------------------------------------
/Screenshots/appacker_demo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Screenshots/appacker_demo.png
--------------------------------------------------------------------------------
/Appacker/Resources/Unpacker.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/Unpacker.exe
--------------------------------------------------------------------------------
/Appacker/Resources/VerInfoLib.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/VerInfoLib.dll
--------------------------------------------------------------------------------
/Appacker/Resources/VerInfoLib.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/VerInfoLib.exe
--------------------------------------------------------------------------------
/Appacker/Resources/eye_red_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/eye_red_14.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/box-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/box-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/password_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/password_16.png
--------------------------------------------------------------------------------
/Screenshots/2018-05-06_222416.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Screenshots/2018-05-06_222416.png
--------------------------------------------------------------------------------
/Screenshots/2018-08-21_190019.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Screenshots/2018-08-21_190019.png
--------------------------------------------------------------------------------
/UnpackerSharedProject/box icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/UnpackerSharedProject/box icon.ico
--------------------------------------------------------------------------------
/Appacker/Resources/icons/close-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/close-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/file-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/file-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/info-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/info-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/menu-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/menu-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/tune-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/tune-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/red-warning-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/red-warning-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/ProgressBarSplash.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/ProgressBarSplash.exe
--------------------------------------------------------------------------------
/Appacker/Resources/icons/cancel-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/cancel-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/close_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/close_icon.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/file-bat-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/file-bat-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/file-bin-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/file-bin-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/file-cmd-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/file-cmd-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/file-exe-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/file-exe-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/file-lnk-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/file-lnk-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/package-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/package-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/settings-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/settings-16.png
--------------------------------------------------------------------------------
/Appacker/Lib/Infralution.Localization.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Lib/Infralution.Localization.dll
--------------------------------------------------------------------------------
/Appacker/Resources/UnpackerWindowless.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/UnpackerWindowless.exe
--------------------------------------------------------------------------------
/Appacker/Resources/icons/open box icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/open box icon.ico
--------------------------------------------------------------------------------
/Appacker/Resources/icons/open_box_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/open_box_icon.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/folder-closed-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/folder-closed-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/folder-open-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/folder-open-16.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/flag-great-britain-30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/flag-great-britain-30.png
--------------------------------------------------------------------------------
/Appacker/Resources/icons/flag-russian-federation-30.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SerGreen/Appacker/HEAD/Appacker/Resources/icons/flag-russian-federation-30.png
--------------------------------------------------------------------------------
/Packer/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | XDMessaging.Lite
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Unpacker/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | XDMessaging.Lite
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Packer/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/PackerWindowless/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | XDMessaging.Lite
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ProgressBarSplash/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | XDMessaging.Lite
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Unpacker/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/UnpackerWindowless/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | XDMessaging.Lite
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PackerWindowless/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ProgressBarSplash/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/UnpackerWindowless/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Appacker/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Appacker/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ProgressBarSplash/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Appacker/FodyWeavers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Infralution.Localization
6 | IconInjector
7 | IconLib
8 | XDMessaging.Lite
9 | NDesk.Options
10 | INIFileParser
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Packer/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/PackerWindowless/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Unpacker/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/ProgressBarSplash/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/UnpackerWindowless/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Appacker/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ProgressBarSplash/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using System.Windows.Forms;
6 |
7 | namespace ProgressBarSplash
8 | {
9 | static class Program
10 | {
11 | ///
12 | /// The main entry point for the application.
13 | ///
14 | [STAThread]
15 | static void Main()
16 | {
17 | Application.EnableVisualStyles();
18 | Application.SetCompatibleTextRenderingDefault(false);
19 | Application.Run(new LoadingForm());
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/SharedFiles/SharedFiles.projitems:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
5 | true
6 | 4ebe08b7-c972-4cca-aceb-988bd45145ea
7 |
8 |
9 | SharedFiles
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/PackerShared/PackerShared.projitems:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
5 | true
6 | 7a11989c-acac-4e88-a5c5-6c4a7cff7a81
7 |
8 |
9 | PackerShared
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Appacker/Settings.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Appacker
8 | {
9 | public class Settings
10 | {
11 | public string language;
12 |
13 | public bool isRepackable;
14 | public bool openUnpackDirectory;
15 | public MainForm.UnpackDirectory unpackDirectory;
16 | public string launchArguments;
17 | public string customFileDescription;
18 | public bool isWindowless;
19 | public bool isSplashProgressBarEnabled;
20 |
21 | public int positionTop;
22 | public int positionLeft;
23 | public int width;
24 | public int height;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/History of false detections as malware.md:
--------------------------------------------------------------------------------
1 | This app keeps getting detected as malware despite submitions to Microsoft Security Intelligence. It gets confirmed as false positive and removed from malware definitions of Winfows 10 Defender, but eventually it regresses again.
2 | I'll keep track of all detections here.
3 |
4 | | Date | Detected as | Version |
5 | | :--------: | :-------------------------- | :-----: |
6 | | 2019-09-11 | Trojan:Win32/Fuerboos.A!cl | v1.3.6 |
7 | | 2019-11-26 | Trojan:Win32/Woreflint.A!cl | v1.3.6 |
8 | | 2020-02-28 | Trojan:Win32/Wacatac.C!ml | v1.3.6 |
9 | | 2020-03-30 | Trojan:Win32/Wacatac.C!ml | v1.3.6 |
10 | | 2020-04-30 | Trojan:Win32/Occamy.AA | v1.3.6 |
11 | | 2020-12-17 | Trojan:Win32/Occamy.AA | v1.3.6 |
12 | | 2021-03-23 | Trojan:Win32/Wacatac.B!ml | v1.3.8 |
13 | | 2022-01-12 | Trojan:Win32/Woreflint.A!cl | v1.3.10 |
14 | | 2022-01-12 | Trojan:Win32/Wacatac.B!ml | v1.3.10 |
15 |
--------------------------------------------------------------------------------
/SharedFiles/SharedFiles.shproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4ebe08b7-c972-4cca-aceb-988bd45145ea
5 | 14.0
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/PackerShared/PackerShared.shproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 7a11989c-acac-4e88-a5c5-6c4a7cff7a81
5 | 14.0
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/UnpackerSharedProject/UnpackerShared.shproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 0332fcec-5a10-4fcb-a0ba-8adeb5584c7a
5 | 14.0
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Appacker/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace Appacker.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/ProgressBarSplash/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace ProgressBarSplash.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Appacker/AboutForm.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace Appacker
12 | {
13 | public partial class AboutForm : Form
14 | {
15 | public AboutForm()
16 | {
17 | InitializeComponent();
18 | labVersion.Text = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(3);
19 | }
20 |
21 | private void linkIconsCredit_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
22 | {
23 | System.Diagnostics.Process.Start("https://www.flaticon.com/authors/good-ware");
24 | }
25 |
26 | private void linkIconsCredit2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
27 | {
28 | System.Diagnostics.Process.Start("https://icons8.com/icons/officexs");
29 | }
30 |
31 | private void linkGithub_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
32 | {
33 | System.Diagnostics.Process.Start("https://github.com/SerGreen/Appacker");
34 | }
35 |
36 | private void btnDismiss_Click(object sender, EventArgs e) => Close();
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Appacker/RegistrySettingsProvider.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Win32;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Globalization;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace Appacker
10 | {
11 | internal static class RegistrySettingsProvider
12 | {
13 | public static CultureInfo Language
14 | {
15 | get => GetLanguage();
16 | set => SaveLanguage(value);
17 | }
18 |
19 | private static void SaveLanguage(CultureInfo lang)
20 | {
21 | using (RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\SerGreen\Appacker", true))
22 | {
23 | key.SetValue("Language", lang.ToString(), RegistryValueKind.String);
24 | }
25 | }
26 |
27 | private static CultureInfo GetLanguage()
28 | {
29 | using (RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\SerGreen\Appacker"))
30 | {
31 | string lang = key?.GetValue("Language") as string;
32 | if (lang == null)
33 | {
34 | lang = "en-US";
35 | SaveLanguage(CultureInfo.GetCultureInfo(lang));
36 | }
37 |
38 | return CultureInfo.GetCultureInfo(lang);
39 | }
40 | }
41 | }
42 | }
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/InvalidFileException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidFileException : Exception
23 | {
24 | #region Constructors
25 | public InvalidFileException() : base ("Format not recognized by IconLib")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/InvalidICLFileException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 |
20 | namespace System.Drawing.IconLib.Exceptions
21 | {
22 | [Author("Franco, Gustavo")]
23 | public class InvalidICLFileException : Exception
24 | {
25 | #region Constructors
26 | public InvalidICLFileException() : base ("Invalid ICL file.")
27 | {
28 | }
29 | #endregion
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/InvalidIconSelectionException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidIconSelectionException : Exception
23 | {
24 | #region Constructors
25 | public InvalidIconSelectionException() : base ("Selected Icon is invalid")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/ImageTooBigException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class ImageTooBigException : Exception
23 | {
24 | #region Constructors
25 | public ImageTooBigException() : base ("Image width and height cannot be bigger than 256 pixels.")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/IconNameAlreadyExistException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class IconNameAlreadyExistException : Exception
23 | {
24 | #region Constructors
25 | public IconNameAlreadyExistException() : base ("Icon name already exist in the collection")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/ImageAlreadyExistsException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class ImageAlreadyExistsException : Exception
23 | {
24 | #region Constructors
25 | public ImageAlreadyExistsException() : base ("Image with same size and format already exists")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/InvalidMultiIconFileException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidMultiIconFileException : Exception
23 | {
24 | #region Constructors
25 | public InvalidMultiIconFileException() : base ("Invalid icon file. Signature does not match")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/InvalidIconFormatSelectionException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidIconFormatSelectionException : Exception
23 | {
24 | #region Constructors
25 | public InvalidIconFormatSelectionException() : base ("Invalid IconImageFormat selection")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/LibraryFormats/ILibraryFormat.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.IO;
21 | using System.Text;
22 | using System.Collections.Generic;
23 |
24 | namespace System.Drawing.IconLib.EncodingFormats
25 | {
26 | public interface ILibraryFormat
27 | {
28 | bool IsRecognizedFormat(Stream stream);
29 | void Save(MultiIcon singleIcon, Stream stream);
30 | MultiIcon Load(Stream stream);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/ColorProcessing/IColorQuantizer.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Text;
21 | using System.Drawing.Imaging;
22 | using System.Collections.Generic;
23 |
24 | namespace System.Drawing.IconLib.ColorProcessing
25 | {
26 | [Author("Franco, Gustavo")]
27 | public interface IColorQuantizer
28 | {
29 | #region Methods
30 | Bitmap Convert(Bitmap source, PixelFormat outputFormat);
31 | #endregion
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/InvalidMultiIconMaskBitmap.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidMultiIconMaskBitmap : Exception
23 | {
24 | #region Constructors
25 | public InvalidMultiIconMaskBitmap() : base ("Invalid mask bitmap. Mask must be same size as the bitmap and PixelFormat must be Format1bppIndexed")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/ColorProcessing/IPaletteQuantizer.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Text;
21 | using System.Drawing;
22 | using System.Drawing.Imaging;
23 | using System.Collections.Generic;
24 |
25 | namespace System.Drawing.IconLib.ColorProcessing
26 | {
27 | [Author("Franco, Gustavo")]
28 | public interface IPaletteQuantizer
29 | {
30 | #region Methods
31 | ColorPalette CreatePalette(Bitmap image, int maxColors, int bitsPerPixel);
32 | #endregion
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/UnpackerSharedProject/UnpackerSharedProject.projitems:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
5 | true
6 | 0332fcec-5a10-4fcb-a0ba-8adeb5584c7a
7 |
8 |
9 | UnpackerSharedProject
10 |
11 |
12 |
13 |
14 |
15 |
16 | Form
17 |
18 |
19 | PasswordForm.cs
20 |
21 |
22 |
23 |
24 |
25 | PasswordForm.cs
26 |
27 |
28 | PasswordForm.cs
29 |
30 |
31 |
--------------------------------------------------------------------------------
/IconLib/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("IconLib")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("IconLib")]
13 | [assembly: AssemblyCopyright("Copyright © Franco, Gustavo 2006")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("648f0c95-df6f-4556-ae00-f9e17be4c056")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Revision and Build Numbers
33 | // by using the '*' as shown below:
34 | [assembly: AssemblyVersion("0.73.0.0")]
35 | [assembly: AssemblyFileVersion("0.73.0.0")]
36 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/ColorProcessing/IDithering.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Text;
21 | using System.Drawing;
22 | using System.Drawing.IconLib;
23 | using System.Collections.Generic;
24 |
25 | namespace System.Drawing.IconLib.ColorProcessing
26 | {
27 | [Author("Franco, Gustavo")]
28 | public interface IDithering
29 | {
30 | #region Methods
31 | unsafe void Disperse(byte* pixelSource, int x, int y, byte bpp, int stride, int width, int height, Color colorEntry);
32 | #endregion
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/IconInjector/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("IconInjector")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("IconInjector")]
13 | [assembly: AssemblyCopyright("Copyright © 2018")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("d7b9897a-704b-4754-bb33-f26529a23ea6")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/SharedFiles/Password.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Appacker
8 | {
9 | static class Password
10 | {
11 | internal static byte[] GetPasswordHash (string password) => Obfuscate(GetStringSha256Hash(password));
12 |
13 | internal static string GetPasswordHashString (string password) => BitConverter.ToString(GetPasswordHash(password)).Replace("-", "");
14 | internal static string GetPasswordHashString (byte[] passwordHash) => passwordHash == null ? string.Empty : BitConverter.ToString(passwordHash).Replace("-", "");
15 |
16 | internal static bool ComparePassword (string password, byte[] hash) => GetPasswordHash(password).SequenceEqual(hash);
17 |
18 | private static byte[] Obfuscate (byte[] data, byte xorConstant = 0x69)
19 | {
20 | for (int i = 0; i < data.Length; i++)
21 | data[i] = (byte)(data[i] ^ xorConstant);
22 |
23 | return data;
24 | }
25 |
26 | private static byte[] GetStringSha256Hash (string text)
27 | {
28 | if (string.IsNullOrEmpty(text))
29 | return new byte[] { };
30 |
31 | using (var sha = new System.Security.Cryptography.SHA256Managed())
32 | {
33 | byte[] textData = Encoding.UTF8.GetBytes(text);
34 | byte[] hash = sha.ComputeHash(textData);
35 |
36 | return hash;
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/ProgressBarSplash/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("ProgressBarSplash")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("ProgressBarSplash")]
13 | [assembly: AssemblyCopyright("Copyright © 2018")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("302dac96-8b41-466b-b86c-cb5da71f0d1b")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Appacker/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Appacker")]
9 | [assembly: AssemblyDescription("Application packer")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("SerGreen")]
12 | [assembly: AssemblyProduct("Appacker")]
13 | [assembly: AssemblyCopyright("Copyright © 2018-2021")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("0618e8d3-3057-4317-8ba4-46f39eb864f3")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.3.11.0")]
36 | [assembly: AssemblyFileVersion("1.3.11.0")]
37 |
--------------------------------------------------------------------------------
/Unpacker/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Appacker package")]
9 | [assembly: AssemblyDescription("Packed portable application inside")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("SerGreen")]
12 | [assembly: AssemblyProduct("Appacker")]
13 | [assembly: AssemblyCopyright("Copyright © 2018-2021")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("8d85b3ea-40db-4187-a4f6-fa6263669c5b")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.3.11.0")]
36 | [assembly: AssemblyFileVersion("1.3.11.0")]
37 |
--------------------------------------------------------------------------------
/Packer/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Appacker's Packer tool")]
9 | [assembly: AssemblyDescription("Tool for creating packed application")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("SerGreen")]
12 | [assembly: AssemblyProduct("Appacker")]
13 | [assembly: AssemblyCopyright("Copyright © 2018-2021")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("076a6452-1fa4-4995-95bf-c4e28eefd062")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.3.11.0")]
36 | [assembly: AssemblyFileVersion("1.3.11.0")]
37 |
--------------------------------------------------------------------------------
/UnpackerWindowless/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Appacker package")]
9 | [assembly: AssemblyDescription("Packed portable application inside")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("SerGreen")]
12 | [assembly: AssemblyProduct("Appacker")]
13 | [assembly: AssemblyCopyright("Copyright © 2018-2021")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("8d85b3ea-40db-4187-a4f6-fa6263669c5b")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.3.11.0")]
36 | [assembly: AssemblyFileVersion("1.3.11.0")]
37 |
--------------------------------------------------------------------------------
/PackerWindowless/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Appacker's Packer tool")]
9 | [assembly: AssemblyDescription("Tool for creating packed application")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("SerGreen")]
12 | [assembly: AssemblyProduct("Appacker")]
13 | [assembly: AssemblyCopyright("Copyright © 2018-2021")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("076a6452-1fa4-4995-95bf-c4e28eefd062")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.3.11.0")]
36 | [assembly: AssemblyFileVersion("1.3.11.0")]
37 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/AuthorAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Collections.Generic;
21 | using System.Text;
22 |
23 | namespace System.Drawing.IconLib
24 | {
25 | [AttributeUsage(AttributeTargets.Class |
26 | AttributeTargets.Enum |
27 | AttributeTargets.Interface |
28 | AttributeTargets.Struct,
29 | AllowMultiple = true)]
30 | [Author("Franco, Gustavo")]
31 | internal class AuthorAttribute : Attribute
32 | {
33 | #region Constructors
34 | public AuthorAttribute(string authorName)
35 | {
36 | }
37 | #endregion
38 | }
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/Appacker/CueProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.InteropServices;
3 | using System.Windows.Forms;
4 |
5 | namespace RavSoft
6 | {
7 | ///
8 | /// Provides textual cues to a text box.
9 | ///
10 | ///
11 | /// An object that provides basic logging capabilities.
12 | /// Copyright (c) 2008 Ravi Bhavnani, ravib@ravib.com
13 | ///
14 | /// This software may be freely used in any product or work, provided this
15 | /// copyright notice is maintained. To help ensure a single point of release,
16 | /// please email and bug reports, flames and suggestions to ravib@ravib.com.
17 | ///
18 | public static class CueProvider
19 | {
20 | private const int EM_SETCUEBANNER = 0x1501;
21 |
22 | [DllImport("user32.dll", CharSet = CharSet.Auto)]
23 | private static extern Int32 SendMessage
24 | (IntPtr hWnd, int msg, int wParam, [MarshalAs(UnmanagedType.LPWStr)] string lParam);
25 |
26 | ///
27 | /// Sets a text box's cue text.
28 | ///
29 | /// The text box.
30 | /// The cue text.
31 | public static void SetCue
32 | (TextBox textBox,
33 | string cue)
34 | {
35 | SendMessage (textBox.Handle, EM_SETCUEBANNER, 0, cue);
36 | }
37 |
38 | ///
39 | /// Clears a text box's cue text.
40 | ///
41 | /// The text box
42 | public static void ClearCue
43 | (TextBox textBox)
44 | {
45 | SendMessage (textBox.Handle, EM_SETCUEBANNER, 0, string.Empty);
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Exceptions/InvalidPixelFormatException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System.Drawing.Imaging;
20 | namespace System.Drawing.IconLib.Exceptions
21 | {
22 | [Author("Franco, Gustavo")]
23 | public class InvalidPixelFormatException : Exception
24 | {
25 | #region Constructors
26 | public InvalidPixelFormatException(PixelFormat invalid, PixelFormat expected) : base (invalid != PixelFormat.Undefined ?
27 | "PixelFormat " + invalid.ToString() + " is invalid" :
28 | expected != PixelFormat.Undefined ?
29 | "PixelFormat " + expected.ToString() + " expected" :
30 | "Invalid PixelFormat")
31 | {
32 | }
33 | #endregion
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/Appacker/Resources/Microsoft.VC80.MFC.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | tpIBsHBROfAlpYMDRDbXYcHmLgk=
6 | oJG2Jr4nbHQujY+GmI7Qfx6Qg9Q=
7 | dNEbvz2oqiF9HoNCWmdiGxJjccU=
8 | gouNpismXZmivnQe1U1Kt95h+DM=
9 |
--------------------------------------------------------------------------------
/ProgressBarSplash/LoadingForm.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Diagnostics;
6 | using System.Drawing;
7 | using System.Linq;
8 | using System.Text;
9 | using System.Threading.Tasks;
10 | using System.Windows.Forms;
11 | using XDMessaging;
12 |
13 | namespace ProgressBarSplash
14 | {
15 | public partial class LoadingForm : Form
16 | {
17 | private IXDListener listener;
18 |
19 | public LoadingForm()
20 | {
21 | InitializeComponent();
22 |
23 | string[] args = Environment.GetCommandLineArgs();
24 | if (args.Contains("-packing") || args.Contains("packing"))
25 | labPacking.Visible = true;
26 | else if (args.Contains("-unpacking") || args.Contains("unpacking"))
27 | labUnpacking.Visible = true;
28 |
29 | // Setup XDMessagingClient listener to receive progress updates
30 | XDMessagingClient client = new XDMessagingClient();
31 | listener = client.Listeners.GetListenerForMode(XDTransportMode.HighPerformanceUI);
32 | listener.RegisterChannel("AppackerProgress");
33 |
34 | // Attach event handler for incoming messages
35 | listener.MessageReceived += (o, ea) =>
36 | {
37 | if (ea.DataGram.Channel == "AppackerProgress")
38 | {
39 | // 'Done' is sent when packing/unpacking is finished => close this splash
40 | if (ea.DataGram.Message == "Done")
41 | {
42 | progressBar.Value = progressBar.Maximum;
43 | Exit();
44 | }
45 | // Other messages are progress updates
46 | else
47 | {
48 | string[] tokens = ea.DataGram.Message.Split(' ');
49 | progressBar.Maximum = int.Parse(tokens[1]);
50 | progressBar.Value = int.Parse(tokens[0]);
51 | }
52 | }
53 | };
54 | }
55 |
56 | private void Exit()
57 | {
58 | listener?.UnRegisterChannel("AppackerProgress");
59 | listener?.Dispose();
60 | Application.Exit();
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/IconInjector/IconInjector.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {D7B9897A-704B-4754-BB33-F26529A23EA6}
8 | Library
9 | Properties
10 | IconInjector
11 | IconInjector
12 | v4.7
13 | 512
14 |
15 |
16 | true
17 | full
18 | false
19 | bin\Debug\
20 | DEBUG;TRACE
21 | prompt
22 | 4
23 | true
24 |
25 |
26 | pdbonly
27 | true
28 | bin\Release\
29 | TRACE
30 | prompt
31 | 4
32 | true
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/UnpackerSharedProject/PasswordForm.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace Unpacker
12 | {
13 | public partial class PasswordForm : Form
14 | {
15 | private byte[] hash;
16 | private Timer shakeTimer = new Timer();
17 | private int shakeHeight = 3; // height in pixels that labWrongPassword jumps up on wrong password entry
18 | private int shakeTime = 35; //ms
19 | private int wrongTriesCount = 0;
20 |
21 | public PasswordForm (byte[] hash)
22 | {
23 | InitializeComponent();
24 | this.hash = hash;
25 | shakeTimer.Interval = shakeTime;
26 | shakeTimer.Tick += (s, e) => {
27 | labWrongPassword.Location = new Point(labWrongPassword.Location.X, labWrongPassword.Location.Y + shakeHeight);
28 | shakeTimer.Stop();
29 | };
30 | }
31 |
32 | private void txtPassword_KeyDown (object sender, KeyEventArgs e)
33 | {
34 | if (e.KeyCode == Keys.Enter)
35 | btnOk.PerformClick();
36 | else if (e.KeyCode == Keys.Escape)
37 | btnCancel.PerformClick();
38 | }
39 |
40 | private void btnOk_Click (object sender, EventArgs e)
41 | {
42 | if (shakeTimer.Enabled)
43 | return;
44 |
45 | if (Appacker.Password.ComparePassword(txtPassword.Text, hash))
46 | {
47 | DialogResult = DialogResult.OK;
48 | Close();
49 | }
50 | else
51 | {
52 | txtPassword.Text = "";
53 | wrongTriesCount++;
54 | if (wrongTriesCount == 5)
55 | labWrongPassword.Text = labStopIt.Text;
56 | else if (wrongTriesCount > 5 && (wrongTriesCount - 5) % 3 == 0)
57 | labWrongPassword.Text += "!";
58 |
59 | if (wrongTriesCount < 5)
60 | System.Media.SystemSounds.Exclamation.Play();
61 | else
62 | System.Media.SystemSounds.Hand.Play();
63 |
64 | labWrongPassword.Visible = true;
65 | labWrongPassword.Location = new Point(labWrongPassword.Location.X, labWrongPassword.Location.Y - shakeHeight);
66 | shakeTimer.Start();
67 | }
68 | }
69 |
70 | private void btnCancel_Click (object sender, EventArgs e)
71 | {
72 | DialogResult = DialogResult.Cancel;
73 | Close();
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/ProgressBarSplash/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace ProgressBarSplash.Properties
12 | {
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources
26 | {
27 |
28 | private static global::System.Resources.ResourceManager resourceMan;
29 |
30 | private static global::System.Globalization.CultureInfo resourceCulture;
31 |
32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
33 | internal Resources()
34 | {
35 | }
36 |
37 | ///
38 | /// Returns the cached ResourceManager instance used by this class.
39 | ///
40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
41 | internal static global::System.Resources.ResourceManager ResourceManager
42 | {
43 | get
44 | {
45 | if ((resourceMan == null))
46 | {
47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ProgressBarSplash.Properties.Resources", typeof(Resources).Assembly);
48 | resourceMan = temp;
49 | }
50 | return resourceMan;
51 | }
52 | }
53 |
54 | ///
55 | /// Overrides the current thread's CurrentUICulture property for all
56 | /// resource lookups using this strongly typed resource class.
57 | ///
58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
59 | internal static global::System.Globalization.CultureInfo Culture
60 | {
61 | get
62 | {
63 | return resourceCulture;
64 | }
65 | set
66 | {
67 | resourceCulture = value;
68 | }
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Resource.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:2.0.50727.42
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace System.Drawing.IconLib {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resource {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resource() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IconLib.System.Drawing.IconLib.Resource", typeof(Resource).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | internal static byte[] EmptyDll {
64 | get {
65 | object obj = ResourceManager.GetObject("EmptyDll", resourceCulture);
66 | return ((byte[])(obj));
67 | }
68 | }
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/ProgressBarSplash/LoadingForm.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace ProgressBarSplash
2 | {
3 | partial class LoadingForm
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoadingForm));
32 | this.progressBar = new System.Windows.Forms.ProgressBar();
33 | this.labPacking = new System.Windows.Forms.Label();
34 | this.labUnpacking = new System.Windows.Forms.Label();
35 | this.SuspendLayout();
36 | //
37 | // progressBar
38 | //
39 | resources.ApplyResources(this.progressBar, "progressBar");
40 | this.progressBar.Name = "progressBar";
41 | this.progressBar.UseWaitCursor = true;
42 | //
43 | // labPacking
44 | //
45 | resources.ApplyResources(this.labPacking, "labPacking");
46 | this.labPacking.BackColor = System.Drawing.Color.Transparent;
47 | this.labPacking.Name = "labPacking";
48 | this.labPacking.UseWaitCursor = true;
49 | //
50 | // labUnpacking
51 | //
52 | resources.ApplyResources(this.labUnpacking, "labUnpacking");
53 | this.labUnpacking.BackColor = System.Drawing.Color.Transparent;
54 | this.labUnpacking.Name = "labUnpacking";
55 | this.labUnpacking.UseWaitCursor = true;
56 | //
57 | // LoadingForm
58 | //
59 | resources.ApplyResources(this, "$this");
60 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
61 | this.ControlBox = false;
62 | this.Controls.Add(this.labUnpacking);
63 | this.Controls.Add(this.labPacking);
64 | this.Controls.Add(this.progressBar);
65 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
66 | this.Name = "LoadingForm";
67 | this.UseWaitCursor = true;
68 | this.ResumeLayout(false);
69 | this.PerformLayout();
70 |
71 | }
72 |
73 | #endregion
74 |
75 | private System.Windows.Forms.ProgressBar progressBar;
76 | private System.Windows.Forms.Label labPacking;
77 | private System.Windows.Forms.Label labUnpacking;
78 | }
79 | }
80 |
81 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/BitmapEncoders/PNGEncoder.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.IO;
21 | using System.Text;
22 | using System.Drawing.Imaging;
23 | using System.Collections.Generic;
24 | using System.Runtime.InteropServices;
25 |
26 | namespace System.Drawing.IconLib.BitmapEncoders
27 | {
28 | [Author("Franco, Gustavo")]
29 | internal class PNGEncoder : ImageEncoder
30 | {
31 | #region Variables Declaration
32 | #endregion
33 |
34 | #region Constructors
35 | public PNGEncoder()
36 | {
37 | }
38 | #endregion
39 |
40 | #region Properties
41 | public override IconImageFormat IconImageFormat
42 | {
43 | get {return IconImageFormat.PNG;}
44 | }
45 |
46 | public override unsafe int ImageSize
47 | {
48 | get
49 | {
50 | // This is a fast and temporary solution,
51 | // Soon Ill implement a png cache,
52 | // then the image will be generated just once between calls and writes
53 | MemoryStream ms = new MemoryStream();
54 | Icon.ToBitmap().Save(ms, ImageFormat.Png);
55 | return (int) ms.Length;
56 | }
57 | }
58 | #endregion
59 |
60 | #region Methods
61 | public unsafe override void Read(Stream stream, int resourceSize)
62 | {
63 | // Buffer a PNG image
64 | byte[] buffer = new byte[resourceSize];
65 | stream.Read(buffer, 0, buffer.Length);
66 | MemoryStream ms = new MemoryStream(buffer);
67 | Bitmap pngBitmap = new Bitmap(ms);
68 |
69 | // Set XOR and AND Image
70 | IconImage iconImage = new IconImage();
71 | iconImage.Set(pngBitmap, null, Color.Transparent);
72 | pngBitmap.Dispose();
73 |
74 | //Transfer the data from the BMPEncoder to the PNGEncoder
75 | CopyFrom(iconImage.Encoder);
76 | }
77 |
78 | public override void Write(Stream stream)
79 | {
80 | MemoryStream ms = new MemoryStream();
81 | Icon.ToBitmap().Save(ms, ImageFormat.Png);
82 | byte[] buffer = ms.GetBuffer();
83 | stream.Write(buffer, 0, (int) ms.Length);
84 | }
85 | #endregion
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/BitmapEncoders/BMPEncoder.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.IO;
21 | using System.Text;
22 | using System.Collections.Generic;
23 | using System.Runtime.InteropServices;
24 |
25 | namespace System.Drawing.IconLib.BitmapEncoders
26 | {
27 | [Author("Franco, Gustavo")]
28 | internal class BMPEncoder : ImageEncoder
29 | {
30 | #region Constructors
31 | public BMPEncoder()
32 | {
33 | }
34 | #endregion
35 |
36 | #region Properties
37 | public override IconImageFormat IconImageFormat
38 | {
39 | get {return IconImageFormat.BMP;}
40 | }
41 | #endregion
42 |
43 | #region Methods
44 | public unsafe override void Read(Stream stream, int resourceSize)
45 | {
46 | // BitmapInfoHeader
47 | mHeader.Read(stream);
48 |
49 | // Palette
50 | mColors = new RGBQUAD[ColorsInPalette];
51 | byte[] colorBuffer = new byte[mColors.Length * sizeof(RGBQUAD)];
52 | stream.Read(colorBuffer, 0, colorBuffer.Length);
53 | GCHandle handle = GCHandle.Alloc(mColors, GCHandleType.Pinned);
54 | Marshal.Copy(colorBuffer, 0, handle.AddrOfPinnedObject(), colorBuffer.Length);
55 | handle.Free();
56 |
57 | // XOR Image
58 | int stride = (int) ((mHeader.biWidth * mHeader.biBitCount + 31) & ~31) >> 3;
59 | mXOR = new byte[stride * (mHeader.biHeight / 2)];
60 | stream.Read(mXOR, 0, mXOR.Length);
61 |
62 | // AND Image
63 | stride = (int) ((mHeader.biWidth * 1 + 31) & ~31) >> 3;
64 | mAND = new byte[stride * (mHeader.biHeight / 2)];
65 | stream.Read(mAND, 0, mAND.Length);
66 | }
67 |
68 | public unsafe override void Write(Stream stream)
69 | {
70 | BinaryReader br = new BinaryReader(stream);
71 |
72 | // BitmapInfoHeader
73 | mHeader.Write(stream);
74 |
75 | // Palette
76 | byte[] buffer = new byte[ColorsInPalette * sizeof(RGBQUAD)];
77 | GCHandle handle = GCHandle.Alloc(mColors, GCHandleType.Pinned);
78 | Marshal.Copy(handle.AddrOfPinnedObject(), buffer, 0, buffer.Length);
79 | handle.Free();
80 | stream.Write(buffer, 0, buffer.Length);
81 |
82 | // XOR Image
83 | stream.Write(mXOR, 0, mXOR.Length);
84 |
85 | // AND Image
86 | stream.Write(mAND, 0, mAND.Length);
87 | }
88 | #endregion
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/Packer/Packer.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {076A6452-1FA4-4995-95BF-C4E28EEFD062}
8 | Exe
9 | Packer
10 | Packer
11 | v4.7
12 | 512
13 | true
14 |
15 |
16 |
17 |
18 | AnyCPU
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 4
26 |
27 |
28 | AnyCPU
29 | pdbonly
30 | true
31 | bin\Release\
32 | TRACE
33 | prompt
34 | 4
35 |
36 |
37 |
38 |
39 |
40 |
41 | ..\packages\Costura.Fody.2.0.0\lib\net452\Costura.dll
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | ..\packages\XDMessaging.Lite.5.0.6\lib\net452\XDMessaging.Lite.dll
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | Designer
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
77 |
78 |
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/PackerWindowless/PackerWindowless.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {56FC8940-7999-4C90-8324-FC76546ABE70}
8 | WinExe
9 | Packer
10 | Packer
11 | v4.7
12 | 512
13 | true
14 |
15 |
16 |
17 |
18 | AnyCPU
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 4
26 |
27 |
28 | AnyCPU
29 | pdbonly
30 | true
31 | bin\Release\
32 | TRACE
33 | prompt
34 | 4
35 |
36 |
37 |
38 |
39 |
40 |
41 | ..\packages\Costura.Fody.2.0.0\lib\net452\Costura.dll
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | ..\packages\XDMessaging.Lite.5.0.6\lib\net452\XDMessaging.Lite.dll
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | Designer
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
77 |
78 |
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/UnpackerSharedProject/PasswordForm.Designer.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Unpacker
3 | {
4 | partial class PasswordForm
5 | {
6 | ///
7 | /// Required designer variable.
8 | ///
9 | private System.ComponentModel.IContainer components = null;
10 |
11 | ///
12 | /// Clean up any resources being used.
13 | ///
14 | /// true if managed resources should be disposed; otherwise, false.
15 | protected override void Dispose (bool disposing)
16 | {
17 | if (disposing && (components != null))
18 | {
19 | components.Dispose();
20 | }
21 | base.Dispose(disposing);
22 | }
23 |
24 | #region Windows Form Designer generated code
25 |
26 | ///
27 | /// Required method for Designer support - do not modify
28 | /// the contents of this method with the code editor.
29 | ///
30 | private void InitializeComponent ()
31 | {
32 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PasswordForm));
33 | this.txtPassword = new System.Windows.Forms.TextBox();
34 | this.labText = new System.Windows.Forms.Label();
35 | this.btnOk = new System.Windows.Forms.Button();
36 | this.btnCancel = new System.Windows.Forms.Button();
37 | this.labWrongPassword = new System.Windows.Forms.Label();
38 | this.labStopIt = new System.Windows.Forms.Label();
39 | this.SuspendLayout();
40 | //
41 | // txtPassword
42 | //
43 | resources.ApplyResources(this.txtPassword, "txtPassword");
44 | this.txtPassword.Name = "txtPassword";
45 | this.txtPassword.UseSystemPasswordChar = true;
46 | this.txtPassword.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtPassword_KeyDown);
47 | //
48 | // labText
49 | //
50 | resources.ApplyResources(this.labText, "labText");
51 | this.labText.Name = "labText";
52 | //
53 | // btnOk
54 | //
55 | resources.ApplyResources(this.btnOk, "btnOk");
56 | this.btnOk.Name = "btnOk";
57 | this.btnOk.UseVisualStyleBackColor = true;
58 | this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
59 | //
60 | // btnCancel
61 | //
62 | resources.ApplyResources(this.btnCancel, "btnCancel");
63 | this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
64 | this.btnCancel.Name = "btnCancel";
65 | this.btnCancel.UseVisualStyleBackColor = true;
66 | this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
67 | //
68 | // labWrongPassword
69 | //
70 | resources.ApplyResources(this.labWrongPassword, "labWrongPassword");
71 | this.labWrongPassword.ForeColor = System.Drawing.Color.Red;
72 | this.labWrongPassword.Name = "labWrongPassword";
73 | //
74 | // labStopIt
75 | //
76 | resources.ApplyResources(this.labStopIt, "labStopIt");
77 | this.labStopIt.ForeColor = System.Drawing.Color.Red;
78 | this.labStopIt.Name = "labStopIt";
79 | //
80 | // PasswordForm
81 | //
82 | this.AcceptButton = this.btnOk;
83 | resources.ApplyResources(this, "$this");
84 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
85 | this.CancelButton = this.btnCancel;
86 | this.Controls.Add(this.btnCancel);
87 | this.Controls.Add(this.btnOk);
88 | this.Controls.Add(this.labStopIt);
89 | this.Controls.Add(this.labWrongPassword);
90 | this.Controls.Add(this.labText);
91 | this.Controls.Add(this.txtPassword);
92 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
93 | this.MaximizeBox = false;
94 | this.MinimizeBox = false;
95 | this.Name = "PasswordForm";
96 | this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
97 | this.ResumeLayout(false);
98 | this.PerformLayout();
99 |
100 | }
101 |
102 | #endregion
103 |
104 | private System.Windows.Forms.TextBox txtPassword;
105 | private System.Windows.Forms.Label labText;
106 | private System.Windows.Forms.Button btnOk;
107 | private System.Windows.Forms.Button btnCancel;
108 | private System.Windows.Forms.Label labWrongPassword;
109 | private System.Windows.Forms.Label labStopIt;
110 | }
111 | }
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Tools.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Text;
21 | using System.Drawing.IconLib;
22 | using System.Drawing.Imaging;
23 | using System.Collections.Generic;
24 | using System.Runtime.InteropServices;
25 |
26 | namespace System.Drawing.IconLib
27 | {
28 | [Author("Franco, Gustavo")]
29 | internal static class Tools
30 | {
31 | #region Methods
32 | public static bool CompareRGBQUADToColor(RGBQUAD rgbQuad, Color color)
33 | {
34 | return rgbQuad.rgbRed == color.R && rgbQuad.rgbGreen == color.G && rgbQuad.rgbBlue == color.B;
35 | }
36 |
37 | public static unsafe void FlipYBitmap(Bitmap bitmap)
38 | {
39 | if (bitmap.PixelFormat != PixelFormat.Format1bppIndexed)
40 | return;
41 |
42 | // .Net bug.. it can't flip in the Y axis a 1bpp properly
43 | BitmapData bitmapData = bitmap.LockBits(new Rectangle(0,0,bitmap.Width, bitmap.Height) , ImageLockMode.ReadWrite, PixelFormat.Format1bppIndexed);
44 |
45 | byte* pixelPtr = (byte*)bitmapData.Scan0.ToPointer();
46 | byte[] tmpbuffer = new byte[bitmapData.Stride];
47 |
48 | fixed (byte* lptmpbuffer = tmpbuffer)
49 | {
50 | for (int i=0; i
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {8D85B3EA-40DB-4187-A4F6-FA6263669C5B}
8 | Unpacker
9 | Unpacker
10 | v4.7
11 | 512
12 | true
13 |
14 |
15 |
16 |
17 | AnyCPU
18 | Exe
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 4
26 |
27 |
28 | AnyCPU
29 | Exe
30 |
31 | pdbonly
32 | true
33 | bin\Release\
34 | TRACE
35 | prompt
36 | 4
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | ..\packages\Costura.Fody.2.0.0\lib\net452\Costura.dll
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | ..\packages\XDMessaging.Lite.5.0.6\lib\net452\XDMessaging.Lite.dll
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/UnpackerWindowless/UnpackerWindowless.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {852DB8FA-DF7F-40DB-84EC-F232F9A68EE2}
8 | Unpacker
9 | UnpackerWindowless
10 | v4.7
11 | 512
12 | true
13 |
14 |
15 |
16 |
17 | AnyCPU
18 | Exe
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 4
26 |
27 |
28 | AnyCPU
29 | Exe
30 |
31 | pdbonly
32 | true
33 | bin\Release\
34 | TRACE
35 | prompt
36 | 4
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | WinExe
47 |
48 |
49 |
50 | ..\packages\Costura.Fody.2.0.0\lib\net452\Costura.dll
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 | ..\packages\XDMessaging.Lite.5.0.6\lib\net452\XDMessaging.Lite.dll
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Enums.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Collections.Generic;
21 | using System.Text;
22 |
23 | namespace System.Drawing.IconLib
24 | {
25 | #region MultiIconFormat
26 | [Author("Franco, Gustavo")]
27 | public enum MultiIconFormat
28 | {
29 | // Read-Write
30 | ICO = 1,
31 | ICL = 2,
32 | DLL = 3,
33 | // Read-Only
34 | EXE = 4,
35 | OCX = 5,
36 | CPL = 6,
37 | SRC = 7
38 | }
39 | #endregion
40 |
41 | #region HeaderSignatures
42 | [Author("Franco, Gustavo")]
43 | internal enum HeaderSignatures
44 | {
45 | IMAGE_DOS_SIGNATURE = 0x5A4D, // MZ
46 | IMAGE_OS2_SIGNATURE = 0x454E, // NE
47 | IMAGE_NT_SIGNATURE = 0x00004550 // PE00
48 | }
49 | #endregion
50 |
51 | #region LoadLibraryFlags
52 | [Author("Franco, Gustavo")]
53 | internal enum LoadLibraryFlags
54 | {
55 | DONT_RESOLVE_DLL_REFERENCES = 0x00000001,
56 | LOAD_LIBRARY_AS_DATAFILE = 0x00000002,
57 | LOAD_WITH_ALTERED_SEARCH_PATH = 0x00000008,
58 | LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x00000010
59 | }
60 | #endregion
61 |
62 | #region ResourceType
63 | [Author("Franco, Gustavo")]
64 | internal enum ResourceType : uint
65 | {
66 | RT_CURSOR = 1,
67 | RT_BITMAP = 2,
68 | RT_ICON = 3,
69 | RT_MENU = 4,
70 | RT_DIALOG = 5,
71 | RT_STRING = 6,
72 | RT_FONTDIR = 7,
73 | RT_FONT = 8,
74 | RT_ACCELERATOR = 9,
75 | RT_RCDATA = 10,
76 | RT_MESSAGETABLE = 11,
77 | RT_GROUP_CURSOR = 12,
78 | RT_GROUP_ICON = 14,
79 | RT_VERSION = 16,
80 | RT_DLGINCLUDE = 17,
81 | RT_PLUGPLAY = 19,
82 | RT_VXD = 20,
83 | RT_ANICURSOR = 21,
84 | RT_ANIICON = 22,
85 | RT_HTML = 23
86 | }
87 | #endregion
88 |
89 | #region ResourceMemoryType
90 | [Flags]
91 | [Author("Franco, Gustavo")]
92 | internal enum ResourceMemoryType : ushort
93 | {
94 | None = 0,
95 | Moveable = 0x10,
96 | Pure = 0x20,
97 | PreLoad = 0x40,
98 | Unknown = 7168
99 | }
100 | #endregion
101 |
102 | #region BitmapCompression
103 | [Author("Franco, Gustavo")]
104 | public enum IconImageFormat : int
105 | {
106 | //BI_RGB = 0,
107 | //BI_RLE8 = 1,
108 | //BI_RLE4 = 2,
109 | //BI_BITFIELDS = 3,
110 | //BI_JPEG = 4,
111 | BMP = 0,
112 | PNG = 5,
113 | UNKNOWN = 255
114 | }
115 | #endregion
116 |
117 | #region PatBltTypes
118 | [Author("Franco, Gustavo")]
119 | internal enum PatBltTypes
120 | {
121 | SRCCOPY = 0x00CC0020,
122 | SRCPAINT = 0x00EE0086,
123 | SRCAND = 0x008800C6,
124 | SRCINVERT = 0x00660046,
125 | SRCERASE = 0x00440328,
126 | NOTSRCCOPY = 0x00330008,
127 | NOTSRCERASE = 0x001100A6,
128 | MERGECOPY = 0x00C000CA,
129 | MERGEPAINT = 0x00BB0226,
130 | PATCOPY = 0x00F00021,
131 | PATPAINT = 0x00FB0A09,
132 | PATINVERT = 0x005A0049,
133 | DSTINVERT = 0x00550009,
134 | BLACKNESS = 0x00000042,
135 | WHITENESS = 0x00FF0062
136 | }
137 | #endregion
138 |
139 | #region Icon OS Format
140 | [Author("Franco, Gustavo")]
141 | [Flags]
142 | public enum IconOutputFormat
143 | {
144 | None = 0,
145 | Vista = 1,
146 | WinXP = 2,
147 | WinXPUnpopular = 4,
148 | Win95 = 8,
149 | Win95Unpopular = 16,
150 | Win31 = 32,
151 | Win31Unpopular = 64,
152 | Win30 = 128,
153 | Win30Unpopular = 256,
154 | FromWinXP = WinXP | Vista,
155 | FromWin95 = Win95 | FromWinXP,
156 | FromWin31 = Win31 | FromWin95,
157 | FromWin30 = Win30 | FromWin31,
158 | All = FromWin31 | Win31Unpopular | Win95Unpopular | WinXPUnpopular
159 | }
160 | #endregion
161 | }
162 |
--------------------------------------------------------------------------------
/Appacker/IconSwapper.cs:
--------------------------------------------------------------------------------
1 | using ChangeIcon;
2 | using System;
3 | using System.Drawing;
4 | using System.Drawing.IconLib;
5 | using System.IO;
6 |
7 | namespace Appacker
8 | {
9 | public static class IconSwapper
10 | {
11 | ///
12 | /// Replaces icon of the target exe with the new one
13 | ///
14 | /// Full path to the executable, the icon of which will be replaced
15 | /// Full path to *.exe, *.dll or image file that will be used as the source for new icon
16 | public static void ChangeIcon(string pathToTargetExe, string pathToFileWithIcon)
17 | {
18 | // Load the image based on file extension
19 | SingleIcon ico = GetIconFromFile(pathToFileWithIcon);
20 |
21 | // If icon is empty
22 | if (ico.Count == 0)
23 | return;
24 |
25 | InjectIcon(pathToTargetExe, ico);
26 | }
27 |
28 | ///
29 | /// Returns a Bitmap of the icon associated with exe/dll or loads image file
30 | ///
31 | /// Full path to *.exe, *.dll or image file that will be used as the source for new icon
32 | ///
33 | public static SingleIcon GetIconFromFile(string path)
34 | {
35 | MultiIcon mIco = new MultiIcon();
36 | SingleIcon ico = mIco.Add("Icon1");
37 | // Load the image based on file extension
38 | switch (Path.GetExtension(path).ToLowerInvariant())
39 | {
40 | case ".jpg":
41 | case ".jpeg":
42 | case ".bmp":
43 | case ".png":
44 | case ".gif":
45 | case ".tiff":
46 | ico = ImageToIcon(path);
47 | break;
48 | case ".exe":
49 | case ".dll":
50 | case ".ico":
51 | try
52 | {
53 | mIco.Load(path);
54 | }
55 | // Aseprite's exe produces an exception when trying to get its icon. I don't want to deal with it right now, just ignore it, file will use the default icon
56 | catch (System.Drawing.IconLib.Exceptions.InvalidFileException e)
57 | {
58 | Console.Error.WriteLine(e.Message);
59 | }
60 | // Should never happen, just a failsafe
61 | catch (Exception e)
62 | {
63 | System.Windows.Forms.MessageBox.Show($"Unexpected error related to an icon, please report it on GitHub!\nLikely you can continue packing prosess despite this error.\n\nError message:\n\n\"{e.Message}\"", "Something went wrong!");
64 | }
65 |
66 | // If icon pack has multiple icons, take the first one
67 | if (mIco.Count > 0)
68 | ico = mIco[0];
69 | // If exe doesn't have any icon it will not load the 'default' icon
70 | // But .NET Icon class can actually extract this 'default exe' icon
71 | else if (ico.Count == 0)
72 | ico.CreateFrom(Icon.ExtractAssociatedIcon(path).ToBitmap(), IconOutputFormat.Vista);
73 | // Tip: you have to convert to Bitmap in order to get 16mil colors
74 | // if you load directly from icon it gets only 16 colors for some reason
75 |
76 | break;
77 | }
78 | return ico;
79 | }
80 |
81 | private static SingleIcon ImageToIcon(string imgPath)
82 | {
83 | Bitmap bmp = (Bitmap)Image.FromFile(imgPath);
84 | if (bmp.PixelFormat != System.Drawing.Imaging.PixelFormat.Format32bppArgb
85 | || bmp.Width > 256
86 | || bmp.Height > 256)
87 | bmp = FixIcon(bmp);
88 |
89 | MultiIcon mIco = new MultiIcon();
90 | SingleIcon sIco = mIco.Add("Icon1");
91 | sIco.CreateFrom(bmp, IconOutputFormat.Vista);
92 | return sIco;
93 | }
94 |
95 | private static void InjectIcon(string pathToTargetExe, SingleIcon icon)
96 | {
97 | // Save icon to a temp file
98 | string tempIcoPath = Path.GetTempFileName();
99 | icon.Save(tempIcoPath);
100 |
101 | // Magically inject icon into the target exe
102 | IconInjector.InjectIcon(pathToTargetExe, tempIcoPath);
103 |
104 | // Delete temp ico file
105 | File.Delete(tempIcoPath);
106 | }
107 |
108 | private static Bitmap FixIcon(Bitmap orig)
109 | {
110 | float scale = Math.Min(256f / orig.Width, 256f / orig.Height);
111 | int cloneWidth = (int)(orig.Width * scale);
112 | int cloneHeight = (int)(orig.Height * scale);
113 |
114 | Bitmap clone = new Bitmap(cloneWidth, cloneHeight,
115 | System.Drawing.Imaging.PixelFormat.Format32bppArgb);
116 |
117 | using (Graphics g = Graphics.FromImage(clone))
118 | g.DrawImage(orig, new Rectangle(0, 0, clone.Width, clone.Height));
119 |
120 | orig.Dispose();
121 | return clone;
122 | }
123 | }
124 | }
125 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | x64/
19 | x86/
20 | bld/
21 | [Bb]in/
22 | [Oo]bj/
23 | [Ll]og/
24 |
25 | # Visual Studio 2015 cache/options directory
26 | .vs/
27 | # Uncomment if you have tasks that create the project's static files in wwwroot
28 | #wwwroot/
29 |
30 | # MSTest test Results
31 | [Tt]est[Rr]esult*/
32 | [Bb]uild[Ll]og.*
33 |
34 | # NUNIT
35 | *.VisualState.xml
36 | TestResult.xml
37 |
38 | # Build Results of an ATL Project
39 | [Dd]ebugPS/
40 | [Rr]eleasePS/
41 | dlldata.c
42 |
43 | # DNX
44 | project.lock.json
45 | project.fragment.lock.json
46 | artifacts/
47 |
48 | *_i.c
49 | *_p.c
50 | *_i.h
51 | *.ilk
52 | *.meta
53 | *.obj
54 | *.pch
55 | *.pdb
56 | *.pgc
57 | *.pgd
58 | *.rsp
59 | *.sbr
60 | *.tlb
61 | *.tli
62 | *.tlh
63 | *.tmp
64 | *.tmp_proj
65 | *.log
66 | *.vspscc
67 | *.vssscc
68 | .builds
69 | *.pidb
70 | *.svclog
71 | *.scc
72 |
73 | # Chutzpah Test files
74 | _Chutzpah*
75 |
76 | # Visual C++ cache files
77 | ipch/
78 | *.aps
79 | *.ncb
80 | *.opendb
81 | *.opensdf
82 | *.sdf
83 | *.cachefile
84 | *.VC.db
85 | *.VC.VC.opendb
86 |
87 | # Visual Studio profiler
88 | *.psess
89 | *.vsp
90 | *.vspx
91 | *.sap
92 |
93 | # TFS 2012 Local Workspace
94 | $tf/
95 |
96 | # Guidance Automation Toolkit
97 | *.gpState
98 |
99 | # ReSharper is a .NET coding add-in
100 | _ReSharper*/
101 | *.[Rr]e[Ss]harper
102 | *.DotSettings.user
103 |
104 | # JustCode is a .NET coding add-in
105 | .JustCode
106 |
107 | # TeamCity is a build add-in
108 | _TeamCity*
109 |
110 | # DotCover is a Code Coverage Tool
111 | *.dotCover
112 |
113 | # NCrunch
114 | _NCrunch_*
115 | .*crunch*.local.xml
116 | nCrunchTemp_*
117 |
118 | # MightyMoose
119 | *.mm.*
120 | AutoTest.Net/
121 |
122 | # Web workbench (sass)
123 | .sass-cache/
124 |
125 | # Installshield output folder
126 | [Ee]xpress/
127 |
128 | # DocProject is a documentation generator add-in
129 | DocProject/buildhelp/
130 | DocProject/Help/*.HxT
131 | DocProject/Help/*.HxC
132 | DocProject/Help/*.hhc
133 | DocProject/Help/*.hhk
134 | DocProject/Help/*.hhp
135 | DocProject/Help/Html2
136 | DocProject/Help/html
137 |
138 | # Click-Once directory
139 | publish/
140 |
141 | # Publish Web Output
142 | *.[Pp]ublish.xml
143 | *.azurePubxml
144 | # TODO: Comment the next line if you want to checkin your web deploy settings
145 | # but database connection strings (with potential passwords) will be unencrypted
146 | #*.pubxml
147 | *.publishproj
148 |
149 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
150 | # checkin your Azure Web App publish settings, but sensitive information contained
151 | # in these scripts will be unencrypted
152 | PublishScripts/
153 |
154 | # NuGet Packages
155 | *.nupkg
156 | # The packages folder can be ignored because of Package Restore
157 | **/packages/*
158 | # except build/, which is used as an MSBuild target.
159 | !**/packages/build/
160 | # Uncomment if necessary however generally it will be regenerated when needed
161 | #!**/packages/repositories.config
162 | # NuGet v3's project.json files produces more ignoreable files
163 | *.nuget.props
164 | *.nuget.targets
165 |
166 | # Microsoft Azure Build Output
167 | csx/
168 | *.build.csdef
169 |
170 | # Microsoft Azure Emulator
171 | ecf/
172 | rcf/
173 |
174 | # Windows Store app package directories and files
175 | AppPackages/
176 | BundleArtifacts/
177 | Package.StoreAssociation.xml
178 | _pkginfo.txt
179 |
180 | # Visual Studio cache files
181 | # files ending in .cache can be ignored
182 | *.[Cc]ache
183 | # but keep track of directories ending in .cache
184 | !*.[Cc]ache/
185 |
186 | # Others
187 | ClientBin/
188 | ~$*
189 | *~
190 | *.dbmdl
191 | *.dbproj.schemaview
192 | *.jfm
193 | *.pfx
194 | *.publishsettings
195 | node_modules/
196 | orleans.codegen.cs
197 |
198 | # Since there are multiple workflows, uncomment next line to ignore bower_components
199 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
200 | #bower_components/
201 |
202 | # RIA/Silverlight projects
203 | Generated_Code/
204 |
205 | # Backup & report files from converting an old project file
206 | # to a newer Visual Studio version. Backup files are not needed,
207 | # because we have git ;-)
208 | _UpgradeReport_Files/
209 | Backup*/
210 | UpgradeLog*.XML
211 | UpgradeLog*.htm
212 |
213 | # SQL Server files
214 | *.mdf
215 | *.ldf
216 |
217 | # Business Intelligence projects
218 | *.rdl.data
219 | *.bim.layout
220 | *.bim_*.settings
221 |
222 | # Microsoft Fakes
223 | FakesAssemblies/
224 |
225 | # GhostDoc plugin setting file
226 | *.GhostDoc.xml
227 |
228 | # Node.js Tools for Visual Studio
229 | .ntvs_analysis.dat
230 |
231 | # Visual Studio 6 build log
232 | *.plg
233 |
234 | # Visual Studio 6 workspace options file
235 | *.opt
236 |
237 | # Visual Studio LightSwitch build output
238 | **/*.HTMLClient/GeneratedArtifacts
239 | **/*.DesktopClient/GeneratedArtifacts
240 | **/*.DesktopClient/ModelManifest.xml
241 | **/*.Server/GeneratedArtifacts
242 | **/*.Server/ModelManifest.xml
243 | _Pvt_Extensions
244 |
245 | # Paket dependency manager
246 | .paket/paket.exe
247 | paket-files/
248 |
249 | # FAKE - F# Make
250 | .fake/
251 |
252 | # JetBrains Rider
253 | .idea/
254 | *.sln.iml
255 |
256 | # CodeRush
257 | .cr/
258 |
259 | # Python Tools for Visual Studio (PTVS)
260 | __pycache__/
261 | *.pyc
--------------------------------------------------------------------------------
/IconLib/IconLib.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Debug
4 | AnyCPU
5 | 8.0.50727
6 | 2.0
7 | {CE53747F-D2E6-4E1E-9EF4-A0AE02671B1D}
8 | Library
9 | Properties
10 | IconLib
11 | IconLib
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | v2.0
21 |
22 |
23 |
24 |
25 | 2.0
26 |
27 |
28 | true
29 | full
30 | false
31 | bin\Debug\
32 | DEBUG;TRACE
33 | prompt
34 | 4
35 | true
36 |
37 |
38 | pdbonly
39 | true
40 | bin\Release\
41 | TRACE
42 | prompt
43 | 4
44 | true
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 | True
84 | True
85 | Resource.resx
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 | Designer
95 | ResXFileCodeGenerator
96 | Resource.Designer.cs
97 |
98 |
99 |
100 |
101 |
102 |
103 |
110 |
--------------------------------------------------------------------------------
/Appacker/IniSettingsProvider.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Globalization;
4 | using System.IO;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using IniParser;
9 | using IniParser.Model;
10 |
11 | namespace Appacker
12 | {
13 | internal static class IniSettingsProvider
14 | {
15 | [Flags]
16 | internal enum IniLocationFlags { Local = 1, AppData = 2 };
17 | readonly private static string appDataFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Appacker");
18 | readonly static string appDataPath = Path.Combine(appDataFolder, "Appacker.ini");
19 | readonly static string localIniFileName = "Appacker.ini";
20 |
21 | private static IniData data;
22 | private static FileIniDataParser parser = new FileIniDataParser();
23 | private static IniLocationFlags iniLocation;
24 |
25 | internal static bool isLocalIniFilePresent => iniLocation.HasFlag(IniLocationFlags.Local);
26 | internal static bool isAppDataIniFilePresent => iniLocation.HasFlag(IniLocationFlags.AppData);
27 |
28 | static IniSettingsProvider ()
29 | {
30 | if (File.Exists(appDataPath))
31 | iniLocation |= IniLocationFlags.AppData;
32 |
33 | if (File.Exists(localIniFileName))
34 | iniLocation |= IniLocationFlags.Local;
35 |
36 | if (iniLocation.HasFlag(IniLocationFlags.Local))
37 | data = parser.ReadFile(localIniFileName);
38 | else if (iniLocation.HasFlag(IniLocationFlags.AppData))
39 | data = parser.ReadFile(appDataPath);
40 | }
41 |
42 | public static Settings ReadIniSettings ()
43 | {
44 | if (data != null)
45 | {
46 | Settings settings = new Settings();
47 |
48 | settings.language = data["General"]["Language"];
49 |
50 | bool.TryParse(data["AdvancedOptions"]["SelfRepack"], out settings.isRepackable);
51 | Enum.TryParse(data["AdvancedOptions"]["UnpackDirectory"], out settings.unpackDirectory);
52 | bool.TryParse(data["AdvancedOptions"]["OpenUnpackDirectory"], out settings.openUnpackDirectory);
53 | settings.launchArguments = data["AdvancedOptions"]["CmdArguments"];
54 | settings.customFileDescription = data["AdvancedOptions"]["FileDescription"];
55 | bool.TryParse(data["AdvancedOptions"]["WindowlessUnpacker"], out settings.isWindowless);
56 | bool.TryParse(data["AdvancedOptions"]["SplashScreenProgressBar"], out settings.isSplashProgressBarEnabled);
57 |
58 | int.TryParse(data["Window"]["PositionTop"], out settings.positionTop);
59 | int.TryParse(data["Window"]["PositionLeft"], out settings.positionLeft);
60 | int.TryParse(data["Window"]["Width"], out settings.width);
61 | int.TryParse(data["Window"]["Height"], out settings.height);
62 |
63 | return settings;
64 | }
65 |
66 | return null;
67 | }
68 |
69 | public static void SaveIniFile (Settings settings, IniLocationFlags location)
70 | {
71 | IniData data = new IniData();
72 |
73 | data.Sections.AddSection("General");
74 | data["General"].AddKey("Language", settings.language);
75 |
76 | data.Sections.AddSection("AdvancedOptions");
77 | data["AdvancedOptions"].AddKey("SelfRepack", settings.isRepackable.ToString());
78 | data["AdvancedOptions"].AddKey("UnpackDirectory", settings.unpackDirectory.ToString());
79 | data["AdvancedOptions"].AddKey("OpenUnpackDirectory", settings.openUnpackDirectory.ToString());
80 | data["AdvancedOptions"].AddKey("CmdArguments", settings.launchArguments);
81 | data["AdvancedOptions"].AddKey("FileDescription", settings.customFileDescription);
82 | data["AdvancedOptions"].AddKey("WindowlessUnpacker", settings.isWindowless.ToString());
83 | data["AdvancedOptions"].AddKey("SplashScreenProgressBar", settings.isSplashProgressBarEnabled.ToString());
84 |
85 | data.Sections.AddSection("Window");
86 | data["Window"].AddKey("PositionTop", settings.positionTop.ToString());
87 | data["Window"].AddKey("PositionLeft", settings.positionLeft.ToString());
88 | data["Window"].AddKey("Width", settings.width.ToString());
89 | data["Window"].AddKey("Height", settings.height.ToString());
90 |
91 | if (location.HasFlag(IniLocationFlags.Local))
92 | {
93 | parser.WriteFile(localIniFileName, data);
94 | iniLocation |= IniLocationFlags.Local;
95 | }
96 | else if (location.HasFlag(IniLocationFlags.AppData))
97 | {
98 | if (!Directory.Exists(appDataFolder))
99 | Directory.CreateDirectory(appDataFolder);
100 |
101 | parser.WriteFile(appDataPath, data);
102 | iniLocation |= IniLocationFlags.AppData;
103 | }
104 | }
105 |
106 | public static void DeleteIniFile (IniLocationFlags location)
107 | {
108 | if (location.HasFlag(IniLocationFlags.Local))
109 | {
110 | if (File.Exists(localIniFileName))
111 | File.Delete(localIniFileName);
112 | iniLocation &= ~IniLocationFlags.Local;
113 | }
114 |
115 | if (location.HasFlag(IniLocationFlags.AppData))
116 | {
117 | if (File.Exists(appDataPath))
118 | File.Delete(appDataPath);
119 | iniLocation &= ~IniLocationFlags.AppData;
120 | }
121 | }
122 |
123 | }
124 | }
125 |
--------------------------------------------------------------------------------
/ProgressBarSplash/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/BitmapEncoders/ImageEncoder.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.IO;
21 | using System.Text;
22 | using System.Collections.Generic;
23 | using System.Runtime.InteropServices;
24 |
25 | namespace System.Drawing.IconLib.BitmapEncoders
26 | {
27 | [Author("Franco, Gustavo")]
28 | internal abstract class ImageEncoder
29 | {
30 | #region Variables Declaration
31 | protected BITMAPINFOHEADER mHeader;
32 | protected RGBQUAD[] mColors;
33 | protected byte[] mXOR;
34 | protected byte[] mAND;
35 | #endregion
36 |
37 | #region Constructors
38 | protected ImageEncoder()
39 | {
40 | }
41 | #endregion
42 |
43 | #region Properties
44 | public unsafe virtual Icon Icon
45 | {
46 | get
47 | {
48 | MemoryStream ms = new MemoryStream();
49 |
50 | // ICONDIR
51 | ICONDIR iconDir = ICONDIR.Initalizated;
52 | iconDir.idCount = 1;
53 | iconDir.Write(ms);
54 |
55 | // ICONDIRENTRY
56 | ICONDIRENTRY iconEntry = new ICONDIRENTRY();
57 | iconEntry.bColorCount = (byte) mHeader.biClrUsed;
58 | iconEntry.bHeight = (byte) (mHeader.biHeight / 2);
59 | iconEntry.bReserved = 0;
60 | iconEntry.bWidth = (byte) mHeader.biWidth;
61 | iconEntry.dwBytesInRes = (uint) (sizeof(BITMAPINFOHEADER) +
62 | sizeof(RGBQUAD) * ColorsInPalette +
63 | mXOR.Length + mAND.Length);
64 | iconEntry.dwImageOffset = (uint) (sizeof(ICONDIR) + sizeof(ICONDIRENTRY));
65 | iconEntry.wBitCount = mHeader.biBitCount;
66 | iconEntry.wPlanes = mHeader.biPlanes;
67 | iconEntry.Write(ms);
68 |
69 | // Image Info Header
70 | ms.Seek(iconEntry.dwImageOffset, SeekOrigin.Begin);
71 | mHeader.Write(ms);
72 |
73 | // Image Palette
74 | byte[] buffer = new byte[sizeof(RGBQUAD) * ColorsInPalette];
75 | GCHandle handle = GCHandle.Alloc(mColors, GCHandleType.Pinned);
76 | Marshal.Copy(handle.AddrOfPinnedObject(), buffer, 0, buffer.Length);
77 | handle.Free();
78 | ms.Write(buffer, 0, buffer.Length);
79 |
80 | // Image XOR Image
81 | ms.Write(mXOR, 0, mXOR.Length);
82 |
83 | // Image AND Image
84 | ms.Write(mAND, 0, mAND.Length);
85 |
86 | // Rewind the stream
87 | ms.Position = 0;
88 | Icon icon = new Icon(ms, iconEntry.bWidth, iconEntry.bHeight);
89 | ms.Dispose();
90 | return icon;
91 | }
92 | }
93 |
94 | public virtual BITMAPINFOHEADER Header
95 | {
96 | get {return mHeader;}
97 | set {mHeader = value;}
98 | }
99 |
100 | public virtual RGBQUAD[] Colors
101 | {
102 | get {return mColors;}
103 | set {mColors = value;}
104 | }
105 |
106 | public virtual byte[] XOR
107 | {
108 | get {return mXOR;}
109 | set
110 | {
111 | mHeader.biSizeImage = (uint) value.Length;
112 | mXOR = value;
113 | }
114 | }
115 |
116 | public virtual byte[] AND
117 | {
118 | get {return mAND;}
119 | set {mAND = value;}
120 | }
121 |
122 | public unsafe virtual int ColorsInPalette
123 | {
124 | get
125 | {
126 | return (int) (mHeader.biClrUsed != 0 ?
127 | mHeader.biClrUsed :
128 | mHeader.biBitCount <=8 ?
129 | (uint) (1 << mHeader.biBitCount) : 0);
130 | }
131 | }
132 |
133 | public unsafe virtual int ImageSize
134 | {
135 | get{return sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * ColorsInPalette + mXOR.Length + mAND.Length;}
136 | }
137 |
138 | public abstract IconImageFormat IconImageFormat
139 | {
140 | get;
141 | }
142 | #endregion
143 |
144 | #region Abstract Methods
145 | public abstract void Read(Stream stream, int resourceSize);
146 | public abstract void Write(Stream stream);
147 | #endregion
148 |
149 | #region Methods
150 | public void CopyFrom(ImageEncoder encoder)
151 | {
152 | this.mHeader = encoder.mHeader;
153 | this.mColors = encoder.mColors;
154 | this.mXOR = encoder.mXOR;
155 | this.mAND = encoder.mAND;
156 | }
157 | #endregion
158 | }
159 | }
160 |
--------------------------------------------------------------------------------
/Appacker/ToolsStorage.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace Appacker {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class ToolsStorage {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal ToolsStorage() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Appacker.ToolsStorage", typeof(ToolsStorage).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized resource of type System.Byte[].
65 | ///
66 | internal static byte[] mfc80 {
67 | get {
68 | object obj = ResourceManager.GetObject("mfc80", resourceCulture);
69 | return ((byte[])(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// Looks up a localized resource of type System.Byte[].
75 | ///
76 | internal static byte[] Microsoft_VC80_MFC {
77 | get {
78 | object obj = ResourceManager.GetObject("Microsoft_VC80_MFC", resourceCulture);
79 | return ((byte[])(obj));
80 | }
81 | }
82 |
83 | ///
84 | /// Looks up a localized resource of type System.Byte[].
85 | ///
86 | internal static byte[] Packer {
87 | get {
88 | object obj = ResourceManager.GetObject("Packer", resourceCulture);
89 | return ((byte[])(obj));
90 | }
91 | }
92 |
93 | ///
94 | /// Looks up a localized resource of type System.Byte[].
95 | ///
96 | internal static byte[] ProgressBarSplash {
97 | get {
98 | object obj = ResourceManager.GetObject("ProgressBarSplash", resourceCulture);
99 | return ((byte[])(obj));
100 | }
101 | }
102 |
103 | ///
104 | /// Looks up a localized resource of type System.Byte[].
105 | ///
106 | internal static byte[] Unpacker {
107 | get {
108 | object obj = ResourceManager.GetObject("Unpacker", resourceCulture);
109 | return ((byte[])(obj));
110 | }
111 | }
112 |
113 | ///
114 | /// Looks up a localized resource of type System.Byte[].
115 | ///
116 | internal static byte[] UnpackerWindowless {
117 | get {
118 | object obj = ResourceManager.GetObject("UnpackerWindowless", resourceCulture);
119 | return ((byte[])(obj));
120 | }
121 | }
122 |
123 | ///
124 | /// Looks up a localized resource of type System.Byte[].
125 | ///
126 | internal static byte[] VerInfoLib {
127 | get {
128 | object obj = ResourceManager.GetObject("VerInfoLib", resourceCulture);
129 | return ((byte[])(obj));
130 | }
131 | }
132 |
133 | ///
134 | /// Looks up a localized resource of type System.Byte[].
135 | ///
136 | internal static byte[] VerInfoLibDLL {
137 | get {
138 | object obj = ResourceManager.GetObject("VerInfoLibDLL", resourceCulture);
139 | return ((byte[])(obj));
140 | }
141 | }
142 | }
143 | }
144 |
--------------------------------------------------------------------------------
/ProgressBarSplash/ProgressBarSplash.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {302DAC96-8B41-466B-B86C-CB5DA71F0D1B}
8 | WinExe
9 | ProgressBarSplash
10 | ProgressBarSplash
11 | v4.7
12 | 512
13 | true
14 |
15 |
16 |
17 |
18 | AnyCPU
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 4
26 |
27 |
28 | AnyCPU
29 | pdbonly
30 | true
31 | bin\Release\
32 | TRACE
33 | prompt
34 | 4
35 |
36 |
37 |
38 | ..\packages\Costura.Fody.2.0.0\lib\net452\Costura.dll
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | ..\packages\XDMessaging.Lite.5.0.6\lib\net452\XDMessaging.Lite.dll
53 |
54 |
55 |
56 |
57 | Form
58 |
59 |
60 | LoadingForm.cs
61 |
62 |
63 |
64 |
65 | LoadingForm.cs
66 |
67 |
68 | LoadingForm.cs
69 |
70 |
71 | ResXFileCodeGenerator
72 | Resources.Designer.cs
73 | Designer
74 |
75 |
76 | True
77 | Resources.resx
78 |
79 |
80 |
81 | SettingsSingleFileGenerator
82 | Settings.Designer.cs
83 |
84 |
85 | True
86 | Settings.settings
87 | True
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 | Designer
96 |
97 |
98 |
99 |
100 |
101 |
102 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/LibraryFormats/IconFormat.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.IO;
21 | using System.Text;
22 | using System.Collections.Generic;
23 | using System.Runtime.InteropServices;
24 | using System.Drawing.IconLib.Exceptions;
25 |
26 | namespace System.Drawing.IconLib.EncodingFormats
27 | {
28 | [Author("Franco, Gustavo")]
29 | internal class IconFormat : ILibraryFormat
30 | {
31 | #region Methods
32 | public bool IsRecognizedFormat(Stream stream)
33 | {
34 | stream.Position = 0;
35 | try
36 | {
37 | ICONDIR iconDir = new ICONDIR(stream);
38 | if (iconDir.idReserved != 0)
39 | return false;
40 |
41 | if (iconDir.idType != 1)
42 | return false;
43 |
44 | return true;
45 |
46 | }
47 | catch(Exception){}
48 | return false;
49 | }
50 |
51 | public unsafe MultiIcon Load(Stream stream)
52 | {
53 | stream.Position = 0;
54 | SingleIcon singleIcon = new SingleIcon("Untitled");
55 | ICONDIR iconDir = new ICONDIR(stream);
56 | if (iconDir.idReserved != 0)
57 | throw new InvalidMultiIconFileException();
58 |
59 | if (iconDir.idType != 1)
60 | throw new InvalidMultiIconFileException();
61 |
62 | int entryOffset = sizeof(ICONDIR);
63 |
64 | // Add Icon Images one by one to the new entry created
65 | for(int i=0; i> 3;
130 | int BWSize = BWStride * entry.bHeight;
131 | bmpSize -= BWSize;
132 |
133 | // Lets find the value;
134 | byte[] bpp = {1, 4, 8, 16, 24, 32};
135 | int j=0;
136 | while(j<=5)
137 | {
138 | stride = ((entry.bWidth * bpp[j] + 31) & ~31) >> 3;
139 | CLSSize = entry.bHeight * stride ;
140 | palette = bpp[j]<=8 ? ((int) (1 << bpp[j]) * 4) : 0;
141 | if (palette + CLSSize == bmpSize)
142 | {
143 | entry.wBitCount = bpp[j];
144 | break;
145 | }
146 | j++;
147 | }
148 | }
149 |
150 | if (entry.wBitCount < 8 && entry.bColorCount == 0)
151 | entry.bColorCount = (byte) (1 << entry.wBitCount);
152 | if (entry.wPlanes == 0)
153 | entry.wPlanes = 1;
154 |
155 | return entry;
156 | }
157 | #endregion
158 | }
159 | }
160 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Resource.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\..\..\Resources\EmptyDll.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
123 |
124 |
--------------------------------------------------------------------------------
/Appacker/AdvancedOptionsForm.cs:
--------------------------------------------------------------------------------
1 | using RavSoft;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.ComponentModel;
5 | using System.Data;
6 | using System.Drawing;
7 | using System.IO;
8 | using System.Linq;
9 | using System.Text;
10 | using System.Threading.Tasks;
11 | using System.Windows.Forms;
12 |
13 | namespace Appacker
14 | {
15 | public partial class AdvancedOptionsForm : Form
16 | {
17 | MainForm mainForm = null;
18 |
19 | public AdvancedOptionsForm(MainForm mainForm)
20 | {
21 | InitializeComponent();
22 | this.mainForm = mainForm;
23 |
24 | checkRepackable.Checked = mainForm.isRepackable;
25 | checkOpenUnpackFolder.Checked = mainForm.openUnpackDirectory;
26 | if (mainForm.unpackDirectory == MainForm.UnpackDirectory.Desktop)
27 | comboUnpackDir.SelectedIndex = 1;
28 | else if (mainForm.unpackDirectory == MainForm.UnpackDirectory.NextToPackedExe)
29 | comboUnpackDir.SelectedIndex = 2;
30 | else if (mainForm.unpackDirectory == MainForm.UnpackDirectory.AskAtLaunch)
31 | comboUnpackDir.SelectedIndex = 3;
32 | else
33 | comboUnpackDir.SelectedIndex = 0;
34 |
35 | txtArguments.Text = mainForm.launchArguments;
36 | txtFileDescription.Text = mainForm.customFileDescription;
37 | txtPassword.Text = mainForm.password;
38 | checkWindowless.Checked = mainForm.isWindowlessUnpacker;
39 | checkUnpackProgressBar.Checked = mainForm.isUnpackProgressBarEnabled;
40 |
41 | SetRepackDescription();
42 | SetWindowlessDescription();
43 | SetProgressBarDescription();
44 | SetCueBanners();
45 | UpdateSettingsFileDescriptions();
46 | }
47 |
48 | private void SetRepackDescription() => labRepackableDescr.Text = checkRepackable.Checked ? Resources.Strings.repackOnDescr : Resources.Strings.repackOffDescr;
49 | private void SetWindowlessDescription() => labWindowlessDescription.Text = checkWindowless.Checked ? Resources.Strings.windowlessOnDescr : Resources.Strings.windowlessOffDescr;
50 | private void SetProgressBarDescription() => labProgressBarDescription.Text = checkUnpackProgressBar.Checked ? Resources.Strings.unpackProgressBarOnDescr : Resources.Strings.unpackProgressBarOffDescr;
51 |
52 | private void SetCueBanners ()
53 | {
54 | CueProvider.SetCue(txtPassword, Resources.Strings.cuePassword);
55 | CueProvider.SetCue(txtFileDescription, Resources.Strings.cueFileDescription);
56 | CueProvider.SetCue(txtFileDescription, Resources.Strings.cueFileDescription);
57 | }
58 |
59 | private void UpdateSettingsFileDescriptions()
60 | {
61 | if (IniSettingsProvider.isLocalIniFilePresent)
62 | labIniDescription.Text = Resources.Strings.iniDescriptionLocal;
63 | else if (IniSettingsProvider.isAppDataIniFilePresent)
64 | labIniDescription.Text = Resources.Strings.iniDescriptionAppData;
65 | else
66 | labIniDescription.Text = Resources.Strings.iniDescriptionDefault;
67 |
68 | labAppDataIniDetected.Visible = linkAppDataIniDelete.Visible = IniSettingsProvider.isAppDataIniFilePresent;
69 | btnSaveIniAppData.Enabled = labAppDataIniDescription.Visible = !IniSettingsProvider.isAppDataIniFilePresent;
70 | labLocalIniDetected.Visible = linkLocalIniDelete.Visible = IniSettingsProvider.isLocalIniFilePresent;
71 | btnSaveLocalIni.Enabled = labLocalIniDescription.Visible = !IniSettingsProvider.isLocalIniFilePresent;
72 | }
73 |
74 | // Save options to the main form before closing
75 | private void AdvancedOptionsForm_FormClosing (object sender, FormClosingEventArgs e) => SaveSettings();
76 |
77 | private void SaveSettings ()
78 | {
79 | mainForm.isRepackable = checkRepackable.Checked;
80 | mainForm.openUnpackDirectory = checkOpenUnpackFolder.Checked;
81 | mainForm.unpackDirectory = comboUnpackDir.SelectedIndex == 1
82 | ? MainForm.UnpackDirectory.Desktop : comboUnpackDir.SelectedIndex == 2
83 | ? MainForm.UnpackDirectory.NextToPackedExe : comboUnpackDir.SelectedIndex == 3
84 | ? MainForm.UnpackDirectory.AskAtLaunch
85 | : MainForm.UnpackDirectory.Temp;
86 | mainForm.launchArguments = txtArguments.Text;
87 | mainForm.customFileDescription = txtFileDescription.Text;
88 | mainForm.password = txtPassword.Text;
89 | mainForm.isWindowlessUnpacker = checkWindowless.Checked;
90 | mainForm.isUnpackProgressBarEnabled = checkUnpackProgressBar.Checked;
91 | }
92 |
93 | private void checkRepackable_CheckedChanged(object sender, EventArgs e) => SetRepackDescription();
94 | private void checkWindowless_CheckedChanged (object sender, EventArgs e) => SetWindowlessDescription();
95 | private void checkUnpackProgressBar_CheckedChanged (object sender, EventArgs e) => SetProgressBarDescription();
96 |
97 | private void btnSaveLocalIni_Click (object sender, EventArgs e)
98 | {
99 | SaveSettings();
100 | mainForm.SaveLocalIniSettings();
101 | UpdateSettingsFileDescriptions();
102 | }
103 |
104 | private void btnSaveIniAppData_Click (object sender, EventArgs e)
105 | {
106 | SaveSettings();
107 | mainForm.SaveAppDataIniSettings();
108 | UpdateSettingsFileDescriptions();
109 | }
110 |
111 | private void btnClose_Click (object sender, EventArgs e) => this.Close();
112 |
113 | private void btnPassEye_Click (object sender, EventArgs e)
114 | {
115 | txtPassword.UseSystemPasswordChar = !txtPassword.UseSystemPasswordChar;
116 | SetCueBanners();
117 | btnPassEye.Image = txtPassword.UseSystemPasswordChar ? Properties.Resources.eye_14 : Properties.Resources.eye_red_14;
118 | }
119 |
120 | private void linkAppDataIniDelete_LinkClicked (object sender, LinkLabelLinkClickedEventArgs e)
121 | {
122 | IniSettingsProvider.DeleteIniFile(IniSettingsProvider.IniLocationFlags.AppData);
123 | UpdateSettingsFileDescriptions();
124 | }
125 |
126 | private void linkLocalIniDelete_LinkClicked (object sender, LinkLabelLinkClickedEventArgs e)
127 | {
128 | IniSettingsProvider.DeleteIniFile(IniSettingsProvider.IniLocationFlags.Local);
129 | UpdateSettingsFileDescriptions();
130 | }
131 | }
132 | }
133 |
--------------------------------------------------------------------------------
/IconLib/System/Drawing/IconLib/Win32.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Text;
21 | using System.Collections.Generic;
22 | using System.Runtime.InteropServices;
23 |
24 | namespace System.Drawing.IconLib
25 | {
26 | [Author("Franco, Gustavo")]
27 | internal class Win32
28 | {
29 | #region DELEGATES
30 | public delegate Int32 EnumResTypeProc(IntPtr hModule, IntPtr lpszType, IntPtr lParam);
31 | public delegate bool EnumResNameProc(IntPtr hModule, IntPtr pType, IntPtr pName, IntPtr param);
32 | #endregion
33 |
34 | #region KERNEL32
35 | [DllImport("KERNEL32.DLL")]
36 | public unsafe static extern void CopyMemory(void* dest, void* src, int length);
37 | [DllImport("kernel32.dll", SetLastError=true)]
38 | public static extern IntPtr BeginUpdateResource(string pFileName, bool bDeleteExistingResources);
39 | [DllImport("kernel32.dll", SetLastError=true)]
40 | public static extern bool EndUpdateResource(IntPtr hUpdate, bool fDiscard);
41 | [DllImport("kernel32.dll", SetLastError=true)]
42 | public static extern bool UpdateResource(IntPtr hUpdate, uint lpType, ref string pName, ushort wLanguage, byte[] lpData, uint cbData);
43 | [DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Ansi)]
44 | public static extern bool UpdateResource(IntPtr hUpdate, uint lpType, IntPtr pName, ushort wLanguage, byte[] lpData, uint cbData);
45 | [DllImport("kernel32.dll", SetLastError=true)]
46 | public unsafe static extern bool UpdateResource(IntPtr hUpdate, uint lpType, byte[] pName, ushort wLanguage, byte[] lpData, uint cbData);
47 | [DllImport("kernel32.dll", SetLastError=true)]
48 | public static extern bool UpdateResource(IntPtr hUpdate, uint lpType, uint lpName, ushort wLanguage, byte[] lpData, uint cbData);
49 | [DllImport("kernel32.dll", EntryPoint="RtlMoveMemory")]
50 | public unsafe static extern void CopyMemory(RGBQUAD* dest, byte* src, int cb);
51 | [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
52 | public static extern int SizeofResource(IntPtr hModule, IntPtr hResource);
53 | [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
54 | public static extern int FreeLibrary(IntPtr hModule);
55 | [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
56 | public static extern IntPtr LockResource(IntPtr hGlobalResource);
57 | [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
58 | public static extern IntPtr LoadResource(IntPtr hModule, IntPtr hResource);
59 | [DllImport("Kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
60 | public static extern bool EnumResourceNames(IntPtr hModule, IntPtr pType, EnumResNameProc callback, IntPtr param);
61 | [DllImport("kernel32.dll", SetLastError=true)]
62 | public static extern bool EnumResourceTypes(IntPtr hModule, EnumResTypeProc callback, IntPtr lParam);
63 | [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
64 | public static extern IntPtr FindResource(IntPtr hModule, string resourceID, IntPtr type);
65 | [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
66 | public static extern IntPtr FindResource(IntPtr hModule, Int32 resourceID, IntPtr type);
67 | [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
68 | public static extern IntPtr FindResource(IntPtr hModule, IntPtr resourceID, IntPtr type);
69 | [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
70 | public static extern IntPtr FindResource(IntPtr hModule, IntPtr resourceID, string resourceName);
71 | [DllImport("kernel32.dll")]
72 | public static extern IntPtr LoadLibrary(string libraryName);
73 | [DllImport("kernel32.dll", CharSet=CharSet.Auto)]
74 | public static extern IntPtr LoadLibraryEx(string path, IntPtr hFile, LoadLibraryFlags flags);
75 | #endregion
76 |
77 | #region GDI32
78 | [DllImport("gdi32.dll")]
79 | public static extern bool MaskBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth,
80 | int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, IntPtr hbmMask, int xMask,
81 | int yMask, uint dwRop);
82 | [DllImport("gdi32.dll")]
83 | public static extern int SetBkColor(IntPtr hDC, uint crColor);
84 | [DllImport("gdi32.dll", CharSet=CharSet.Auto)]
85 | public static extern bool BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, PatBltTypes dwRop);
86 | [DllImport("gdi32.dll", CharSet=CharSet.Auto)]
87 | public static extern IntPtr CreateCompatibleDC(IntPtr hDC);
88 | [DllImport("gdi32.dll", CharSet=CharSet.Auto)]
89 | public static extern IntPtr CreateDIBSection(IntPtr hdc, [In] ref BITMAPINFO pbmi, uint iUsage, out IntPtr ppvBits, IntPtr hSection, uint dwOffset);
90 | [DllImport("gdi32.dll", CharSet=CharSet.Auto)]
91 | public static extern IntPtr DeleteDC(IntPtr hDC);
92 | [DllImport("gdi32.dll", CharSet=CharSet.Auto)]
93 | public static extern bool DeleteObject(IntPtr hObject);
94 | [DllImport("gdi32.dll", CharSet=CharSet.Auto)]
95 | public static extern IntPtr SelectObject(IntPtr hDC, IntPtr hObject);
96 | [DllImport("gdi32.dll")]
97 | static public extern IntPtr CreateCompatibleBitmap(IntPtr hDC, int Width, int Heigth);
98 | #endregion
99 |
100 | #region USER32
101 | [DllImport("user32.dll", CharSet=CharSet.Auto)]
102 | public static extern bool GetIconInfo(IntPtr hIcon, out ICONINFO piconinfo);
103 | [DllImport("user32.dll", CharSet=CharSet.Auto)]
104 | public static extern IntPtr GetDC(IntPtr hWnd);
105 | [DllImport("user32.dll", CharSet=CharSet.Auto)]
106 | public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
107 | #endregion
108 |
109 | #region MACROS
110 | public static bool IS_INTRESOURCE(IntPtr value)
111 | {
112 | if (((uint) value) > ushort.MaxValue)
113 | return false;
114 | return true;
115 | }
116 |
117 | public static bool IS_INTRESOURCE(string value)
118 | {
119 | int iResult;
120 | return int.TryParse(value, out iResult);
121 | }
122 |
123 | public static int MAKEINTRESOURCE(int resource)
124 | {
125 | return 0x0000FFFF & resource;
126 | }
127 | #endregion
128 | }
129 | }
130 |
--------------------------------------------------------------------------------
/Appacker/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace Appacker.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Appacker.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized resource of type System.Drawing.Bitmap.
65 | ///
66 | internal static System.Drawing.Bitmap close_icon {
67 | get {
68 | object obj = ResourceManager.GetObject("close_icon", resourceCulture);
69 | return ((System.Drawing.Bitmap)(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// Looks up a localized resource of type System.Drawing.Bitmap.
75 | ///
76 | internal static System.Drawing.Bitmap eye_14 {
77 | get {
78 | object obj = ResourceManager.GetObject("eye_14", resourceCulture);
79 | return ((System.Drawing.Bitmap)(obj));
80 | }
81 | }
82 |
83 | ///
84 | /// Looks up a localized resource of type System.Drawing.Bitmap.
85 | ///
86 | internal static System.Drawing.Bitmap eye_red_14 {
87 | get {
88 | object obj = ResourceManager.GetObject("eye_red_14", resourceCulture);
89 | return ((System.Drawing.Bitmap)(obj));
90 | }
91 | }
92 |
93 | ///
94 | /// Looks up a localized resource of type System.Drawing.Bitmap.
95 | ///
96 | internal static System.Drawing.Bitmap flag_great_britain_30 {
97 | get {
98 | object obj = ResourceManager.GetObject("flag_great_britain_30", resourceCulture);
99 | return ((System.Drawing.Bitmap)(obj));
100 | }
101 | }
102 |
103 | ///
104 | /// Looks up a localized resource of type System.Drawing.Bitmap.
105 | ///
106 | internal static System.Drawing.Bitmap flag_russian_federation_30 {
107 | get {
108 | object obj = ResourceManager.GetObject("flag_russian_federation_30", resourceCulture);
109 | return ((System.Drawing.Bitmap)(obj));
110 | }
111 | }
112 |
113 | ///
114 | /// Looks up a localized resource of type System.Drawing.Bitmap.
115 | ///
116 | internal static System.Drawing.Bitmap info_16 {
117 | get {
118 | object obj = ResourceManager.GetObject("info_16", resourceCulture);
119 | return ((System.Drawing.Bitmap)(obj));
120 | }
121 | }
122 |
123 | ///
124 | /// Looks up a localized resource of type System.Drawing.Bitmap.
125 | ///
126 | internal static System.Drawing.Bitmap open_box_icon {
127 | get {
128 | object obj = ResourceManager.GetObject("open_box_icon", resourceCulture);
129 | return ((System.Drawing.Bitmap)(obj));
130 | }
131 | }
132 |
133 | ///
134 | /// Looks up a localized resource of type System.Drawing.Bitmap.
135 | ///
136 | internal static System.Drawing.Bitmap password_16 {
137 | get {
138 | object obj = ResourceManager.GetObject("password_16", resourceCulture);
139 | return ((System.Drawing.Bitmap)(obj));
140 | }
141 | }
142 |
143 | ///
144 | /// Looks up a localized resource of type System.Drawing.Bitmap.
145 | ///
146 | internal static System.Drawing.Bitmap red_warning_16 {
147 | get {
148 | object obj = ResourceManager.GetObject("red_warning_16", resourceCulture);
149 | return ((System.Drawing.Bitmap)(obj));
150 | }
151 | }
152 |
153 | ///
154 | /// Looks up a localized resource of type System.Drawing.Bitmap.
155 | ///
156 | internal static System.Drawing.Bitmap tune_16 {
157 | get {
158 | object obj = ResourceManager.GetObject("tune_16", resourceCulture);
159 | return ((System.Drawing.Bitmap)(obj));
160 | }
161 | }
162 | }
163 | }
164 |
--------------------------------------------------------------------------------
/Appacker/AboutForm.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Appacker
2 | {
3 | partial class AboutForm
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm));
32 | this.btnDismiss = new System.Windows.Forms.Button();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.linkIconsCredit = new System.Windows.Forms.LinkLabel();
35 | this.pictureBox1 = new System.Windows.Forms.PictureBox();
36 | this.label2 = new System.Windows.Forms.Label();
37 | this.labVersion = new System.Windows.Forms.Label();
38 | this.label6 = new System.Windows.Forms.Label();
39 | this.label8 = new System.Windows.Forms.Label();
40 | this.linkGithub = new System.Windows.Forms.LinkLabel();
41 | this.label7 = new System.Windows.Forms.Label();
42 | this.linkIconsCredit2 = new System.Windows.Forms.LinkLabel();
43 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
44 | this.SuspendLayout();
45 | //
46 | // btnDismiss
47 | //
48 | resources.ApplyResources(this.btnDismiss, "btnDismiss");
49 | this.btnDismiss.Name = "btnDismiss";
50 | this.btnDismiss.UseVisualStyleBackColor = true;
51 | this.btnDismiss.Click += new System.EventHandler(this.btnDismiss_Click);
52 | //
53 | // label1
54 | //
55 | resources.ApplyResources(this.label1, "label1");
56 | this.label1.Name = "label1";
57 | //
58 | // linkIconsCredit
59 | //
60 | resources.ApplyResources(this.linkIconsCredit, "linkIconsCredit");
61 | this.linkIconsCredit.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
62 | this.linkIconsCredit.Name = "linkIconsCredit";
63 | this.linkIconsCredit.TabStop = true;
64 | this.linkIconsCredit.VisitedLinkColor = System.Drawing.Color.Indigo;
65 | this.linkIconsCredit.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkIconsCredit_LinkClicked);
66 | //
67 | // pictureBox1
68 | //
69 | resources.ApplyResources(this.pictureBox1, "pictureBox1");
70 | this.pictureBox1.Image = global::Appacker.Properties.Resources.open_box_icon;
71 | this.pictureBox1.Name = "pictureBox1";
72 | this.pictureBox1.TabStop = false;
73 | //
74 | // label2
75 | //
76 | resources.ApplyResources(this.label2, "label2");
77 | this.label2.Name = "label2";
78 | //
79 | // labVersion
80 | //
81 | resources.ApplyResources(this.labVersion, "labVersion");
82 | this.labVersion.Name = "labVersion";
83 | //
84 | // label6
85 | //
86 | resources.ApplyResources(this.label6, "label6");
87 | this.label6.Name = "label6";
88 | //
89 | // label8
90 | //
91 | resources.ApplyResources(this.label8, "label8");
92 | this.label8.Name = "label8";
93 | //
94 | // linkGithub
95 | //
96 | resources.ApplyResources(this.linkGithub, "linkGithub");
97 | this.linkGithub.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
98 | this.linkGithub.Name = "linkGithub";
99 | this.linkGithub.TabStop = true;
100 | this.linkGithub.VisitedLinkColor = System.Drawing.Color.Indigo;
101 | this.linkGithub.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkGithub_LinkClicked);
102 | //
103 | // label7
104 | //
105 | resources.ApplyResources(this.label7, "label7");
106 | this.label7.Name = "label7";
107 | //
108 | // linkIconsCredit2
109 | //
110 | resources.ApplyResources(this.linkIconsCredit2, "linkIconsCredit2");
111 | this.linkIconsCredit2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
112 | this.linkIconsCredit2.Name = "linkIconsCredit2";
113 | this.linkIconsCredit2.TabStop = true;
114 | this.linkIconsCredit2.VisitedLinkColor = System.Drawing.Color.Indigo;
115 | this.linkIconsCredit2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkIconsCredit2_LinkClicked);
116 | //
117 | // AboutForm
118 | //
119 | this.AcceptButton = this.btnDismiss;
120 | resources.ApplyResources(this, "$this");
121 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
122 | this.Controls.Add(this.pictureBox1);
123 | this.Controls.Add(this.linkGithub);
124 | this.Controls.Add(this.linkIconsCredit2);
125 | this.Controls.Add(this.linkIconsCredit);
126 | this.Controls.Add(this.label2);
127 | this.Controls.Add(this.label8);
128 | this.Controls.Add(this.label6);
129 | this.Controls.Add(this.labVersion);
130 | this.Controls.Add(this.label7);
131 | this.Controls.Add(this.label1);
132 | this.Controls.Add(this.btnDismiss);
133 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
134 | this.MaximizeBox = false;
135 | this.MinimizeBox = false;
136 | this.Name = "AboutForm";
137 | this.ShowInTaskbar = false;
138 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
139 | this.ResumeLayout(false);
140 | this.PerformLayout();
141 |
142 | }
143 |
144 | #endregion
145 |
146 | private System.Windows.Forms.Button btnDismiss;
147 | private System.Windows.Forms.Label label1;
148 | private System.Windows.Forms.LinkLabel linkIconsCredit;
149 | private System.Windows.Forms.PictureBox pictureBox1;
150 | private System.Windows.Forms.Label label2;
151 | private System.Windows.Forms.Label labVersion;
152 | private System.Windows.Forms.Label label6;
153 | private System.Windows.Forms.Label label8;
154 | private System.Windows.Forms.LinkLabel linkGithub;
155 | private System.Windows.Forms.Label label7;
156 | private System.Windows.Forms.LinkLabel linkIconsCredit2;
157 | }
158 | }
--------------------------------------------------------------------------------