diff options
| author | AShifter <[email protected]> | 2018-02-12 09:10:20 -0700 |
|---|---|---|
| committer | AShifter <[email protected]> | 2018-02-12 09:10:20 -0700 |
| commit | 70d9df993db283d38f5441d0d0f47b5803020630 (patch) | |
| tree | 2b3605c76ce04d0ec7bc337d1cd70669f3920528 | |
| parent | d078e1089c8d1f0efc14c2461017ff244cc3031e (diff) | |
| download | shiftskn-rewind-70d9df993db283d38f5441d0d0f47b5803020630.tar.gz shiftskn-rewind-70d9df993db283d38f5441d0d0f47b5803020630.tar.bz2 shiftskn-rewind-70d9df993db283d38f5441d0d0f47b5803020630.zip | |
I think this one can decompile 0.0.x skins, not sure... Maybe I should
check?
24 files changed, 263 insertions, 0 deletions
diff --git a/.vs/shiftskn/v15/.suo b/.vs/shiftskn/v15/.suo Binary files differnew file mode 100644 index 0000000..b74d44e --- /dev/null +++ b/.vs/shiftskn/v15/.suo diff --git a/.vs/shiftskn/v15/sqlite3/storage.ide b/.vs/shiftskn/v15/sqlite3/storage.ide Binary files differnew file mode 100644 index 0000000..c6981e2 --- /dev/null +++ b/.vs/shiftskn/v15/sqlite3/storage.ide diff --git a/shiftskn.sln b/shiftskn.sln new file mode 100644 index 0000000..30ad150 --- /dev/null +++ b/shiftskn.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "shiftskn", "shiftskn\shiftskn.csproj", "{93CE219A-8F1F-41B6-9879-6D2ECCEBC984}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {93CE219A-8F1F-41B6-9879-6D2ECCEBC984}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {93CE219A-8F1F-41B6-9879-6D2ECCEBC984}.Debug|Any CPU.Build.0 = Debug|Any CPU + {93CE219A-8F1F-41B6-9879-6D2ECCEBC984}.Release|Any CPU.ActiveCfg = Release|Any CPU + {93CE219A-8F1F-41B6-9879-6D2ECCEBC984}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {905469C2-9FEE-4996-9A37-CEFCE34414F8} + EndGlobalSection +EndGlobal diff --git a/shiftskn/App.config b/shiftskn/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/shiftskn/App.config @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" ?> +<configuration> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> + </startup> +</configuration>
\ No newline at end of file diff --git a/shiftskn/Decode.cs b/shiftskn/Decode.cs new file mode 100644 index 0000000..4041a6a --- /dev/null +++ b/shiftskn/Decode.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.IO.Compression; +using System.Text; + +namespace shiftskn +{ + public abstract class Decode + { + public static void DecodeSkinToDir(string inputFile, string outputPath) + { + string folderName = @"\" + Path.GetFileNameWithoutExtension(inputFile); + outputPath = outputPath.TrimEnd(Path.DirectorySeparatorChar); + outputPath = outputPath + folderName; + ZipFile.ExtractToDirectory(inputFile, outputPath); + Console.WriteLine("Extracted " + Path.GetFileName(inputFile) + " to " + outputPath); + } + } +} diff --git a/shiftskn/Help.cs b/shiftskn/Help.cs new file mode 100644 index 0000000..729f51a --- /dev/null +++ b/shiftskn/Help.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace shiftskn +{ + public abstract class Help + { + public static void PrintHelp() + { + Console.WriteLine("ShiftOS Skin Decoder v1.0 - By AShifter\n"); + Console.WriteLine("args:\n" + + "decode [INPUTPATH] [OUTPUTPATH] [SKINVER] [FLAGS] | Decode a SKN file\n" + + "picpng [INPUTPATH] [(optional)OUTPUTPATH] [FLAGS] | convert a .PIC to a .PNG"); + } + } +} diff --git a/shiftskn/Pic2PNG.cs b/shiftskn/Pic2PNG.cs new file mode 100644 index 0000000..7afc57e --- /dev/null +++ b/shiftskn/Pic2PNG.cs @@ -0,0 +1,22 @@ +using System; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; + +namespace shiftskn +{ + public abstract class Pic2PNG + { + public static void Convert(string input, string output = "") + { + if (output == "" || output == null) + { + output = input; + } + Image pic = Image.FromFile(input); + output = Path.ChangeExtension(output, "png"); + pic.Save(output, ImageFormat.Png); + Console.WriteLine("Converted " + Path.GetFileName(input) + " to " + Path.GetFileName(output)); + } + } +} diff --git a/shiftskn/Program.cs b/shiftskn/Program.cs new file mode 100644 index 0000000..4631523 --- /dev/null +++ b/shiftskn/Program.cs @@ -0,0 +1,59 @@ +using System; +using System.IO; +using System.IO.Compression; + +namespace shiftskn +{ + class Program + { + static void Main(string[] args) + { + // Variable Declarations + int argsLength = args.Length; + + if (argsLength < 2) + { + ShowHelp(); + } + + if (argsLength >= 2) + { + if (args[0] == "picpng") + { + try + { + if (args.Length >= 3) + { + Pic2PNG.Convert(args[1], args[2]); + } + Pic2PNG.Convert(args[1]); + } + catch + { + ShowHelp(); + } + } + else if (args[0] == "decode") + { + try + { + Decode.DecodeSkinToDir(args[1], args[2]); + } + catch + { + ShowHelp(); + } + } + else + { + ShowHelp(); + } + } + } + + static void ShowHelp() + { + Help.PrintHelp(); + } + } +}
\ No newline at end of file diff --git a/shiftskn/Properties/AssemblyInfo.cs b/shiftskn/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..23dcf8b --- /dev/null +++ b/shiftskn/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("shiftskn")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("shiftskn")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("93ce219a-8f1f-41b6-9879-6d2eccebc984")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/shiftskn/bin/Debug/Pic2PNG b/shiftskn/bin/Debug/Pic2PNG Binary files differnew file mode 100644 index 0000000..7bc9ad9 --- /dev/null +++ b/shiftskn/bin/Debug/Pic2PNG diff --git a/shiftskn/bin/Debug/shiftskn.exe b/shiftskn/bin/Debug/shiftskn.exe Binary files differnew file mode 100644 index 0000000..511212d --- /dev/null +++ b/shiftskn/bin/Debug/shiftskn.exe diff --git a/shiftskn/bin/Debug/shiftskn.exe.config b/shiftskn/bin/Debug/shiftskn.exe.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/shiftskn/bin/Debug/shiftskn.exe.config @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" ?> +<configuration> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> + </startup> +</configuration>
\ No newline at end of file diff --git a/shiftskn/bin/Debug/shiftskn.pdb b/shiftskn/bin/Debug/shiftskn.pdb Binary files differnew file mode 100644 index 0000000..f1d5e7c --- /dev/null +++ b/shiftskn/bin/Debug/shiftskn.pdb diff --git a/shiftskn/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/shiftskn/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache Binary files differnew file mode 100644 index 0000000..ed2c5f9 --- /dev/null +++ b/shiftskn/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache diff --git a/shiftskn/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/shiftskn/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/shiftskn/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs diff --git a/shiftskn/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/shiftskn/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/shiftskn/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs diff --git a/shiftskn/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/shiftskn/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/shiftskn/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs diff --git a/shiftskn/obj/Debug/shiftskn.csproj.CoreCompileInputs.cache b/shiftskn/obj/Debug/shiftskn.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..29e34e4 --- /dev/null +++ b/shiftskn/obj/Debug/shiftskn.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +fa7e0d0b82be17d9f5a08013a6aed5589a65e7d2 diff --git a/shiftskn/obj/Debug/shiftskn.csproj.FileListAbsolute.txt b/shiftskn/obj/Debug/shiftskn.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..2dda4aa --- /dev/null +++ b/shiftskn/obj/Debug/shiftskn.csproj.FileListAbsolute.txt @@ -0,0 +1,7 @@ +E:\Documents\GitHub\shiftskn\shiftskn\bin\Debug\shiftskn.exe.config +E:\Documents\GitHub\shiftskn\shiftskn\bin\Debug\shiftskn.exe +E:\Documents\GitHub\shiftskn\shiftskn\bin\Debug\shiftskn.pdb +E:\Documents\GitHub\shiftskn\shiftskn\obj\Debug\shiftskn.csproj.CoreCompileInputs.cache +E:\Documents\GitHub\shiftskn\shiftskn\obj\Debug\shiftskn.exe +E:\Documents\GitHub\shiftskn\shiftskn\obj\Debug\shiftskn.pdb +E:\Documents\GitHub\shiftskn\shiftskn\obj\Debug\shiftskn.csprojResolveAssemblyReference.cache diff --git a/shiftskn/obj/Debug/shiftskn.csprojResolveAssemblyReference.cache b/shiftskn/obj/Debug/shiftskn.csprojResolveAssemblyReference.cache Binary files differnew file mode 100644 index 0000000..61fd628 --- /dev/null +++ b/shiftskn/obj/Debug/shiftskn.csprojResolveAssemblyReference.cache diff --git a/shiftskn/obj/Debug/shiftskn.exe b/shiftskn/obj/Debug/shiftskn.exe Binary files differnew file mode 100644 index 0000000..511212d --- /dev/null +++ b/shiftskn/obj/Debug/shiftskn.exe diff --git a/shiftskn/obj/Debug/shiftskn.pdb b/shiftskn/obj/Debug/shiftskn.pdb Binary files differnew file mode 100644 index 0000000..f1d5e7c --- /dev/null +++ b/shiftskn/obj/Debug/shiftskn.pdb diff --git a/shiftskn/shiftskn.csproj b/shiftskn/shiftskn.csproj new file mode 100644 index 0000000..def2777 --- /dev/null +++ b/shiftskn/shiftskn.csproj @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{93CE219A-8F1F-41B6-9879-6D2ECCEBC984}</ProjectGuid> + <OutputType>Exe</OutputType> + <RootNamespace>shiftskn</RootNamespace> + <AssemblyName>shiftskn</AssemblyName> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.IO.Compression" /> + <Reference Include="System.IO.Compression.FileSystem" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + <Reference Include="System.Net.Http" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Decode.cs" /> + <Compile Include="Help.cs" /> + <Compile Include="Pic2PNG.cs" /> + <Compile Include="Program.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="App.config" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> +</Project>
\ No newline at end of file diff --git a/shiftskn/shiftskn.csproj.user b/shiftskn/shiftskn.csproj.user new file mode 100644 index 0000000..1c99a68 --- /dev/null +++ b/shiftskn/shiftskn.csproj.user @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'"> + <StartArguments>picpng E:\Documents\ShiftOS_Shared\skn\ZorinOS\applauncher.pic</StartArguments> + </PropertyGroup> +</Project>
\ No newline at end of file |
