├── .gitattributes
├── .gitignore
├── README.md
├── WSAppBak.sln
└── WSAppBak
├── WSAppBak (Package)
├── Images
│ ├── LockScreenLogo.scale-200.png
│ ├── SplashScreen.scale-200.png
│ ├── Square150x150Logo.scale-200.png
│ ├── Square44x44Logo.scale-200.png
│ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ ├── StoreLogo.png
│ └── Wide310x150Logo.scale-200.png
├── Package.appxmanifest
└── WSAppBak (Package).wapproj
└── WSAppBak
├── App.xaml
├── App.xaml.cs
├── Assets
└── WSAppBak_Preview.png
├── HelpWindow.xaml
├── HelpWindow.xaml.cs
├── MainWindow.xaml
├── MainWindow.xaml.cs
├── Themes
└── Generic.xaml
├── WSAppBak.csproj
├── WSTools
├── MakeAppx.exe.manifest
├── Microsoft.Diagnostics.Tracing.EventSource.dll
├── Microsoft.Windows.Build.Appx.AppxPackaging.dll.manifest
├── Microsoft.Windows.Build.Appx.AppxSip.dll.manifest
├── Microsoft.Windows.Build.Appx.OpcServices.dll.manifest
├── Microsoft.Windows.Build.Signing.mssign32.dll.manifest
├── Microsoft.Windows.Build.Signing.wintrust.dll.manifest
├── ProvisioningTestHelper.psd1
├── appxpackaging.dll
├── appxsip.dll
├── makeappx.exe
├── makecert.exe
├── mfdetours.dll
├── midlrtmd.dll
├── mrmsupport.dll
├── msisip.dll
├── mssign32.dll
├── opcservices.dll
├── provisioningtesthelper.dll
├── pvk2pfx.exe
├── signtool.exe
├── signtool.exe.manifest
├── tedutil.dll
├── wintrust.dll
├── wintrust.dll.ini
└── wsutilhelper.dll
└── app.manifest
/.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 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Mono auto generated files
17 | mono_crash.*
18 |
19 | # Build results
20 | [Dd]ebug/
21 | [Dd]ebugPublic/
22 | [Rr]elease/
23 | [Rr]eleases/
24 | x64/
25 | x86/
26 | [Ww][Ii][Nn]32/
27 | [Aa][Rr][Mm]/
28 | [Aa][Rr][Mm]64/
29 | bld/
30 | [Bb]in/
31 | [Oo]bj/
32 | [Oo]ut/
33 | [Ll]og/
34 | [Ll]ogs/
35 |
36 | # Visual Studio 2015/2017 cache/options directory
37 | .vs/
38 | # Uncomment if you have tasks that create the project's static files in wwwroot
39 | #wwwroot/
40 |
41 | # Visual Studio 2017 auto generated files
42 | Generated\ Files/
43 |
44 | # MSTest test Results
45 | [Tt]est[Rr]esult*/
46 | [Bb]uild[Ll]og.*
47 |
48 | # NUnit
49 | *.VisualState.xml
50 | TestResult.xml
51 | nunit-*.xml
52 |
53 | # Build Results of an ATL Project
54 | [Dd]ebugPS/
55 | [Rr]eleasePS/
56 | dlldata.c
57 |
58 | # Benchmark Results
59 | BenchmarkDotNet.Artifacts/
60 |
61 | # .NET Core
62 | project.lock.json
63 | project.fragment.lock.json
64 | artifacts/
65 |
66 | # ASP.NET Scaffolding
67 | ScaffoldingReadMe.txt
68 |
69 | # StyleCop
70 | StyleCopReport.xml
71 |
72 | # Files built by Visual Studio
73 | *_i.c
74 | *_p.c
75 | *_h.h
76 | *.ilk
77 | *.meta
78 | *.obj
79 | *.iobj
80 | *.pch
81 | *.pdb
82 | *.ipdb
83 | *.pgc
84 | *.pgd
85 | *.rsp
86 | *.sbr
87 | *.tlb
88 | *.tli
89 | *.tlh
90 | *.tmp
91 | *.tmp_proj
92 | *_wpftmp.csproj
93 | *.log
94 | *.vspscc
95 | *.vssscc
96 | .builds
97 | *.pidb
98 | *.svclog
99 | *.scc
100 |
101 | # Chutzpah Test files
102 | _Chutzpah*
103 |
104 | # Visual C++ cache files
105 | ipch/
106 | *.aps
107 | *.ncb
108 | *.opendb
109 | *.opensdf
110 | *.sdf
111 | *.cachefile
112 | *.VC.db
113 | *.VC.VC.opendb
114 |
115 | # Visual Studio profiler
116 | *.psess
117 | *.vsp
118 | *.vspx
119 | *.sap
120 |
121 | # Visual Studio Trace Files
122 | *.e2e
123 |
124 | # TFS 2012 Local Workspace
125 | $tf/
126 |
127 | # Guidance Automation Toolkit
128 | *.gpState
129 |
130 | # ReSharper is a .NET coding add-in
131 | _ReSharper*/
132 | *.[Rr]e[Ss]harper
133 | *.DotSettings.user
134 |
135 | # TeamCity is a build add-in
136 | _TeamCity*
137 |
138 | # DotCover is a Code Coverage Tool
139 | *.dotCover
140 |
141 | # AxoCover is a Code Coverage Tool
142 | .axoCover/*
143 | !.axoCover/settings.json
144 |
145 | # Coverlet is a free, cross platform Code Coverage Tool
146 | coverage*.json
147 | coverage*.xml
148 | coverage*.info
149 |
150 | # Visual Studio code coverage results
151 | *.coverage
152 | *.coveragexml
153 |
154 | # NCrunch
155 | _NCrunch_*
156 | .*crunch*.local.xml
157 | nCrunchTemp_*
158 |
159 | # MightyMoose
160 | *.mm.*
161 | AutoTest.Net/
162 |
163 | # Web workbench (sass)
164 | .sass-cache/
165 |
166 | # Installshield output folder
167 | [Ee]xpress/
168 |
169 | # DocProject is a documentation generator add-in
170 | DocProject/buildhelp/
171 | DocProject/Help/*.HxT
172 | DocProject/Help/*.HxC
173 | DocProject/Help/*.hhc
174 | DocProject/Help/*.hhk
175 | DocProject/Help/*.hhp
176 | DocProject/Help/Html2
177 | DocProject/Help/html
178 |
179 | # Click-Once directory
180 | publish/
181 |
182 | # Publish Web Output
183 | *.[Pp]ublish.xml
184 | *.azurePubxml
185 | # Note: Comment the next line if you want to checkin your web deploy settings,
186 | # but database connection strings (with potential passwords) will be unencrypted
187 | *.pubxml
188 | *.publishproj
189 |
190 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
191 | # checkin your Azure Web App publish settings, but sensitive information contained
192 | # in these scripts will be unencrypted
193 | PublishScripts/
194 |
195 | # NuGet Packages
196 | *.nupkg
197 | # NuGet Symbol Packages
198 | *.snupkg
199 | # The packages folder can be ignored because of Package Restore
200 | **/[Pp]ackages/*
201 | # except build/, which is used as an MSBuild target.
202 | !**/[Pp]ackages/build/
203 | # Uncomment if necessary however generally it will be regenerated when needed
204 | #!**/[Pp]ackages/repositories.config
205 | # NuGet v3's project.json files produces more ignorable files
206 | *.nuget.props
207 | *.nuget.targets
208 |
209 | # Microsoft Azure Build Output
210 | csx/
211 | *.build.csdef
212 |
213 | # Microsoft Azure Emulator
214 | ecf/
215 | rcf/
216 |
217 | # Windows Store app package directories and files
218 | AppPackages/
219 | BundleArtifacts/
220 | Package.StoreAssociation.xml
221 | _pkginfo.txt
222 | *.appx
223 | *.appxbundle
224 | *.appxupload
225 |
226 | # Visual Studio cache files
227 | # files ending in .cache can be ignored
228 | *.[Cc]ache
229 | # but keep track of directories ending in .cache
230 | !?*.[Cc]ache/
231 |
232 | # Others
233 | ClientBin/
234 | ~$*
235 | *~
236 | *.dbmdl
237 | *.dbproj.schemaview
238 | *.jfm
239 | *.pfx
240 | *.publishsettings
241 | orleans.codegen.cs
242 |
243 | # Including strong name files can present a security risk
244 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
245 | #*.snk
246 |
247 | # Since there are multiple workflows, uncomment next line to ignore bower_components
248 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
249 | #bower_components/
250 |
251 | # RIA/Silverlight projects
252 | Generated_Code/
253 |
254 | # Backup & report files from converting an old project file
255 | # to a newer Visual Studio version. Backup files are not needed,
256 | # because we have git ;-)
257 | _UpgradeReport_Files/
258 | Backup*/
259 | UpgradeLog*.XML
260 | UpgradeLog*.htm
261 | ServiceFabricBackup/
262 | *.rptproj.bak
263 |
264 | # SQL Server files
265 | *.mdf
266 | *.ldf
267 | *.ndf
268 |
269 | # Business Intelligence projects
270 | *.rdl.data
271 | *.bim.layout
272 | *.bim_*.settings
273 | *.rptproj.rsuser
274 | *- [Bb]ackup.rdl
275 | *- [Bb]ackup ([0-9]).rdl
276 | *- [Bb]ackup ([0-9][0-9]).rdl
277 |
278 | # Microsoft Fakes
279 | FakesAssemblies/
280 |
281 | # GhostDoc plugin setting file
282 | *.GhostDoc.xml
283 |
284 | # Node.js Tools for Visual Studio
285 | .ntvs_analysis.dat
286 | node_modules/
287 |
288 | # Visual Studio 6 build log
289 | *.plg
290 |
291 | # Visual Studio 6 workspace options file
292 | *.opt
293 |
294 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
295 | *.vbw
296 |
297 | # Visual Studio LightSwitch build output
298 | **/*.HTMLClient/GeneratedArtifacts
299 | **/*.DesktopClient/GeneratedArtifacts
300 | **/*.DesktopClient/ModelManifest.xml
301 | **/*.Server/GeneratedArtifacts
302 | **/*.Server/ModelManifest.xml
303 | _Pvt_Extensions
304 |
305 | # Paket dependency manager
306 | .paket/paket.exe
307 | paket-files/
308 |
309 | # FAKE - F# Make
310 | .fake/
311 |
312 | # CodeRush personal settings
313 | .cr/personal
314 |
315 | # Python Tools for Visual Studio (PTVS)
316 | __pycache__/
317 | *.pyc
318 |
319 | # Cake - Uncomment if you are using it
320 | # tools/**
321 | # !tools/packages.config
322 |
323 | # Tabs Studio
324 | *.tss
325 |
326 | # Telerik's JustMock configuration file
327 | *.jmconfig
328 |
329 | # BizTalk build output
330 | *.btp.cs
331 | *.btm.cs
332 | *.odx.cs
333 | *.xsd.cs
334 |
335 | # OpenCover UI analysis results
336 | OpenCover/
337 |
338 | # Azure Stream Analytics local run output
339 | ASALocalRun/
340 |
341 | # MSBuild Binary and Structured Log
342 | *.binlog
343 |
344 | # NVidia Nsight GPU debugger configuration file
345 | *.nvuser
346 |
347 | # MFractors (Xamarin productivity tool) working folder
348 | .mfractor/
349 |
350 | # Local History for Visual Studio
351 | .localhistory/
352 |
353 | # BeatPulse healthcheck temp database
354 | healthchecksdb
355 |
356 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
357 | MigrationBackup/
358 |
359 | # Ionide (cross platform F# VS Code tools) working folder
360 | .ionide/
361 |
362 | # Fody - auto-generated XML schema
363 | FodyWeavers.xsd
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 📱 WSAppBak: Windows App Cracker
2 |
3 | [](https://docs.microsoft.com/en-us/windows/apps/winui/winui3/)
4 | [](https://docs.microsoft.com/en-us/dotnet/csharp/)
5 |
6 | WSAPPBak is a powerful and user-friendly WinUI 3 Windows application designed to Crack paid Windows Application. And Backup Application along with Certificates.
7 |
8 | 
9 |
10 | ## 🚀 Key Features
11 |
12 | - 😈 **Paid Apps**: Install Paid Apps for Free
13 | - 📊 **Backup**: Backup applications alongside Certificates
14 | - 🎨 **Modern UI**: Sleek and intuitive interface built with WinUI 3
15 | - 🔄 **Easy to Use**: Easily Get your app with a single click
16 | - ⚡ **Fast Performance**: Optimized for speed and low resource usage
17 |
18 | ## 🏁 Getting Started
19 |
20 | ### Prerequisites
21 |
22 | - Windows 10 (Recommended: Windows 11)
23 | - .NET 5.0 Runtime or later
24 | - At least 200MB of free disk space
25 |
26 | ### Installation
27 |
28 | 1. Download the latest release from [GitHub Releases](https://github.com/MadCkull/WSAppBak/releases) page.
29 | 2. Install Dependencies and package Certificates (See [Closed Issues](https://github.com/MadCkull/WSAppBak/issues?q=is%3Aissue+is%3Aclosed) Section for details)
30 | 3. Install Application
31 | 4. Done.
32 | ### or
33 | 1. Clone Repo
34 | 2. Open solution in Visual Studio
35 | 3. Build & Run.
36 |
37 |
38 | ## 📘 Usage Guide
39 |
40 | 1. Launch WSAPPBak from your Start menu or desktop shortcut.
41 | 2. Select the Application You want to crack from the dropdown menu.(Instructions are provided in Help Window)
42 | 3. Choose a destination.
43 | 4. Click "Start" and wait for the process to complete.
44 |
45 | ### To Install Cracked App:
46 |
47 | 1. Open Output Folder.
48 | 2. Install Certificates (Detailed Instruction are given in Help Window)
49 | 3. Install Appx File.
50 | 4. Enjoy Paid App for Free. 😈
51 |
52 | ## 🔧 Troubleshooting
53 |
54 | Encountering issues? Try these steps:
55 |
56 | 1. Ensure you're running the latest version of **WSAPPBak** and **Windows 11**.
57 | 2. Having issues in installation? Check [Issues](https://github.com/MadCkull/WSAppBak/issues?q=is%3Aissue+is%3Aclosed) Section.
58 | 3. If the problem persists, please [open an issue](https://github.com/MadCkull/WSAppBak/issues) on our GitHub page.
59 |
60 | ## 🤝 Contributing
61 |
62 | We welcome contributions! Here's how you can help:
63 |
64 | 1. Fork the repository
65 | 2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
66 | 3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
67 | 4. Push to the branch (`git push origin feature/AmazingFeature`)
68 | 5. Open a Pull Request
69 |
70 | ## ⚠️ Disclaimer
71 |
72 | It's crucial to understand that circumventing paid app licensing is illegal and unethical. This repository is intended for educational purposes only. Distributing or using WSAppBak to install paid apps for free violates copyright laws and developer rights.
73 |
74 | ## 👏 Acknowledgments
75 |
76 | - Thanks to [Wapitiii](https://github.com/Wapitiii/WSAppBak.git) (Original Repo)
77 | - Special thanks to the WinUI 3 team for their excellent framework
78 | - Icon assets provided by [Iconify](https://iconify.design/)
79 |
80 |
81 | ## Note:
82 |
83 | It's not 100% accurate, don't expect it to work on every app..
84 |
85 | ---
86 |
87 | Made with 😈 intentions by **MadCkull**
88 |
--------------------------------------------------------------------------------
/WSAppBak.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.7.34221.43
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "WSAppBak (Package)", "WSAppBak\WSAppBak (Package)\WSAppBak (Package).wapproj", "{2B38FC12-5886-43D2-A661-587C7D6B38F6}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WSAppBak", "WSAppBak\WSAppBak\WSAppBak.csproj", "{121C99C3-290A-489E-B209-0C8F739D5A39}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|ARM64 = Debug|ARM64
13 | Debug|x64 = Debug|x64
14 | Debug|x86 = Debug|x86
15 | Release|ARM64 = Release|ARM64
16 | Release|x64 = Release|x64
17 | Release|x86 = Release|x86
18 | EndGlobalSection
19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
20 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Debug|ARM64.ActiveCfg = Debug|ARM64
21 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Debug|ARM64.Build.0 = Debug|ARM64
22 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Debug|ARM64.Deploy.0 = Debug|ARM64
23 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Debug|x64.ActiveCfg = Debug|x64
24 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Debug|x64.Build.0 = Debug|x64
25 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Debug|x64.Deploy.0 = Debug|x64
26 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Debug|x86.ActiveCfg = Debug|x86
27 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Debug|x86.Build.0 = Debug|x86
28 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Debug|x86.Deploy.0 = Debug|x86
29 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Release|ARM64.ActiveCfg = Release|ARM64
30 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Release|ARM64.Build.0 = Release|ARM64
31 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Release|ARM64.Deploy.0 = Release|ARM64
32 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Release|x64.ActiveCfg = Release|x64
33 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Release|x64.Build.0 = Release|x64
34 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Release|x64.Deploy.0 = Release|x64
35 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Release|x86.ActiveCfg = Release|x86
36 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Release|x86.Build.0 = Release|x86
37 | {2B38FC12-5886-43D2-A661-587C7D6B38F6}.Release|x86.Deploy.0 = Release|x86
38 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Debug|ARM64.ActiveCfg = Debug|ARM64
39 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Debug|ARM64.Build.0 = Debug|ARM64
40 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Debug|x64.ActiveCfg = Debug|x64
41 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Debug|x64.Build.0 = Debug|x64
42 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Debug|x86.ActiveCfg = Debug|x86
43 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Debug|x86.Build.0 = Debug|x86
44 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Release|ARM64.ActiveCfg = Release|ARM64
45 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Release|ARM64.Build.0 = Release|ARM64
46 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Release|x64.ActiveCfg = Release|x64
47 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Release|x64.Build.0 = Release|x64
48 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Release|x86.ActiveCfg = Release|x86
49 | {121C99C3-290A-489E-B209-0C8F739D5A39}.Release|x86.Build.0 = Release|x86
50 | EndGlobalSection
51 | GlobalSection(SolutionProperties) = preSolution
52 | HideSolutionNode = FALSE
53 | EndGlobalSection
54 | GlobalSection(ExtensibilityGlobals) = postSolution
55 | SolutionGuid = {26DFE1A2-6D6E-42CE-8C9F-C03A0D7D1C9B}
56 | EndGlobalSection
57 | EndGlobal
58 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak (Package)/Images/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak (Package)/Images/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak (Package)/Images/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak (Package)/Images/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak (Package)/Images/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak (Package)/Images/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak (Package)/Images/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak (Package)/Images/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak (Package)/Images/Square44x44Logo.targetsize-24_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak (Package)/Images/Square44x44Logo.targetsize-24_altform-unplated.png
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak (Package)/Images/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak (Package)/Images/StoreLogo.png
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak (Package)/Images/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak (Package)/Images/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak (Package)/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
14 |
15 |
16 |
17 |
18 | WSAppBak (Package)
19 | MadCkull
20 | Images\StoreLogo.png
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
36 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak (Package)/WSAppBak (Package).wapproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 15.0
5 |
6 |
7 |
8 | Debug
9 | x86
10 |
11 |
12 | Release
13 | x86
14 |
15 |
16 | Debug
17 | x64
18 |
19 |
20 | Release
21 | x64
22 |
23 |
24 | Debug
25 | ARM64
26 |
27 |
28 | Release
29 | ARM64
30 |
31 |
32 |
33 | $(MSBuildExtensionsPath)\Microsoft\DesktopBridge\
34 | WSAppBak\
35 |
36 |
37 |
38 | 2b38fc12-5886-43d2-a661-587c7d6b38f6
39 | 10.0.22621.0
40 | 10.0.17763.0
41 | net6.0-windows$(TargetPlatformVersion);$(AssetTargetFallback)
42 | en-US
43 | True
44 | ..\WSAppBak\WSAppBak.csproj
45 | False
46 | 007475AE1018DFA56EEFA67DC8BDF04C063BB86F
47 | SHA256
48 | True
49 | D:\Other\Projects\Published\WSAppBak\
50 | True
51 | x64|arm64
52 | 720
53 | False
54 |
55 |
56 | Always
57 |
58 |
59 | Always
60 |
61 |
62 | Always
63 |
64 |
65 | Always
66 |
67 |
68 | Always
69 |
70 |
71 | Always
72 |
73 |
74 |
75 | Designer
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 | True
91 | Properties\PublishProfiles\win10-$(Platform).pubxml
92 |
93 |
94 |
95 |
96 | build
97 |
98 |
99 | build
100 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/App.xaml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.UI.Xaml;
2 | using Microsoft.UI.Xaml.Controls;
3 | using Microsoft.UI.Xaml.Controls.Primitives;
4 | using Microsoft.UI.Xaml.Data;
5 | using Microsoft.UI.Xaml.Input;
6 | using Microsoft.UI.Xaml.Media;
7 | using Microsoft.UI.Xaml.Navigation;
8 | using Microsoft.UI.Xaml.Shapes;
9 | using System;
10 | using System.Collections.Generic;
11 | using System.IO;
12 | using System.Linq;
13 | using System.Runtime.InteropServices.WindowsRuntime;
14 | using Windows.ApplicationModel;
15 | using Windows.ApplicationModel.Activation;
16 | using Windows.Foundation;
17 | using Windows.Foundation.Collections;
18 |
19 | // To learn more about WinUI, the WinUI project structure,
20 | // and more about our project templates, see: http://aka.ms/winui-project-info.
21 |
22 | namespace WSAppBak
23 | {
24 | ///
25 | /// Provides application-specific behavior to supplement the default Application class.
26 | ///
27 | public partial class App : Application
28 | {
29 | ///
30 | /// Initializes the singleton application object. This is the first line of authored code
31 | /// executed, and as such is the logical equivalent of main() or WinMain().
32 | ///
33 | public App()
34 | {
35 | this.InitializeComponent();
36 | }
37 |
38 | ///
39 | /// Invoked when the application is launched.
40 | ///
41 | /// Details about the launch request and process.
42 | protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args)
43 | {
44 | m_window = new MainWindow();
45 | m_window.Activate();
46 | }
47 |
48 | private Window m_window;
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/Assets/WSAppBak_Preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/Assets/WSAppBak_Preview.png
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/HelpWindow.xaml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | Instructions
21 |
22 |
23 |
24 | ► Getting Application:
25 |
26 |
27 | ‣ Copy the Application Link (From Microsoft Store)
28 |
29 |
30 | ‣ Go to
31 | https://store.rg-adguard.net/
32 |
33 |
34 | ‣ Paste the Application Link
35 |
36 |
37 | ‣ Download the File with the largest size
38 |
39 |
40 | ‣ Install the Application
41 |
42 |
43 |
44 | ► Crack Application:
45 |
46 |
47 | ‣ Run "WSAppBak" as Admin (Recommended)
48 |
49 |
50 | ‣ Select App From Dropdown Menu
51 |
52 |
53 | ‣ Enter the Output path and Click Start
54 |
55 |
56 | ‣ A Window will pop up 'Create Private Key Password', Select None.
57 |
58 |
59 | ‣ Wait for process to complete.
60 |
61 |
62 | ► Uninstall Old Application:
63 |
64 |
65 | ‣ Uninstall Previously Installed Application.
66 |
67 |
68 | ► Install App Certificates:
69 |
70 |
71 | ‣ Install Certificates (in Output Folder)
72 |
73 |
74 | ► Install Application:
75 |
76 |
77 | ‣ Open Properties of .appx file
78 |
79 |
80 | ‣ Go to 'Digital Signatures' Tab
81 |
82 |
83 | ‣ Select Certificate from the list
84 |
85 |
86 | ‣ Click 'Details', then click 'View Certificate'
87 |
88 |
89 | ‣ Click Install > Local Machine > Next
90 |
91 |
92 | ‣ Select Second Option > Browse
93 |
94 |
95 | ‣ Select 'Trusted People' and Click OK
96 |
97 |
98 | ‣ Click 'Finish' to Install Certificate
99 |
100 |
101 | ‣ Repeat Installation Steps if there are Multiple Certificates in the List
102 |
103 |
104 | ‣ Install Dependencies depending on your Architecture (if required)
105 |
106 |
107 | ‣ Now, Simply just Install Application (.appx File)
108 |
109 |
110 |
111 |
112 |
113 |
114 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/HelpWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Microsoft.UI.Xaml;
9 | using Microsoft.UI.Xaml.Controls;
10 | using Microsoft.UI.Xaml.Controls.Primitives;
11 | using Microsoft.UI.Xaml.Data;
12 | using Microsoft.UI.Xaml.Input;
13 | using Microsoft.UI.Xaml.Media;
14 | using Microsoft.UI.Xaml.Navigation;
15 | using Microsoft.UI.Windowing;
16 |
17 | // To learn more about WinUI, the WinUI project structure,
18 | // and more about our project templates, see: http://aka.ms/winui-project-info.
19 |
20 | namespace WSAppBak
21 | {
22 | ///
23 | /// An empty window that can be used on its own or navigated to within a Frame.
24 | ///
25 | public sealed partial class HelpWindow : Window
26 | {
27 | public HelpWindow()
28 | {
29 | this.InitializeComponent();
30 |
31 | WindowSize(1300, 1000, false);
32 | }
33 |
34 |
35 | private void WindowSize(int Width, int Height, bool Resizeable)
36 | {
37 | IntPtr hWnd = WinRT.Interop.WindowNative.GetWindowHandle(this);
38 | var windowId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(hWnd);
39 | var appWindow = Microsoft.UI.Windowing.AppWindow.GetFromWindowId(windowId);
40 |
41 | appWindow.Resize(new Windows.Graphics.SizeInt32 { Width = Width, Height = Height });
42 |
43 | OverlappedPresenter overlappedPresenter = appWindow.Presenter as OverlappedPresenter;
44 | overlappedPresenter.IsResizable = Resizeable;
45 | overlappedPresenter.IsMaximizable = Resizeable;
46 | overlappedPresenter.IsAlwaysOnTop = !Resizeable;
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
35 |
39 |
40 |
41 |
42 |
49 |
50 |
51 |
56 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
83 |
91 |
92 |
93 |
98 |
103 |
109 |
110 |
111 |
112 |
122 |
123 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/MainWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.UI.Xaml;
2 | using Microsoft.UI.Xaml.Controls;
3 | using Microsoft.UI.Windowing;
4 | using System;
5 | using System.Xml;
6 | using System.Diagnostics;
7 | using System.IO;
8 | using System.Threading.Tasks;
9 | using Windows.ApplicationModel.DataTransfer;
10 | using Windows.Storage;
11 | using WinRT;
12 | using Microsoft.UI;
13 | using WinRT.Interop;
14 | using System.Collections.Generic;
15 | using Windows.Management.Deployment;
16 | using System.Linq;
17 | using Windows.ApplicationModel;
18 | using Windows.Storage.Streams;
19 | using Microsoft.UI.Xaml.Media.Imaging;
20 | using System.Text.RegularExpressions;
21 |
22 | namespace WSAppBak
23 | {
24 | public sealed partial class MainWindow : Window
25 | {
26 | #region Constants and Fields
27 |
28 | private const string AppName = "Windows Store App Backup";
29 | private const string AppCreator = "MadCkull";
30 | private const string WSAppXmlFile = "AppxManifest.xml";
31 |
32 | private readonly string _appCurrentDir = AppContext.BaseDirectory;
33 |
34 | private InstalledApp _selectedApp;
35 | private string _selectedAppPath;
36 | private List _allInstalledApps;
37 |
38 | private WSAppInfo _wsAppInfo;
39 |
40 | // Moved HashSet to class level for better performance
41 | private static readonly HashSet SystemAppPrefixes = new HashSet
42 | {
43 | "1527c705-839a-4832-9118-54d4Bd6a0c89",
44 | "c5e2524a-ea46-4f67-841f-6a9465d9d515",
45 | "EightSecure.Firewall",
46 | "E2A4F912-2574-4A75-9BB0-0D023378592B",
47 | "F46D4000-FD22-4DB4-AC8E-4E1DDDE828FE",
48 | "Microsoft.AAD.BrokerPlugin",
49 | "Microsoft.AccountsControl",
50 | "Microsoft.AsyncTextService",
51 | "Microsoft.BioEnrollment",
52 | "Microsoft.CredDialogHost",
53 | "Microsoft.ECApp",
54 | "Microsoft.LockApp",
55 | "Microsoft.MicrosoftEdge",
56 | "Microsoft.MicrosoftEdgeDevToolsClient",
57 | "Microsoft.Win32WebViewHost",
58 | "Microsoft.Windows.",
59 | "windows.immersivecontrolpanel",
60 | "Windows.ContactSupport",
61 | "Windows.PrintDialog",
62 | "Microsoft.Net",
63 | "Microsoft.VCLibs",
64 | "Microsoft.UI.Xaml",
65 | "Microsoft.DirectX",
66 | "Microsoft.WebpImageExtension",
67 | "Microsoft.VP9VideoExtensions",
68 | "Microsoft.ScreenSketch",
69 | "Microsoft.Services.Store.Engagement",
70 | "Microsoft.XboxGameCallableUI",
71 | "Microsoft.XboxIdentityProvider",
72 | "Microsoft.YourPhone",
73 | };
74 |
75 | #endregion
76 |
77 | #region Constructor and Initialization
78 |
79 | public MainWindow()
80 | {
81 | InitializeComponent();
82 | InfoText.Text = "Please Wait while we load Apps...";
83 | ControlsStatus(false);
84 | InitializeWindowAsync();
85 | _ = LogCurrentDirectoryAsync(); // Fire and forget, but consider proper error handling
86 | }
87 |
88 | private async void InitializeWindowAsync()
89 | {
90 | SetWindowSize(1800, 950, false);
91 | ExtendsContentIntoTitleBar = true;
92 | await LoadInstalledAppsAsync();
93 | InfoText.Text = string.Empty;
94 |
95 | ControlsStatus(true);
96 | StartButton.IsEnabled = false;
97 |
98 | OutputPath.Text = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads", "WSAppBak");
99 | }
100 |
101 | private void SetWindowSize(int width, int height, bool resizable)
102 | {
103 | var hWnd = WindowNative.GetWindowHandle(this);
104 | var windowId = Win32Interop.GetWindowIdFromWindow(hWnd);
105 | var appWindow = AppWindow.GetFromWindowId(windowId);
106 |
107 | appWindow.Resize(new Windows.Graphics.SizeInt32 { Width = width, Height = height });
108 |
109 | if (appWindow.Presenter is OverlappedPresenter overlappedPresenter)
110 | {
111 | overlappedPresenter.IsResizable = resizable;
112 | overlappedPresenter.IsMaximizable = resizable;
113 | }
114 | }
115 |
116 | private void ControlsStatus(bool status)
117 | {
118 | AppSearchBox.IsEnabled = status;
119 | OutputPath.IsEnabled = status;
120 | StartButton.IsEnabled = status;
121 | }
122 |
123 | private async Task LogCurrentDirectoryAsync()
124 | {
125 | try
126 | {
127 | string currentDir = AppContext.BaseDirectory;
128 | string logMessage = $"Current Directory: {currentDir}\n" +
129 | $"Timestamp: {DateTime.Now}\n" +
130 | $"---------------------------\n";
131 |
132 | // Assuming you want to log to a file in the app's directory
133 | string logFilePath = Path.Combine(currentDir, "app_log.txt");
134 |
135 | // Use asynchronous file write operation
136 | await File.AppendAllTextAsync(logFilePath, logMessage);
137 | }
138 | catch (Exception ex)
139 | {
140 | Debug.WriteLine($"Error logging current directory: {ex.Message}");
141 | // Consider implementing a more robust error handling mechanism
142 | }
143 | }
144 |
145 | #endregion
146 |
147 | #region App Loading and Filtering
148 |
149 | private async Task LoadInstalledAppsAsync()
150 | {
151 | _allInstalledApps = await GetInstalledAppsAsync();
152 | AppSearchBox.ItemsSource = _allInstalledApps;
153 | }
154 |
155 | private async Task> GetInstalledAppsAsync()
156 | {
157 | var packageManager = new PackageManager();
158 | var packages = packageManager.FindPackagesForUser(string.Empty);
159 |
160 | var installedApps = new List();
161 |
162 | foreach (var package in packages)
163 | {
164 | try
165 | {
166 | if (IsSystemOrDependencyApp(package))
167 | {
168 | continue;
169 | }
170 |
171 | var manifestPath = Path.Combine(package.InstalledLocation.Path, "AppxManifest.xml");
172 | if (File.Exists(manifestPath))
173 | {
174 | var logoPath = await GetAppLogoPathAsync(package);
175 | installedApps.Add(new InstalledApp
176 | {
177 | Name = package.DisplayName,
178 | ManifestPath = manifestPath,
179 | IconSource = await LoadAppIconAsync(logoPath)
180 | });
181 | }
182 | }
183 | catch (Exception)
184 | {
185 | // Skip packages that we can't access
186 | }
187 | }
188 |
189 | return installedApps.OrderBy(app => app.Name).ToList();
190 | }
191 |
192 | private bool IsSystemOrDependencyApp(Package package)
193 | {
194 | // Filter out system apps, empty or generic names, known system app prefixes, framework packages, and resource packages
195 | return package.SignatureKind == PackageSignatureKind.System
196 | || string.IsNullOrWhiteSpace(package.DisplayName)
197 | || package.DisplayName == "App"
198 | || package.DisplayName == "Application"
199 | || SystemAppPrefixes.Any(prefix => package.Id.FullName.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))
200 | || package.IsFramework
201 | || package.IsResourcePackage;
202 | }
203 |
204 | private async Task GetAppLogoPathAsync(Package package)
205 | {
206 | try
207 | {
208 | var installedLocation = package.InstalledLocation;
209 | var manifestFile = await installedLocation.GetFileAsync("AppxManifest.xml");
210 | var manifestContent = await FileIO.ReadTextAsync(manifestFile);
211 |
212 | XmlDocument manifestXml = new XmlDocument();
213 | manifestXml.LoadXml(manifestContent);
214 |
215 | XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
216 | nsmgr.AddNamespace("x", "http://schemas.microsoft.com/appx/manifest/foundation/windows10");
217 |
218 | XmlNode logoNode = manifestXml.SelectSingleNode("//x:Properties/x:Logo", nsmgr);
219 | if (logoNode != null)
220 | {
221 | var logoPath = logoNode.InnerText;
222 | var logoUri = new Uri(installedLocation.Path + "\\" + logoPath);
223 | return logoUri.AbsoluteUri;
224 | }
225 | }
226 | catch (Exception ex)
227 | {
228 | Debug.WriteLine($"Error getting app logo path: {ex.Message}");
229 | }
230 |
231 | return null;
232 | }
233 |
234 | private async Task LoadAppIconAsync(string logoPath)
235 | {
236 | if (string.IsNullOrEmpty(logoPath)) return null;
237 |
238 | try
239 | {
240 | var file = await StorageFile.GetFileFromPathAsync(logoPath);
241 | using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read))
242 | {
243 | BitmapImage bitmapImage = new BitmapImage();
244 | await bitmapImage.SetSourceAsync(stream);
245 | return bitmapImage;
246 | }
247 | }
248 | catch
249 | {
250 | return null;
251 | }
252 | }
253 |
254 | #endregion
255 |
256 | #region UI Event Handlers
257 |
258 | private void AppSearchBox_TextChanged(AutoSuggestBox sender, AutoSuggestBoxTextChangedEventArgs args)
259 | {
260 | if (args.Reason == AutoSuggestionBoxTextChangeReason.UserInput)
261 | {
262 | var suggestions = _allInstalledApps
263 | .Where(app => app.Name.Contains(sender.Text, StringComparison.OrdinalIgnoreCase))
264 | .ToList();
265 | sender.ItemsSource = suggestions;
266 | }
267 | UpdateStartButtonStatus();
268 | }
269 |
270 | private void OutputPath_TextChanged(object sender, TextChangedEventArgs e)
271 | {
272 | UpdateStartButtonStatus();
273 | }
274 |
275 | private void AppSearchBox_SuggestionChosen(AutoSuggestBox sender, AutoSuggestBoxSuggestionChosenEventArgs args)
276 | {
277 | if (args.SelectedItem is InstalledApp selectedApp)
278 | {
279 | _selectedApp = selectedApp;
280 | _selectedAppPath = selectedApp.ManifestPath.Substring(0, selectedApp.ManifestPath.LastIndexOf('\\'));
281 | sender.Text = selectedApp.Name;
282 | }
283 | UpdateStartButtonStatus();
284 | }
285 |
286 | private void AppSearchBox_LostFocus(object sender, RoutedEventArgs e)
287 | {
288 | AppSearchBox.Text = _selectedApp?.Name ?? string.Empty;
289 | }
290 |
291 | private async void StartButton_Click(object sender, RoutedEventArgs e)
292 | {
293 | InfoText.Text = string.Empty;
294 | ControlsStatus(false);
295 | try
296 | {
297 | await RunAsync();
298 | await RenameOutputFilesAsync();
299 | }
300 | catch (Exception ex)
301 | {
302 | InfoText.Text = $"An error occurred: {ex.Message}";
303 | }
304 | finally
305 | {
306 | ControlsStatus(true);
307 | }
308 | }
309 |
310 | private void HelpButton_Click(object sender, RoutedEventArgs e)
311 | {
312 | var window = new HelpWindow();
313 | window.Activate();
314 | }
315 |
316 | private void UpdateStartButtonStatus()
317 | {
318 | StartButton.IsEnabled = !string.IsNullOrEmpty(OutputPath.Text) && !string.IsNullOrEmpty(AppSearchBox.Text);
319 | }
320 |
321 | #endregion
322 |
323 | #region App Backup Process
324 |
325 | private async Task RunAsync()
326 | {
327 | try
328 | {
329 | InfoText.Text = "Please Wait...";
330 | await ReadArgAsync();
331 | await CreateAppxPackageAsync();
332 | await CreateCertificatesAsync();
333 | await SignAppAsync();
334 | InfoText.Text = "Package Signing succeeded. Please install the '.cer' files before installing Application";
335 | }
336 | catch (Exception ex)
337 | {
338 | InfoText.Text = $"An error occurred: {ex.Message}";
339 | }
340 | }
341 |
342 | private async Task ReadArgAsync()
343 | {
344 | InfoText.Text = "Reading Arguments.";
345 | var wsAppPath = _selectedAppPath;
346 |
347 | var appName = CleanAppName(_selectedApp.Name);
348 | var wsAppOutputPath = Path.Combine(OutputPath.Text.Trim('"'), appName);
349 | InfoText.Text = wsAppOutputPath;
350 |
351 | if (!File.Exists(Path.Combine(wsAppPath, WSAppXmlFile)))
352 | {
353 | throw new FileNotFoundException($"Invalid App Path. {WSAppXmlFile} file not found!");
354 | }
355 |
356 | if (Directory.Exists(wsAppOutputPath))
357 | {
358 | Directory.Delete(wsAppOutputPath, true);
359 | }
360 |
361 | Directory.CreateDirectory(wsAppOutputPath);
362 | _wsAppInfo = new WSAppInfo
363 | {
364 | Path = wsAppPath,
365 | OutputPath = wsAppOutputPath,
366 | FileName = Path.GetFileName(wsAppPath)
367 | };
368 |
369 | await ReadAppManifestAsync();
370 | }
371 |
372 | private async Task ReadAppManifestAsync()
373 | {
374 | var xmlPath = Path.Combine(_wsAppInfo.Path, WSAppXmlFile);
375 | var settings = new XmlReaderSettings { Async = true };
376 | using var xmlReader = XmlReader.Create(xmlPath, settings);
377 | while (await xmlReader.ReadAsync())
378 | {
379 | if (xmlReader.IsStartElement() && xmlReader.Name == "Identity")
380 | {
381 | _wsAppInfo.Name = xmlReader["Name"];
382 | _wsAppInfo.Publisher = xmlReader["Publisher"];
383 | _wsAppInfo.Version = xmlReader["Version"];
384 | _wsAppInfo.ProcessorArchitecture = xmlReader["ProcessorArchitecture"];
385 | break;
386 | }
387 | }
388 | }
389 |
390 | private async Task CreateAppxPackageAsync()
391 | {
392 | InfoText.Text = "Creating Appx File.";
393 | var makeAppxPath = Path.Combine(_appCurrentDir, "WSTools", "MakeAppx.exe");
394 | var outputAppxPath = Path.Combine(_wsAppInfo.OutputPath, $"{_wsAppInfo.FileName}.appx");
395 |
396 | if (!File.Exists(makeAppxPath))
397 | {
398 | throw new FileNotFoundException("Can't create '.appx' file. 'MakeAppx.exe' file not found!");
399 | }
400 |
401 | File.Delete(outputAppxPath);
402 |
403 | var args = $"pack -d \"{_wsAppInfo.Path}\" -p \"{outputAppxPath}\" -l";
404 | var result = await RunProcessAsync(makeAppxPath, args);
405 |
406 | if (!result.ToLower().Contains("succeeded"))
407 | {
408 | throw new Exception($"Failed to create '{_wsAppInfo.FileName}.appx'.");
409 | }
410 |
411 | InfoText.Text = $"'{_wsAppInfo.FileName}.appx' Created.";
412 | }
413 |
414 | private async Task CreateCertificatesAsync()
415 | {
416 | InfoText.Text = "Creating Certificates...";
417 | await CreateCertificateAsync();
418 | await ConvertCertificateAsync();
419 | }
420 |
421 | private async Task CreateCertificateAsync()
422 | {
423 | var makeCertPath = Path.Combine(_appCurrentDir, "WSTools", "MakeCert.exe");
424 | if (!File.Exists(makeCertPath))
425 | {
426 | throw new FileNotFoundException("Can't create Certificates. 'MakeCert.exe' file not found!");
427 | }
428 |
429 | var pvkPath = Path.Combine(_wsAppInfo.OutputPath, $"{_wsAppInfo.FileName}.pvk");
430 | var cerPath = Path.Combine(_wsAppInfo.OutputPath, $"{_wsAppInfo.FileName}.cer");
431 |
432 | File.Delete(pvkPath);
433 | File.Delete(cerPath);
434 |
435 | var args = $"-n \"{_wsAppInfo.Publisher}\" -r -a sha256 -len 2048 -cy end -h 0 -eku 1.3.6.1.5.5.7.3.3 -b 01/01/2000 -sv \"{pvkPath}\" \"{cerPath}\"";
436 | var result = await RunProcessAsync(makeCertPath, args);
437 |
438 | if (!result.ToLower().Contains("succeeded"))
439 | {
440 | throw new Exception("Failed to create Certificates!");
441 | }
442 | }
443 | private async Task ConvertCertificateAsync()
444 | {
445 | var pvk2PfxPath = Path.Combine(_appCurrentDir, "WSTools", "Pvk2Pfx.exe");
446 | if (!File.Exists(pvk2PfxPath))
447 | {
448 | throw new FileNotFoundException("Can't convert Certificates. 'Pvk2Pfx.exe' file not found!");
449 | }
450 |
451 | var pvkPath = Path.Combine(_wsAppInfo.OutputPath, $"{_wsAppInfo.FileName}.pvk");
452 | var cerPath = Path.Combine(_wsAppInfo.OutputPath, $"{_wsAppInfo.FileName}.cer");
453 | var pfxPath = Path.Combine(_wsAppInfo.OutputPath, $"{_wsAppInfo.FileName}.pfx");
454 |
455 | File.Delete(pfxPath);
456 |
457 | var args = $"-pvk \"{pvkPath}\" -spc \"{cerPath}\" -pfx \"{pfxPath}\"";
458 | var result = await RunProcessAsync(pvk2PfxPath, args);
459 |
460 | if (!string.IsNullOrWhiteSpace(result))
461 | {
462 | throw new Exception("Failed to convert certificates!");
463 | }
464 | }
465 |
466 | private async Task SignAppAsync()
467 | {
468 | InfoText.Text = "Signing Application.";
469 | var signToolPath = Path.Combine(_appCurrentDir, "WSTools", "SignTool.exe");
470 | if (!File.Exists(signToolPath))
471 | {
472 | throw new FileNotFoundException("Can't Sign the Package. 'SignTool.exe' file not found!");
473 | }
474 |
475 | var pfxPath = Path.Combine(_wsAppInfo.OutputPath, $"{_wsAppInfo.FileName}.pfx");
476 | var appxPath = Path.Combine(_wsAppInfo.OutputPath, $"{_wsAppInfo.FileName}.appx");
477 |
478 | var args = $"sign -fd SHA256 -a -f \"{pfxPath}\" \"{appxPath}\"";
479 | var result = await RunProcessAsync(signToolPath, args);
480 |
481 | if (!result.ToLower().Contains("successfully signed"))
482 | {
483 | throw new Exception("Failed to sign the Package!");
484 | }
485 | }
486 |
487 | private async Task RunProcessAsync(string fileName, string args)
488 | {
489 | using var process = new Process
490 | {
491 | StartInfo = new ProcessStartInfo
492 | {
493 | FileName = fileName,
494 | Arguments = args,
495 | UseShellExecute = false,
496 | RedirectStandardOutput = true,
497 | CreateNoWindow = true
498 | }
499 | };
500 |
501 | process.Start();
502 | InfoText.Text = "Process Started.";
503 |
504 | var output = await process.StandardOutput.ReadToEndAsync();
505 | await process.WaitForExitAsync();
506 |
507 | return output;
508 | }
509 |
510 | #endregion
511 |
512 | #region File Renaming
513 |
514 | private async Task RenameOutputFilesAsync()
515 | {
516 | try
517 | {
518 | var outputDir = new DirectoryInfo(_wsAppInfo.OutputPath);
519 | var files = outputDir.GetFiles();
520 |
521 | // Rename .appx file
522 | var appxFile = files.FirstOrDefault(f => f.Extension.Equals(".appx", StringComparison.OrdinalIgnoreCase));
523 | if (appxFile != null)
524 | {
525 | string newAppxName = GetAppxFileName(_wsAppInfo.Name, _wsAppInfo.Version);
526 | File.Move(appxFile.FullName, Path.Combine(outputDir.FullName, newAppxName));
527 | }
528 |
529 | // Rename certificate files
530 | RenameFile(files, ".pvk", "Sign Key");
531 | RenameFile(files, ".cer", "Certificate");
532 | RenameFile(files, ".pfx", "Certificate");
533 | }
534 | catch (Exception ex)
535 | {
536 | InfoText.Text = $"Error renaming files: {ex.Message}";
537 | }
538 | }
539 |
540 | private string GetAppxFileName(string appName, string version)
541 | {
542 | appName = CleanAppName(appName);
543 |
544 | // Process the version
545 | var versionParts = version.Split('.');
546 | var majorVersion = versionParts[0];
547 | var minorVersion = versionParts.Length > 1 ? "." + versionParts[1] : "";
548 |
549 | return $"{appName} v{majorVersion}{minorVersion}.appx";
550 | }
551 |
552 | private void RenameFile(FileInfo[] files, string extension, string baseName)
553 | {
554 | var matchingFiles = files.Where(f => f.Extension.Equals(extension, StringComparison.OrdinalIgnoreCase)).ToList();
555 | for (int i = 0; i < matchingFiles.Count; i++)
556 | {
557 | string newName = i == 0
558 | ? $"{baseName}{extension}"
559 | : $"{baseName} {i + 1}{extension}";
560 | File.Move(matchingFiles[i].FullName, Path.Combine(matchingFiles[i].DirectoryName, newName));
561 | }
562 | }
563 |
564 | private string CleanAppName(string appName)
565 | {
566 | // Remove special characters and extra spaces
567 | appName = Regex.Replace(appName, @"[^\w\s]", " ");
568 | appName = Regex.Replace(appName, @"\s+", " ").Trim();
569 | return appName;
570 | }
571 |
572 | #endregion
573 | }
574 |
575 | public class InstalledApp
576 | {
577 | public string Name { get; set; }
578 | public string ManifestPath { get; set; }
579 | public BitmapImage IconSource { get; set; }
580 |
581 | public override string ToString()
582 | {
583 | return Name;
584 | }
585 | }
586 |
587 | public class WSAppInfo
588 | {
589 | public string Path { get; set; }
590 | public string OutputPath { get; set; }
591 | public string FileName { get; set; }
592 | public string Name { get; set; }
593 | public string Publisher { get; set; }
594 | public string Version { get; set; }
595 | public string ProcessorArchitecture { get; set; }
596 | }
597 | }
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/Themes/Generic.xaml:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSAppBak.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | WinExe
4 | net6.0-windows10.0.19041.0
5 | 10.0.17763.0
6 | WSAppBak
7 | app.manifest
8 | x86;x64;ARM64
9 | win10-x86;win10-x64;win10-arm64
10 | true
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | PreserveNewest
44 |
45 |
46 | PreserveNewest
47 |
48 |
49 | PreserveNewest
50 |
51 |
52 | PreserveNewest
53 |
54 |
55 | PreserveNewest
56 |
57 |
58 | PreserveNewest
59 |
60 |
61 | PreserveNewest
62 |
63 |
64 | PreserveNewest
65 |
66 |
67 | PreserveNewest
68 |
69 |
70 | PreserveNewest
71 |
72 |
73 | PreserveNewest
74 |
75 |
76 | PreserveNewest
77 |
78 |
79 | PreserveNewest
80 |
81 |
82 | PreserveNewest
83 |
84 |
85 | PreserveNewest
86 |
87 |
88 | PreserveNewest
89 |
90 |
91 | PreserveNewest
92 |
93 |
94 | PreserveNewest
95 |
96 |
97 | PreserveNewest
98 |
99 |
100 | PreserveNewest
101 |
102 |
103 | PreserveNewest
104 |
105 |
106 | PreserveNewest
107 |
108 |
109 | PreserveNewest
110 |
111 |
112 | PreserveNewest
113 |
114 |
115 | PreserveNewest
116 |
117 |
118 | PreserveNewest
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 | PreserveNewest
131 |
132 |
133 |
134 |
135 |
136 | MSBuild:Compile
137 |
138 |
139 |
140 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/MakeAppx.exe.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/Microsoft.Diagnostics.Tracing.EventSource.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/Microsoft.Diagnostics.Tracing.EventSource.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/Microsoft.Windows.Build.Appx.AppxPackaging.dll.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
14 |
18 |
22 |
26 |
30 |
34 |
38 |
42 |
43 |
44 |
45 |
46 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/Microsoft.Windows.Build.Appx.AppxSip.dll.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/Microsoft.Windows.Build.Appx.OpcServices.dll.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/Microsoft.Windows.Build.Signing.mssign32.dll.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/Microsoft.Windows.Build.Signing.wintrust.dll.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/ProvisioningTestHelper.psd1:
--------------------------------------------------------------------------------
1 | #
2 | # Module manifest for module 'ProvisioningTestModule'
3 | #
4 | # Copyright (C) Microsoft Corporation. All rights reserved.
5 | #
6 |
7 | @{
8 |
9 | # Version number of this module.
10 | ModuleVersion = '1.0'
11 |
12 | # ID used to uniquely identify this module
13 | GUID = '05218365-87aa-4f63-80d3-2f5af78231a0'
14 |
15 | # Author of this module
16 | Author = 'Microsoft'
17 |
18 | # Company or vendor of this module
19 | CompanyName = 'Microsoft Corporation'
20 |
21 | # Copyright statement for this module
22 | Copyright = '(c) Microsoft Corporation. All rights reserved.'
23 |
24 | # Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
25 | NestedModules = @('ProvisioningTestHelper.dll')
26 |
27 | # Functions to export from this module
28 | FunctionsToExport = @('Install-TestEVCert', 'ConvertTo-SignedXml', 'Test-SignedXml', 'Install-RootCertFromFile')
29 |
30 | }
31 |
32 |
33 |
34 | # SIG # Begin signature block
35 | # MIIh6wYJKoZIhvcNAQcCoIIh3DCCIdgCAQExDzANBglghkgBZQMEAgEFADB5Bgor
36 | # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
37 | # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCD3xBl69emOsOPX
38 | # 2P2UtB/fqDBh7zoUB/DjIRJEdNE82aCCC3YwggT+MIID5qADAgECAhMzAAADJq7O
39 | # 7fm85HuSAAAAAAMmMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
40 | # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
41 | # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
42 | # bmcgUENBIDIwMTAwHhcNMjAwMzA0MTgyOTI5WhcNMjEwMzAzMTgyOTI5WjB0MQsw
43 | # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
44 | # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
45 | # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
46 | # AQCdlzTEu17Rmng9WzRuyb2xuO+B1Bys+L+OjkcwGpXPeL+/nyZpixNdOcp+jlhU
47 | # uc4R1NDN0xqM/7lsYzRRogXJRY6317Rp+Nr/vEsQxBGv8Htpg7keSEcJOZ2Fl8YZ
48 | # Qjq2TbXFbjL/eWcrffrOKZo5Ws8WVdx1QaurLLxSgG89sCQ662odDXssTs3cbReP
49 | # ra0EuC6W9GIkbK7dIeuVDqJQM1yuyL9TYGS+ullYYdm0Rs7T69c+uvLNwm++770i
50 | # cRhF2ct0LdIWLnzQhV2al5Q/xHGEM7yNs8oj8HwxnC3r8+VqY1PlENJpB1Ft4MFT
51 | # WnvlI6f79seUxCk2+XcrFRnNAgMBAAGjggF9MIIBeTAfBgNVHSUEGDAWBgorBgEE
52 | # AYI3PQYBBggrBgEFBQcDAzAdBgNVHQ4EFgQUXXO7kcJ69l0e2U7ILS/gA6um3BIw
53 | # VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
54 | # dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwODY1KzQ1ODQ5NDAfBgNVHSMEGDAW
55 | # gBTm/F97uyIAWORyTrX0IXQjMubvrDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8v
56 | # Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNDb2RTaWdQQ0Ff
57 | # MjAxMC0wNy0wNi5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRw
58 | # Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY0NvZFNpZ1BDQV8yMDEw
59 | # LTA3LTA2LmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAZ5uyt
60 | # DNxxwSyF3R1yo+OEkDz7RdikZp69mM59CmAlbIvgg3plU7OJDyIXpM919WNhARW/
61 | # t2AyeT38Ns/adX2R9TSkJJAullEARwbK+La17pjKta8RPSgRQ4eImSMdsTHKG/6x
62 | # WZaLI/tbad8zc1AJpe+ypjc2SXX1yvuP03XkUyEak0uAaPYEFt8o7WCSIfqbb+a3
63 | # 0dpt/+c768oxvIjWV5lpfWDp/YE2gxlpCxPGpU+BnJZx2eQA9nCkNo8OE66Lzfut
64 | # V1GUW1hqqdiYaMmNX22telT8Y6D2bjNOGA4foBLrmI6OVpvTkMtkWHsfZ0Kmke94
65 | # 9/Uu/rL9FSgXXbMtMIIGcDCCBFigAwIBAgIKYQxSTAAAAAAAAzANBgkqhkiG9w0B
66 | # AQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
67 | # BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAG
68 | # A1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAw
69 | # HhcNMTAwNzA2MjA0MDE3WhcNMjUwNzA2MjA1MDE3WjB+MQswCQYDVQQGEwJVUzET
70 | # MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMV
71 | # TWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
72 | # aWduaW5nIFBDQSAyMDEwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
73 | # 6Q5kUHlntcTj/QkATJ6UrPdWaOpE2M/FWE+ppXZ8bUW60zmStKQe+fllguQX0o/9
74 | # RJwI6GWTzixVhL99COMuK6hBKxi3oktuSUxrFQfe0dLCiR5xlM21f0u0rwjYzIjW
75 | # axeUOpPOJj/s5v40mFfVHV1J9rIqLtWFu1k/+JC0K4N0yiuzO0bj8EZJwRdmVMkc
76 | # vR3EVWJXcvhnuSUgNN5dpqWVXqsogM3Vsp7lA7Vj07IUyMHIiiYKWX8H7P8O7YAS
77 | # NUwSpr5SW/Wm2uCLC0h31oVH1RC5xuiq7otqLQVcYMa0KlucIxxfReMaFB5vN8sZ
78 | # M4BqiU2jamZjeJPVMM+VHwIDAQABo4IB4zCCAd8wEAYJKwYBBAGCNxUBBAMCAQAw
79 | # HQYDVR0OBBYEFOb8X3u7IgBY5HJOtfQhdCMy5u+sMBkGCSsGAQQBgjcUAgQMHgoA
80 | # UwB1AGIAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQY
81 | # MBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6
82 | # Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1
83 | # dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0
84 | # dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIw
85 | # MTAtMDYtMjMuY3J0MIGdBgNVHSAEgZUwgZIwgY8GCSsGAQQBgjcuAzCBgTA9Bggr
86 | # BgEFBQcCARYxaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL1BLSS9kb2NzL0NQUy9k
87 | # ZWZhdWx0Lmh0bTBABggrBgEFBQcCAjA0HjIgHQBMAGUAZwBhAGwAXwBQAG8AbABp
88 | # AGMAeQBfAFMAdABhAHQAZQBtAGUAbgB0AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEA
89 | # GnTvV08pe8QWhXi4UNMi/AmdrIKX+DT/KiyXlRLl5L/Pv5PI4zSp24G43B4AvtI1
90 | # b6/lf3mVd+UC1PHr2M1OHhthosJaIxrwjKhiUUVnCOM/PB6T+DCFF8g5QKbXDrMh
91 | # KeWloWmMIpPMdJjnoUdD8lOswA8waX/+0iUgbW9h098H1dlyACxphnY9UdumOUjJ
92 | # N2FtB91TGcun1mHCv+KDqw/ga5uV1n0oUbCJSlGkmmzItx9KGg5pqdfcwX7RSXCq
93 | # tq27ckdjF/qm1qKmhuyoEESbY7ayaYkGx0aGehg/6MUdIdV7+QIjLcVBy78dTMgW
94 | # 77Gcf/wiS0mKbhXjpn92W9FTeZGFndXS2z1zNfM8rlSyUkdqwKoTldKOEdqZZ14y
95 | # jPs3hdHcdYWch8ZaV4XCv90Nj4ybLeu07s8n07VeafqkFgQBpyRnc89NT7beBVaX
96 | # evfpUk30dwVPhcbYC/GO7UIJ0Q124yNWeCImNr7KsYxuqh3khdpHM2KPpMmRM19x
97 | # HkCvmGXJIuhCISWKHC1g2TeJQYkqFg/XYTyUaGBS79ZHmaCAQO4VgXc+nOBTGBpQ
98 | # HTiVmx5mMxMnORd4hzbOTsNfsvU9R1O24OXbC2E9KteSLM43Wj5AQjGkHxAIwlac
99 | # vyRdUQKdannSF9PawZSOB3slcUSrBmrm1MbfI5qWdcUxghXLMIIVxwIBATCBlTB+
100 | # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
101 | # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9N
102 | # aWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDEwAhMzAAADJq7O7fm85HuSAAAA
103 | # AAMmMA0GCWCGSAFlAwQCAQUAoIIBBDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIB
104 | # BDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQg
105 | # OX91cEHM5bCC7CYfYW5OA1baW/SP4bnCCqKL1IvmOSEwPAYKKwYBBAGCNwoDHDEu
106 | # DCxMNVVsSEtYYUg2OFRzYnVycGFJK2RGVmlZVjI3Skd2L2JPWHJEWU9wbm1JPTBa
107 | # BgorBgEEAYI3AgEMMUwwSqAkgCIATQBpAGMAcgBvAHMAbwBmAHQAIABXAGkAbgBk
108 | # AG8AdwBzoSKAIGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS93aW5kb3dzMA0GCSqG
109 | # SIb3DQEBAQUABIIBAGTb1lO36P/t9W/R9uepPYMlOdzB2Wmxag0DgPSs+QnoxLZI
110 | # lPp3C9nktMVMz+YE9IXdnhI6afD3P+tcoVzEGhLjdr7E+qj247CXlodBEv5OEtpS
111 | # iQPeN6I5CIjZh5surGhZX3Pxb37mbt0ZuRDhN6JWCQl95iNp+d08e/6An65Ltzf8
112 | # PsyWIU9BsbPr4m7zwnw1QIqQJZ6hfe4kBpDZSQ7lyPsDBNnum/yUL2CMhWdUzyDL
113 | # BpOsJXuCoEaia2Cl4p6R4qzmwjHw+BUsy3gpXrMaHGxN/kBONxuJ9pwMLBoNC9sp
114 | # NNvrw9yLV5hNecz5nUc1jX4fHL20kd17zCY/PK+hghL+MIIS+gYKKwYBBAGCNwMD
115 | # ATGCEuowghLmBgkqhkiG9w0BBwKgghLXMIIS0wIBAzEPMA0GCWCGSAFlAwQCAQUA
116 | # MIIBWQYLKoZIhvcNAQkQAQSgggFIBIIBRDCCAUACAQEGCisGAQQBhFkKAwEwMTAN
117 | # BglghkgBZQMEAgEFAAQgmO4qbbtgj0rjjr2WZsajRnU/xBVkzpzAqRtV32Mh3fMC
118 | # Bl+7+S4BkhgTMjAyMDEyMDIxMzMzMzcuMjM4WjAEgAIB9KCB2KSB1TCB0jELMAkG
119 | # A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
120 | # HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z
121 | # b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg
122 | # VFNTIEVTTjowODQyLTRCRTYtQzI5QTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt
123 | # U3RhbXAgU2VydmljZaCCDk0wggT5MIID4aADAgECAhMzAAABOczo6EOL8DThAAAA
124 | # AAE5MA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
125 | # aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
126 | # cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEw
127 | # MB4XDTIwMTAxNTE3MjgyMVoXDTIyMDExMjE3MjgyMVowgdIxCzAJBgNVBAYTAlVT
128 | # MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
129 | # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVs
130 | # YW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046
131 | # MDg0Mi00QkU2LUMyOUExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNl
132 | # cnZpY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaE/mM4yWTJaGO
133 | # syoG/KJ4+FofmDdPf1DB27oeoCdZwuXP39kqgL9AXPjmBvRp3Xgi+oVoWbYnqj6+
134 | # GFt/ihAk4cNNyNlcEpBNtBP/DosJa90JecVCXZrycR3jYSYTuvFFWYq6ZsegQpX5
135 | # DBh0ZzvSrk7wzZiSon9K1ysWEW2aEXFy9Vn6CDhrPO8Tzv6ygjNhXrOozYpY79NL
136 | # L1l6iLlfhChtXoAq7AkfTzJJnaVAFfOd3yvAPPLr4FioleKb5v5X7sTfvjVvpxD1
137 | # +Y40CkcuGQaqjTv8HXg2Qaqo73vyECNe1WhCkqMq7rLFfOyylCePSuV+xX8fJJb+
138 | # X6LPHspPAgMBAAGjggEbMIIBFzAdBgNVHQ4EFgQUmZ6bhnJUwpnakoqxn0b2UC0G
139 | # DOkwHwYDVR0jBBgwFoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBL
140 | # oEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMv
141 | # TWljVGltU3RhUENBXzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggr
142 | # BgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNU
143 | # aW1TdGFQQ0FfMjAxMC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAK
144 | # BggrBgEFBQcDCDANBgkqhkiG9w0BAQsFAAOCAQEAWFwoavP/NxqFzcFa7UOCiL8Q
145 | # DbEm+7r2EYiToW0g8ddYyK5Wa1FAd/ynJD1qyc/Zxx9HP90yqXKT+rz4g1wIsQSW
146 | # lKCb3XG4IVhsWECEsm2ijN/fxofmtjZnFY31u4MSScl+IaIrpD7ySQI1aZtaPYPF
147 | # HAQXwh8HCMXsQ+FgOB2KUrPjzq7CGCiyivUa4NaKViMagw2reWvAMiRj/zcpSkmG
148 | # iuWmIF2Qg0SxWQJ/PIQuZ70Le1qZm0xJfGtRnBfpat/d1JgQCrLfo8lkmuLBPCG/
149 | # OMh6oPx4rNRSHe58Tb8SMQBtpsGEKjb61SjKdPpMAm2N2K9riDs/vf9VCtJwxzCC
150 | # BnEwggRZoAMCAQICCmEJgSoAAAAAAAIwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNV
151 | # BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
152 | # HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29m
153 | # dCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTEwMDcwMTIxMzY1
154 | # NVoXDTI1MDcwMTIxNDY1NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hp
155 | # bmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
156 | # b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw
157 | # ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpHQ28dxGKOiDs/BOX9fp/
158 | # aZRrdFQQ1aUKAIKF++18aEssX8XD5WHCdrc+Zitb8BVTJwQxH0EbGpUdzgkTjnxh
159 | # MFmxMEQP8WCIhFRDDNdNuDgIs0Ldk6zWczBXJoKjRQ3Q6vVHgc2/JGAyWGBG8lhH
160 | # hjKEHnRhZ5FfgVSxz5NMksHEpl3RYRNuKMYa+YaAu99h/EbBJx0kZxJyGiGKr0tk
161 | # iVBisV39dx898Fd1rL2KQk1AUdEPnAY+Z3/1ZsADlkR+79BL/W7lmsqxqPJ6Kgox
162 | # 8NpOBpG2iAg16HgcsOmZzTznL0S6p/TcZL2kAcEgCZN4zfy8wMlEXV4WnAEFTyJN
163 | # AgMBAAGjggHmMIIB4jAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4EFgQU1WM6XIox
164 | # kPNDe3xGG8UzaFqFbVUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P
165 | # BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU1fZWy4/oolxiaNE9
166 | # lJBb186aGMQwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQu
167 | # Y29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYtMjMuY3Js
168 | # MFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3Nv
169 | # ZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcnQwgaAG
170 | # A1UdIAEB/wSBlTCBkjCBjwYJKwYBBAGCNy4DMIGBMD0GCCsGAQUFBwIBFjFodHRw
171 | # Oi8vd3d3Lm1pY3Jvc29mdC5jb20vUEtJL2RvY3MvQ1BTL2RlZmF1bHQuaHRtMEAG
172 | # CCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAFAAbwBsAGkAYwB5AF8AUwB0AGEA
173 | # dABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQAH5ohRDeLG4Jg/gXED
174 | # PZ2joSFvs+umzPUxvs8F4qn++ldtGTCzwsVmyWrf9efweL3HqJ4l4/m87WtUVwgr
175 | # UYJEEvu5U4zM9GASinbMQEBBm9xcF/9c+V4XNZgkVkt070IQyK+/f8Z/8jd9Wj8c
176 | # 8pl5SpFSAK84Dxf1L3mBZdmptWvkx872ynoAb0swRCQiPM/tA6WWj1kpvLb9BOFw
177 | # nzJKJ/1Vry/+tuWOM7tiX5rbV0Dp8c6ZZpCM/2pif93FSguRJuI57BlKcWOdeyFt
178 | # w5yjojz6f32WapB4pm3S4Zz5Hfw42JT0xqUKloakvZ4argRCg7i1gJsiOCC1JeVk
179 | # 7Pf0v35jWSUPei45V3aicaoGig+JFrphpxHLmtgOR5qAxdDNp9DvfYPw4TtxCd9d
180 | # dJgiCGHasFAeb73x4QDf5zEHpJM692VHeOj4qEir995yfmFrb3epgcunCaw5u+zG
181 | # y9iCtHLNHfS4hQEegPsbiSpUObJb2sgNVZl6h3M7COaYLeqN4DMuEin1wC9UJyH3
182 | # yKxO2ii4sanblrKnQqLJzxlBTeCG+SqaoxFmMNO7dDJL32N79ZmKLxvHIa9Zta7c
183 | # RDyXUHHXodLFVeNp3lfB0d4wwP3M5k37Db9dT+mdHhk4L7zPWAUu7w2gUDXa7wkn
184 | # HNWzfjUeCLraNtvTX4/edIhJEqGCAtcwggJAAgEBMIIBAKGB2KSB1TCB0jELMAkG
185 | # A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
186 | # HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9z
187 | # b2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMg
188 | # VFNTIEVTTjowODQyLTRCRTYtQzI5QTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUt
189 | # U3RhbXAgU2VydmljZaIjCgEBMAcGBSsOAwIaAxUADU2U/hveloSNdD8d7koExrNl
190 | # jAeggYMwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ
191 | # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
192 | # MSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG
193 | # 9w0BAQUFAAIFAONxrBEwIhgPMjAyMDEyMDIxNDAwNDlaGA8yMDIwMTIwMzE0MDA0
194 | # OVowdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA43GsEQIBADAKAgEAAgIaXQIB/zAH
195 | # AgEAAgIR0jAKAgUA43L9kQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZ
196 | # CgMCoAowCAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAFeB
197 | # M5Lsl0JaAJfd9Ws5DaVmpZzHCP0tz3m4jc+fWsomWl2xbxmZZrA5iZTROqD8NA2W
198 | # cHAd4l6YW33n2HLb/235a+di4qNbfO1aB8RwV4DnDOeKrnMueSUX9HPgzYeNiwO5
199 | # POVLkWNgdSp9n3WwLmkBHJqwKj7yZJYBn1WhoAYRMYIDDTCCAwkCAQEwgZMwfDEL
200 | # MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
201 | # bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWlj
202 | # cm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAE5zOjoQ4vwNOEAAAAAATkw
203 | # DQYJYIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAv
204 | # BgkqhkiG9w0BCQQxIgQgT2fOKVrbVD6DTSbLnRoXw9OC87suxw/AmNpMxb1eJt4w
205 | # gfoGCyqGSIb3DQEJEAIvMYHqMIHnMIHkMIG9BCA8oY7kOKPXJHsxQrHigQWufGpV
206 | # J/Oaep8mptSgBw/8nzCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpX
207 | # YXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQg
208 | # Q29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAy
209 | # MDEwAhMzAAABOczo6EOL8DThAAAAAAE5MCIEIFnvE0ACo09q/HiCvt+eIX4CE2xM
210 | # XwzcuVOex9uNDSt6MA0GCSqGSIb3DQEBCwUABIIBAEuw4XBimrb/RMRBHYSsfJfU
211 | # mE52T+1quxDHHbymNuvEGrry0q1Gui19qkSlo7KjPz7f0bWF6+w7rmFhYzW5KFQS
212 | # Fm6BrSdrXToXHoWpkcfd3bW/SAO+xdDoKCXynDR8Hrtb0b091o5EuL4WgrFckz2B
213 | # wLBLW0l+ca+8skrie+hVMAgWkOVIxE6lWzFUKgsvCzgybSJmUyMFmrvtbxmqzhJu
214 | # MH+AB1jvOSrOoTaJURgJBdqvCUzs52tIFmG+e1IyMQuIVLG8gEhmjgzxvdZwX5fF
215 | # PMbZUFn6i0VaGyqEv92h7Cp/RoqOrMEmd/nUMi3UcPgcOAy9tQy3mrprfryuwio=
216 | # SIG # End signature block
217 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/appxpackaging.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/appxpackaging.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/appxsip.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/appxsip.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/makeappx.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/makeappx.exe
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/makecert.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/makecert.exe
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/mfdetours.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/mfdetours.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/midlrtmd.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/midlrtmd.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/mrmsupport.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/mrmsupport.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/msisip.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/msisip.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/mssign32.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/mssign32.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/opcservices.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/opcservices.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/provisioningtesthelper.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/provisioningtesthelper.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/pvk2pfx.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/pvk2pfx.exe
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/signtool.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/signtool.exe
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/signtool.exe.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
15 |
16 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/tedutil.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/tedutil.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/wintrust.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/wintrust.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/wintrust.dll.ini:
--------------------------------------------------------------------------------
1 | [0]
2 | DLL=msisip.dll
3 | GUID={000C10F1-0000-0000-C000-000000000046}
4 | CryptSIPDllCreateIndirectData=MsiSIPCreateIndirectData
5 | CryptSIPDllGetSignedDataMsg=MsiSIPGetSignedDataMsg
6 | CryptSIPDllIsMyFileType2=MsiSIPIsMyTypeOfFile
7 | CryptSIPDllPutSignedDataMsg=MsiSIPPutSignedDataMsg
8 | CryptSIPDllRemoveSignedDataMsg=MsiSIPRemoveSignedDataMsg
9 | CryptSIPDllVerifyIndirectData=MsiSIPVerifyIndirectData
10 |
11 |
12 | [1]
13 | DLL=AppxSip.dll
14 | GUID={0AC5DF4B-CE07-4DE2-B76E-23C839A09FD1}
15 | CryptSIPDllCreateIndirectData=AppxSipCreateIndirectData
16 | CryptSIPDllGetSignedDataMsg=AppxSipGetSignedDataMsg
17 | CryptSIPDllIsMyFileType2=AppxSipIsFileSupportedName
18 | CryptSIPDllPutSignedDataMsg=AppxSipPutSignedDataMsg
19 | CryptSIPDllRemoveSignedDataMsg=AppxSipRemoveSignedDataMsg
20 | CryptSIPDllVerifyIndirectData=AppxSipVerifyIndirectData
21 |
22 |
23 | [2]
24 | DLL=AppxSip.dll
25 | GUID={0F5F58B3-AADE-4B9A-A434-95742D92ECEB}
26 | CryptSIPDllCreateIndirectData=AppxBundleSipCreateIndirectData
27 | CryptSIPDllGetSignedDataMsg=AppxBundleSipGetSignedDataMsg
28 | CryptSIPDllIsMyFileType2=AppxBundleSipIsFileSupportedName
29 | CryptSIPDllPutSignedDataMsg=AppxBundleSipPutSignedDataMsg
30 | CryptSIPDllRemoveSignedDataMsg=AppxBundleSipRemoveSignedDataMsg
31 | CryptSIPDllVerifyIndirectData=AppxBundleSipVerifyIndirectData
32 |
33 |
34 | [3]
35 | DLL=AppxSip.dll
36 | GUID={CF78C6DE-64A2-4799-B506-89ADFF5D16D6}
37 | CryptSIPDllCreateIndirectData=EappxSipCreateIndirectData
38 | CryptSIPDllGetSignedDataMsg=EappxSipGetSignedDataMsg
39 | CryptSIPDllIsMyFileType2=EappxSipIsFileSupportedName
40 | CryptSIPDllPutSignedDataMsg=EappxSipPutSignedDataMsg
41 | CryptSIPDllRemoveSignedDataMsg=EappxSipRemoveSignedDataMsg
42 | CryptSIPDllVerifyIndirectData=EappxSipVerifyIndirectData
43 |
44 |
45 | [4]
46 | DLL=AppxSip.dll
47 | GUID={D1D04F0C-9ABA-430D-B0E4-D7E96ACCE66C}
48 | CryptSIPDllCreateIndirectData=EappxBundleSipCreateIndirectData
49 | CryptSIPDllGetSignedDataMsg=EappxBundleSipGetSignedDataMsg
50 | CryptSIPDllIsMyFileType2=EappxBundleSipIsFileSupportedName
51 | CryptSIPDllPutSignedDataMsg=EappxBundleSipPutSignedDataMsg
52 | CryptSIPDllRemoveSignedDataMsg=EappxBundleSipRemoveSignedDataMsg
53 | CryptSIPDllVerifyIndirectData=EappxBundleSipVerifyIndirectData
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/WSTools/wsutilhelper.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MadCkull/WSAppBak/10216907118971c4d4dc4d0caf588f939d97c21d/WSAppBak/WSAppBak/WSTools/wsutilhelper.dll
--------------------------------------------------------------------------------
/WSAppBak/WSAppBak/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | PerMonitorV2
18 |
19 |
20 |
--------------------------------------------------------------------------------