├── .gitignore
├── Windows 10 Mobile Toolbox
├── AppData
│ ├── Temp
│ │ └── PADDING
│ └── bin
│ │ ├── wpinternals
│ │ └── PADDING
│ │ ├── dd.exe
│ │ ├── thor2
│ │ └── thor2.exe
│ │ ├── iutool
│ │ ├── iutool.exe
│ │ ├── getdulogs.exe
│ │ ├── updateapi.dll
│ │ └── updateapp.exe
│ │ ├── res
│ │ └── flightcert
│ │ │ └── SbcpFlightToken.p7b
│ │ └── buildlists
│ │ ├── 15254.603.txt
│ │ └── 10586.107.txt
├── Square44x44Logo.altform-unplated_targetsize-256.ico
├── App.xaml.cs
├── Properties
│ └── PublishProfiles
│ │ ├── FolderProfile.pubxml
│ │ └── FolderProfile.pubxml.user
├── FFUConvert
│ ├── FfuFileBlock.cs
│ ├── FfuFileStore.cs
│ └── FfuFile.cs
├── AssemblyInfo.cs
├── Windows 10 Mobile Toolbox.csproj.user
├── App.xaml
├── AssetsWindow.xaml
├── FileSize.cs
├── app.manifest
├── Windows 10 Mobile Toolbox.csproj
├── AssetsWindow.xaml.cs
├── RegHelper.cs
├── ReadDisksClass.cs
├── FFUImageHelper.cs
├── DeviceHelper.cs
└── MainWindow.xaml
├── 1.png
├── 2.png
├── 3.png
├── 4.png
├── Windows 10 Mobile Toolbox.sln
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | README.md.backup
3 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/Temp/PADDING:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/wpinternals/PADDING:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/1.png
--------------------------------------------------------------------------------
/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/2.png
--------------------------------------------------------------------------------
/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/3.png
--------------------------------------------------------------------------------
/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/4.png
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/dd.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/Windows 10 Mobile Toolbox/AppData/bin/dd.exe
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/thor2/thor2.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/Windows 10 Mobile Toolbox/AppData/bin/thor2/thor2.exe
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/iutool/iutool.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/Windows 10 Mobile Toolbox/AppData/bin/iutool/iutool.exe
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/iutool/getdulogs.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/Windows 10 Mobile Toolbox/AppData/bin/iutool/getdulogs.exe
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/iutool/updateapi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/Windows 10 Mobile Toolbox/AppData/bin/iutool/updateapi.dll
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/iutool/updateapp.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/Windows 10 Mobile Toolbox/AppData/bin/iutool/updateapp.exe
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/res/flightcert/SbcpFlightToken.p7b:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/Windows 10 Mobile Toolbox/AppData/bin/res/flightcert/SbcpFlightToken.p7b
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/Square44x44Logo.altform-unplated_targetsize-256.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empyreal96/W10M_Toolbox/HEAD/Windows 10 Mobile Toolbox/Square44x44Logo.altform-unplated_targetsize-256.ico
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Configuration;
4 | using System.Data;
5 | using System.Linq;
6 | using System.Threading.Tasks;
7 | using System.Windows;
8 | using System.Windows.Threading;
9 |
10 | namespace W10M_Toolbox
11 | {
12 | ///
13 | /// Interaction logic for App.xaml
14 | ///
15 |
16 | public partial class App : Application
17 | {
18 |
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/Properties/PublishProfiles/FolderProfile.pubxml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | Debug
8 | Any CPU
9 | C:\Windows 10 Toolbox
10 | FileSystem
11 | net5.0-windows
12 | false
13 |
14 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/FFUConvert/FfuFileBlock.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 |
3 | namespace FfuConvert
4 | {
5 | public sealed class FfuFileBlock
6 | {
7 | internal FfuFileBlock()
8 | {
9 | }
10 |
11 | public int DescriptorIndex { get; internal set; }
12 | public SeekOrigin TargetSeekOrigin { get; internal set; }
13 | public long TargetSeekOffset { get; internal set; }
14 | public byte[] Data { get; internal set; }
15 |
16 | public override string ToString() => "[" + DescriptorIndex + "] " + TargetSeekOrigin + ":" + TargetSeekOffset + " (" + Data?.Length + ")";
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Windows;
2 |
3 | [assembly: ThemeInfo(
4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
5 | //(used if a resource is not found in the page,
6 | // or application resource dictionaries)
7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
8 | //(used if a resource is not found in the page,
9 | // app, or any theme specific resource dictionaries)
10 | )]
11 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/Windows 10 Mobile Toolbox.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <_LastSelectedProfileId>C:\Users\Empyreal.DESKTOP-C0F96C7\source\repos\W10M_Toolbox\Windows 10 Mobile Toolbox\Properties\PublishProfiles\FolderProfile.pubxml
5 |
6 |
7 |
8 | Designer
9 |
10 |
11 |
12 |
13 | Designer
14 |
15 |
16 | Designer
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/Properties/PublishProfiles/FolderProfile.pubxml.user:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | True|2023-01-18T22:17:51.8004693Z;True|2023-01-18T21:56:41.3934660+00:00;True|2022-04-24T17:15:24.2083485+01:00;True|2022-04-24T15:01:13.0281455+01:00;False|2022-04-24T15:00:24.7677727+01:00;False|2022-04-24T14:59:13.9063060+01:00;True|2022-03-02T16:32:16.0136488+00:00;True|2022-03-02T16:27:54.7436436+00:00;True|2022-03-02T09:48:18.1916214+00:00;True|2022-03-01T21:43:37.0284886+00:00;True|2022-03-01T21:43:23.7872129+00:00;True|2022-03-01T11:36:24.8423297+00:00;True|2022-03-01T11:25:57.8406970+00:00;True|2022-03-01T09:59:52.0678567+00:00;True|2022-02-27T22:55:12.6520971+00:00;True|2022-02-27T22:46:42.4591195+00:00;True|2022-02-27T22:42:55.4591256+00:00;True|2022-02-27T22:42:24.0114561+00:00;True|2022-02-27T22:38:45.9339058+00:00;True|2022-02-27T22:29:12.1732669+00:00;True|2022-02-25T22:10:23.5920976+00:00;
8 |
9 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AssetsWindow.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
16 |
20 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.32126.315
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Windows 10 Mobile Toolbox", "Windows 10 Mobile Toolbox\Windows 10 Mobile Toolbox.csproj", "{DE89CF07-5C70-4BAC-BEFF-5F204561A800}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Debug|x64 = Debug|x64
12 | Debug|x86 = Debug|x86
13 | Release|Any CPU = Release|Any CPU
14 | Release|x64 = Release|x64
15 | Release|x86 = Release|x86
16 | EndGlobalSection
17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
18 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Debug|Any CPU.Build.0 = Debug|Any CPU
20 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Debug|x64.ActiveCfg = Debug|x64
21 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Debug|x64.Build.0 = Debug|x64
22 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Debug|x86.ActiveCfg = Debug|x86
23 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Debug|x86.Build.0 = Debug|x86
24 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Release|Any CPU.ActiveCfg = Release|Any CPU
25 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Release|Any CPU.Build.0 = Release|Any CPU
26 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Release|x64.ActiveCfg = Release|x64
27 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Release|x64.Build.0 = Release|x64
28 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Release|x86.ActiveCfg = Release|x86
29 | {DE89CF07-5C70-4BAC-BEFF-5F204561A800}.Release|x86.Build.0 = Release|x86
30 | EndGlobalSection
31 | GlobalSection(SolutionProperties) = preSolution
32 | HideSolutionNode = FALSE
33 | EndGlobalSection
34 | GlobalSection(ExtensibilityGlobals) = postSolution
35 | SolutionGuid = {316B38F1-956D-4FA7-A052-4177606D8BCD}
36 | EndGlobalSection
37 | EndGlobal
38 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Windows 10 Mobile Toolbox
2 |
3 | A desktop tool to help with various task and configurations with Windows Phones. Note this is currently *in development* software!
4 |
5 |
6 |
7 |
8 |
9 | ### Updated:
10 | Fixes:
11 | - Tried to improve detection on app load if device is plugged in already.
12 | - Fixed device info not being found for certain devices with Nokia branding.
13 | - Fixed issue where registry wouldn't mount due to some devices missing certain registry values by default.
14 | - Fixed issue with Updater telling user files need to be downloaded when the files are already downloaded.
15 |
16 | New feature:
17 | - Added first test of a Registry tab allowing users to modify specific registry values. (This is WIP)
18 |
19 | (NOTE: Disk reading is slow on my tests, I plan to look at improving this. Also there way be a few bugs, this is my first time using disk management.)
20 |
21 |
22 | # What can it do?
23 | ### General:
24 | - Manage booting into different states (Flash, Mass Storage and Normal)
25 | - Push Updates to your device (10549 > 15254)
26 |
27 | ### Modify Device Settings:
28 | - Windows Update
29 | - Windows Firewall
30 | - Page File
31 | - Dev Mode
32 | - Device Portal
33 | - C:\ MTP Access
34 | - Local Crash Dumps
35 | - Flight Signing
36 |
37 | ### Backup device
38 | - Seperate Partitions
39 | - Full EMMC backup
40 |
41 | ### FFU Conversion
42 | - WP8.x FFU Conversion to VHD
43 | - WP8.x FFU Manifest/Viewable Info
44 | - W10M FFU Manifest/Viewable Info
45 |
46 | ### Registry
47 | - Modify user selected values in HKLM\SYSTEM and HKLM\SOFTWARE
48 |
49 | More to be added
50 |
51 | ## Notes:
52 |
53 | - Third party tools are used with this tool, all rights reserved to the owners.
54 | - This tool includes "iutool" suite and "thor2.exe"
55 | - WPInternals is required to automate various tasks, the latest will be downloaded through the app, and saved in the apps's data folder
56 | - Uses DiscUtils nuget for vhd handling
57 | - Uses WindowsAPICodePack for OpenFolder dialog
58 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/FileSize.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 WPDevPortal
8 | {
9 | public static class ExtensionMethods
10 | {
11 | public static string ToFileSize(this long l)
12 | {
13 | try
14 | {
15 | return string.Format(new FileSizeFormatProvider(), "{0:fs}", l);
16 | }
17 | catch (System.Exception e)
18 | {
19 | return "0 KB";
20 | }
21 | }
22 | }
23 |
24 | public class FileSizeFormatProvider : IFormatProvider, ICustomFormatter
25 | {
26 | public object GetFormat(Type formatType)
27 | {
28 | if (formatType == typeof(ICustomFormatter)) return this;
29 | return null;
30 | }
31 |
32 | private const string fileSizeFormat = "fs";
33 | private const Decimal OneKiloByte = 1024M;
34 | private const Decimal OneMegaByte = OneKiloByte * 1024M;
35 | private const Decimal OneGigaByte = OneMegaByte * 1024M;
36 |
37 | public string Format(string format, object arg, IFormatProvider formatProvider)
38 | {
39 | try
40 | {
41 | if (format == null || !format.StartsWith(fileSizeFormat))
42 | {
43 | return defaultFormat(format, arg, formatProvider);
44 | }
45 | }
46 | catch (System.Exception e)
47 | {
48 |
49 | }
50 | if (arg is string)
51 | {
52 | return defaultFormat(format, arg, formatProvider);
53 | }
54 |
55 | Decimal size;
56 |
57 | try
58 | {
59 | size = Convert.ToDecimal(arg);
60 | }
61 | catch (System.Exception e)
62 | {
63 | return defaultFormat(format, arg, formatProvider);
64 | }
65 |
66 | string suffix;
67 | if (size > OneGigaByte)
68 | {
69 | size /= OneGigaByte;
70 | suffix = " GB";
71 | }
72 | else if (size > OneMegaByte)
73 | {
74 | size /= OneMegaByte;
75 | suffix = " MB";
76 | }
77 | else if (size > OneKiloByte)
78 | {
79 | size /= OneKiloByte;
80 | suffix = " KB";
81 | }
82 | else
83 | {
84 | suffix = " B";
85 | }
86 |
87 | string precision = format.Substring(2);
88 | if (String.IsNullOrEmpty(precision)) precision = "2";
89 | return String.Format("{0:N" + precision + "}{1}", size, suffix);
90 |
91 | }
92 |
93 | private static string defaultFormat(string format, object arg, IFormatProvider formatProvider)
94 | {
95 | IFormattable formattableArg = arg as IFormattable;
96 | if (formattableArg != null)
97 | {
98 | return formattableArg.ToString(format, formatProvider);
99 | }
100 | return arg.ToString();
101 | }
102 |
103 | }
104 |
105 | }
106 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
54 |
62 |
63 |
64 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/Windows 10 Mobile Toolbox.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | WinExe
5 | net5.0-windows
6 | W10M_Toolbox
7 | true
8 | Square44x44Logo.altform-unplated_targetsize-256.ico
9 | app.manifest
10 | Empyreal96
11 | Simple tool to help WP users manage their Phone.
12 | Empyreal96
13 | true
14 | W10MToolbox_key.snk
15 | AnyCPU;x64;x86
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 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | Always
53 |
54 |
55 | Always
56 |
57 |
58 | Always
59 |
60 |
61 | Always
62 |
63 |
64 | Always
65 |
66 |
67 | Always
68 |
69 |
70 | Always
71 |
72 |
73 | Always
74 |
75 |
76 | Always
77 |
78 |
79 | Always
80 |
81 |
82 | Always
83 |
84 |
85 | Always
86 |
87 |
88 | Always
89 |
90 |
91 | Always
92 |
93 |
94 | Always
95 |
96 |
97 | Always
98 |
99 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AssetsWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using MahApps.Metro.Controls;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.ComponentModel;
5 | using System.IO;
6 | using System.IO.Compression;
7 | using System.Linq;
8 | using System.Net;
9 | using System.Text;
10 | using System.Threading;
11 | using System.Threading.Tasks;
12 | using System.Windows;
13 | using System.Windows.Controls;
14 | using System.Windows.Data;
15 | using System.Windows.Documents;
16 | using System.Windows.Input;
17 | using System.Windows.Media;
18 | using System.Windows.Media.Imaging;
19 | using System.Windows.Shapes;
20 | using WPDevPortal;
21 |
22 | namespace W10M_Toolbox
23 | {
24 | ///
25 | /// Interaction logic for AssetsWindow.xaml
26 | ///
27 | public partial class AssetsWindow : Window
28 | {
29 | public AssetsWindow()
30 | {
31 | InitializeComponent();
32 | WPInternalsHelp.Text = "WPInternals is an Open-Source tool to allow users to Unlock/Relock Bootloader, Enable/Disable Root Access, Flash FFUs and more!";
33 | }
34 | static string wpiurl;
35 | static string wpifilename;
36 | static bool IsDLCompleted;
37 | private void WPInternalsDL_Click(object sender, RoutedEventArgs e)
38 | {
39 | if (System.Environment.Is64BitOperatingSystem == true)
40 | {
41 |
42 | wpiurl = "https://github.com/ReneLergner/WPinternals/releases/download/2.9.2/win-x64.zip";
43 | wpifilename = "win-x64.zip";
44 | if (File.Exists(@$".\AppData\bin\wpinternals\{wpifilename}") == true)
45 | {
46 | File.Delete(@$".\AppData\bin\wpinternals\{wpifilename}");
47 | }
48 | }
49 | else
50 | {
51 | wpiurl = "https://github.com/ReneLergner/WPinternals/releases/download/2.9.2/win-x86.zip";
52 | wpifilename = "win-x86.zip";
53 | if (File.Exists(@$".\AppData\bin\wpinternals\{wpifilename}") == true)
54 | {
55 | File.Delete(@$".\AppData\bin\wpinternals\{wpifilename}");
56 | }
57 | }
58 |
59 |
60 | AssetsProgress.IsEnabled = true;
61 | DLProgressText.IsEnabled = true;
62 |
63 |
64 | WebClient client = new WebClient();
65 | client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
66 | client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
67 | client.DownloadFileAsync(new Uri(wpiurl), @$".\AppData\bin\wpinternals\{wpifilename}");
68 |
69 |
70 |
71 |
72 | }
73 | void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
74 | {
75 |
76 | double bytesIn = double.Parse(e.BytesReceived.ToString());
77 | double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
78 | double percentage = bytesIn / totalBytes * 100;
79 | DLProgressText.Text = "Downloaded " + e.BytesReceived.ToFileSize() + " of " + e.TotalBytesToReceive.ToFileSize() + $" from: {wpiurl}";
80 | AssetsProgress.Value = int.Parse(Math.Truncate(percentage).ToString());
81 |
82 | }
83 | void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
84 | {
85 |
86 | DLProgressText.Text = "Download Completed";
87 | UnpackDownloadedFile(@$".\AppData\bin\wpinternals\{wpifilename}", @$".\AppData\bin\wpinternals\{wpifilename.Replace(".zip", "")}", ".zip");
88 |
89 | IsDLCompleted = true;
90 |
91 | }
92 |
93 | ///
94 | /// Unpack Downloaded File to AppData
95 | ///
96 | ///
97 | ///
98 | ///
99 | public async void UnpackDownloadedFile(string filepath, string outputpath, string filetype)
100 | {
101 | DLProgressText.Text = "Extracting to AppData";
102 | AssetsProgress.IsIndeterminate = true;
103 | if (!Directory.Exists(outputpath))
104 | {
105 | await Task.Run(() =>
106 | {
107 | ZipFile.ExtractToDirectory(filepath, outputpath);
108 | });
109 | DLProgressText.Text = "Finished";
110 | WPInternalsDL.IsEnabled = false;
111 | AssetsProgress.IsEnabled = false;
112 | DLProgressText.IsEnabled = true;
113 | } else
114 | {
115 | DLProgressText.Text = "Removing old data";
116 | await Task.Run(() =>
117 | {
118 | Directory.Delete(outputpath, true);
119 | ZipFile.ExtractToDirectory(filepath, outputpath);
120 | });
121 | DLProgressText.Text = "Finished";
122 | WPInternalsDL.IsEnabled = false;
123 | AssetsProgress.IsIndeterminate = false;
124 | AssetsProgress.IsEnabled = false;
125 | }
126 |
127 | }
128 | }
129 | }
130 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/FFUConvert/FfuFileStore.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Diagnostics;
5 | using System.IO;
6 | using System.Linq;
7 |
8 | namespace FfuConvert
9 | {
10 | public sealed class FfuFileStore
11 | {
12 | internal List _descriptors = new List();
13 | private FfuFile _file;
14 |
15 | internal FfuFileStore(FfuFile file)
16 | {
17 | _file = file;
18 | }
19 |
20 | public event EventHandler ProgressChanged;
21 |
22 | public int Index { get; internal set; } // 1-based
23 | public long PayloadPosition { get; internal set; }
24 | public string DevicePath { get; internal set; }
25 | public int BlockCount => _descriptors.Select(d => d.BlockCount).Sum();
26 | public long PayloadSizeInBytes => BlockCount * _file.BlockSizeInBytes;
27 | public long TargetSizeInBytes => MaxBlockIndex * (long)_file.BlockSizeInBytes;
28 | public int MaxBlockIndex => _descriptors.Select(d => d.Locations.Where(l1 => l1.dwDiskAccessMethod == FfuFile.DISK_ACCESS_METHOD.DISK_BEGIN).Select(l2 => l2.dwBlockIndex)
29 | .DefaultIfEmpty().Max())
30 | .DefaultIfEmpty().Max();
31 |
32 | private void OnProgressChanged(FfuFileBlock block)
33 | {
34 | ProgressChanged?.Invoke(this, new ProgressChangedEventArgs((100 * block.DescriptorIndex) / _descriptors.Count, block));
35 | }
36 |
37 | public IEnumerable EnumerateBlocks()
38 | {
39 | var block = new byte[_file.BlockSizeInBytes];
40 | for (int i = 0; i < _descriptors.Count; i++)
41 | {
42 | // move to block #i
43 | _file.SeekBegin(PayloadPosition + i * _file.BlockSizeInBytes);
44 |
45 | if (!_file.TryRead(block))
46 | throw new InvalidDataException();
47 |
48 | var desc = _descriptors[i];
49 | foreach (var location in desc.Locations)
50 | {
51 | var bl = new FfuFileBlock
52 | {
53 | DescriptorIndex = i,
54 | Data = block
55 | };
56 | switch (location.dwDiskAccessMethod)
57 | {
58 | case FfuFile.DISK_ACCESS_METHOD.DISK_BEGIN:
59 | bl.TargetSeekOrigin = SeekOrigin.Begin;
60 | bl.TargetSeekOffset = location.dwBlockIndex * (long)_file.BlockSizeInBytes;
61 | break;
62 |
63 | case FfuFile.DISK_ACCESS_METHOD.DISK_END:
64 | bl.TargetSeekOrigin = SeekOrigin.End;
65 | bl.TargetSeekOffset = -((location.dwBlockIndex + 1) * (long)_file.BlockSizeInBytes);
66 | break;
67 |
68 | default:
69 | throw new NotSupportedException();
70 | }
71 | yield return bl;
72 | }
73 | }
74 | }
75 |
76 | public void WriteVirtualDisk(string filePath)
77 | {
78 | if (filePath == null)
79 | throw new ArgumentNullException(nameof(filePath));
80 |
81 | if (Path.GetExtension(filePath).ToLowerInvariant() != ".vhdx")
82 | throw new NotSupportedException();
83 |
84 | using (var file = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite, FileShare.Read))
85 | {
86 | using (var vd = DiscUtils.Vhdx.Disk.InitializeDynamic(file, DiscUtils.Streams.Ownership.None, TargetSizeInBytes))
87 | {
88 | foreach (var block in EnumerateBlocks())
89 | {
90 | Debug.WriteLine($"(Seek) Target Offset: {block.TargetSeekOffset} | Target Origin: {block.TargetSeekOrigin}");
91 | vd.Content.Seek(block.TargetSeekOffset, block.TargetSeekOrigin);
92 | vd.Content.Write(block.Data, 0, block.Data.Length);
93 | OnProgressChanged(block);
94 | }
95 | }
96 | }
97 | }
98 |
99 | //Not Finished
100 | public void WriteDumpDisk(string filePath, FfuFile ffu)
101 | {
102 | if (filePath == null)
103 | throw new ArgumentNullException(nameof(filePath));
104 | if (ffu == null)
105 | {
106 | throw new ArgumentNullException(nameof(ffu));
107 | }
108 |
109 | if (Path.GetExtension(filePath).ToLowerInvariant() != ".img")
110 | throw new NotSupportedException();
111 |
112 | using (var file = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite, FileShare.Read))
113 | {
114 | using (var vd = DiscUtils.Vhdx.Disk.InitializeDynamic(file, DiscUtils.Streams.Ownership.None, TargetSizeInBytes))
115 | {
116 | foreach (var block in EnumerateBlocks())
117 | {
118 | vd.Content.Seek(block.TargetSeekOffset, block.TargetSeekOrigin);
119 | vd.Content.Write(block.Data, 0, block.Data.Length);
120 | OnProgressChanged(block);
121 | }
122 | }
123 | }
124 | }
125 |
126 | public void WriteRaw(string filePath)
127 | {
128 | if (filePath == null)
129 | throw new ArgumentNullException(nameof(filePath));
130 |
131 | using (var file = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.Read))
132 | {
133 | file.SetLength(TargetSizeInBytes);
134 | foreach (var block in EnumerateBlocks())
135 | {
136 | file.Seek(block.TargetSeekOffset, block.TargetSeekOrigin);
137 | file.Write(block.Data, 0, block.Data.Length);
138 | OnProgressChanged(block);
139 | }
140 | }
141 | }
142 | }
143 | }
144 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/RegHelper.cs:
--------------------------------------------------------------------------------
1 | ////
2 | //// Another helper thanks to a few stackexchange posts, cann't remember the link
3 | ////
4 | ////
5 |
6 | using Microsoft.Win32;
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Diagnostics;
10 | using System.IO;
11 | using System.Linq;
12 | using System.Runtime.InteropServices;
13 | using System.Text;
14 | using System.Threading.Tasks;
15 |
16 | namespace W10M_Toolbox
17 | {
18 | class RegHelper
19 | {
20 | public static bool IsRegistryMounted;
21 | public static string rtHiveFileName;
22 | public static void MountRegistryHive(string hivePath, string hiveMountName)
23 | {
24 | //Find a way to detect Mass Storage //
25 | rtHiveFileName = Path.GetFileNameWithoutExtension(hivePath);
26 | string loadedRegistryHive = RegistryInterop.Load(hivePath);
27 | RegistryKey registry = Registry.LocalMachine.OpenSubKey(loadedRegistryHive);
28 | IsRegistryMounted = true;
29 | }
30 | }
31 |
32 |
33 | class RegistryInterop
34 | {
35 | [StructLayout(LayoutKind.Sequential)]
36 | public struct LUID
37 | {
38 | public int LowPart;
39 | public int HighPart;
40 | }
41 |
42 | [StructLayout(LayoutKind.Sequential)]
43 | public struct TOKEN_PRIVILEGES
44 | {
45 | public LUID Luid;
46 | public int Attributes;
47 | public int PrivilegeCount;
48 | }
49 |
50 | [DllImport("advapi32.dll", CharSet = CharSet.Auto)]
51 | public static extern int OpenProcessToken(int ProcessHandle, int DesiredAccess, ref int tokenhandle);
52 |
53 | [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
54 | public static extern int GetCurrentProcess();
55 |
56 | [DllImport("advapi32.dll", CharSet = CharSet.Auto)]
57 | public static extern int LookupPrivilegeValue(string lpsystemname, string lpname, [MarshalAs(UnmanagedType.Struct)] ref LUID lpLuid);
58 |
59 | [DllImport("advapi32.dll", CharSet = CharSet.Auto)]
60 | public static extern int AdjustTokenPrivileges(int tokenhandle, int disableprivs, [MarshalAs(UnmanagedType.Struct)] ref TOKEN_PRIVILEGES Newstate, int bufferlength, int PreivousState, int Returnlength);
61 |
62 | [DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
63 | public static extern int RegLoadKey(uint hKey, string lpSubKey, string lpFile);
64 |
65 | [DllImport("advapi32.dll", SetLastError = true)]
66 | static extern Int32 RegUnLoadKey(UInt32 hKey, string lpSubKey);
67 | public const int TOKEN_ADJUST_PRIVILEGES = 0x00000020;
68 | public const int TOKEN_QUERY = 0x00000008;
69 | public const int SE_PRIVILEGE_ENABLED = 0x00000002;
70 | public const string SE_RESTORE_NAME = "SeRestorePrivilege";
71 | public const string SE_BACKUP_NAME = "SeBackupPrivilege";
72 | public const uint HKEY_USERS = 0x80000003;
73 |
74 | //temporary hive key
75 |
76 | public const string HIVE_SUBKEY1 = "RTSYSTEM";
77 | public const string HIVE_SUBKEY2 = "RTSOFTWARE";
78 |
79 |
80 | static private Boolean gotPrivileges = false;
81 |
82 | static private void GetPrivileges()
83 | {
84 | int token = 0;
85 | int retval = 0;
86 | TOKEN_PRIVILEGES tpRestore = new TOKEN_PRIVILEGES();
87 | TOKEN_PRIVILEGES tpBackup = new TOKEN_PRIVILEGES();
88 | LUID RestoreLuid = new LUID();
89 | LUID BackupLuid = new LUID();
90 |
91 | retval = LookupPrivilegeValue(null, SE_RESTORE_NAME, ref RestoreLuid);
92 | tpRestore.PrivilegeCount = 1;
93 | tpRestore.Attributes = SE_PRIVILEGE_ENABLED;
94 | tpRestore.Luid = RestoreLuid;
95 |
96 | retval = LookupPrivilegeValue(null, SE_BACKUP_NAME, ref BackupLuid);
97 | tpBackup.PrivilegeCount = 1;
98 | tpBackup.Attributes = SE_PRIVILEGE_ENABLED;
99 | tpBackup.Luid = BackupLuid;
100 |
101 | retval = OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref token);
102 | retval = AdjustTokenPrivileges(token, 0, ref tpRestore, 1024, 0, 0);
103 | retval = AdjustTokenPrivileges(token, 0, ref tpBackup, 1024, 0, 0);
104 |
105 | gotPrivileges = true;
106 | }
107 |
108 | static public string Load(string file)
109 | {
110 | if (Path.GetFileName(file) == "SYSTEM")
111 | {
112 | if (!gotPrivileges)
113 | GetPrivileges();
114 | int NTERROR = RegLoadKey(HKEY_USERS, HIVE_SUBKEY1, file);
115 | if (NTERROR != 0)
116 | {
117 | Debug.WriteLine("ERROR Loading SYSTEM hive.");
118 | }
119 | return HIVE_SUBKEY1;
120 | }
121 | else if (Path.GetFileName(file) == "SOFTWARE")
122 | {
123 | if (!gotPrivileges)
124 | GetPrivileges();
125 | int NTERROR = RegLoadKey(HKEY_USERS, HIVE_SUBKEY2, file);
126 | if (NTERROR != 0)
127 | {
128 | Debug.WriteLine("ERROR Loading SYSTEM hive.");
129 | }
130 | return HIVE_SUBKEY2;
131 | }
132 | else
133 | {
134 | return null;
135 | }
136 | }
137 |
138 | static public string Unload()
139 | {
140 |
141 | if (!gotPrivileges)
142 | GetPrivileges();
143 | int regresult1 = RegUnLoadKey(HKEY_USERS, HIVE_SUBKEY1);
144 | int regresult2 = RegUnLoadKey(HKEY_USERS, HIVE_SUBKEY2);
145 | if (regresult1 != 0)
146 | {
147 | return "Error unloading Registry. Try again in a minute.";
148 | }
149 | else
150 | {
151 | return $"RTSYSTEM = {regresult1} RTSOFTWARE = {regresult2}";
152 | }
153 |
154 |
155 | // System.Diagnostics.Process process = new System.Diagnostics.Process();
156 | //process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
157 | //process.StartInfo.FileName = @$"reg.exe";
158 | //process.StartInfo.Arguments = "unload HKEY_USERS\\RTSYSTEM";
159 | //process.StartInfo.UseShellExecute = false;
160 | //process.StartInfo.CreateNoWindow = false ;
161 |
162 | //process.StartInfo.RedirectStandardOutput = true;
163 | //process.StartInfo.RedirectStandardInput = true;
164 | //process.StartInfo.RedirectStandardError = true;
165 | //process.Start();
166 | }
167 | }
168 | }
169 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/ReadDisksClass.cs:
--------------------------------------------------------------------------------
1 | ////
2 | //// Put together from stackexchange.. 'it just works'
3 | ////
4 |
5 |
6 |
7 | using System;
8 | using System.Runtime.InteropServices;
9 | using System.IO;
10 | using Microsoft.Win32.SafeHandles;
11 | using System.Diagnostics;
12 |
13 | namespace ReadFromDevice
14 | {
15 | public class DeviceStream : Stream, IDisposable
16 | {
17 | public const short FILE_ATTRIBUTE_NORMAL = 0x80;
18 | public const short INVALID_HANDLE_VALUE = -1;
19 | public const uint GENERIC_READ = 0x80000000;
20 | public const uint GENERIC_WRITE = 0x40000000;
21 | public const uint CREATE_NEW = 1;
22 | public const uint CREATE_ALWAYS = 2;
23 | public const uint OPEN_EXISTING = 3;
24 |
25 | // Use interop to call the CreateFile function.
26 | // For more information about CreateFile,
27 | // see the unmanaged MSDN reference library.
28 | [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
29 | private static extern IntPtr CreateFile(string lpFileName, uint dwDesiredAccess,
30 | uint dwShareMode, IntPtr lpSecurityAttributes, uint dwCreationDisposition,
31 | uint dwFlagsAndAttributes, IntPtr hTemplateFile);
32 |
33 | [DllImport("kernel32.dll", SetLastError = true)]
34 | private static extern bool ReadFile(
35 | IntPtr hFile, // handle to file
36 | byte[] lpBuffer, // data buffer
37 | int nNumberOfBytesToRead, // number of bytes to read
38 | ref int lpNumberOfBytesRead, // number of bytes read
39 | IntPtr lpOverlapped
40 | //
41 | // ref OVERLAPPED lpOverlapped // overlapped buffer
42 | );
43 |
44 | private SafeFileHandle handleValue = null;
45 | private FileStream _fs = null;
46 |
47 | public DeviceStream(string device)
48 | {
49 | Load(device);
50 | }
51 |
52 | private void Load(string Path)
53 | {
54 | if (string.IsNullOrEmpty(Path))
55 | {
56 | throw new ArgumentNullException("Path");
57 | }
58 |
59 | // Try to open the file.
60 | IntPtr ptr = CreateFile(Path, GENERIC_READ, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);
61 |
62 | handleValue = new SafeFileHandle(ptr, true);
63 | _fs = new FileStream(handleValue, FileAccess.Read);
64 |
65 | // If the handle is invalid,
66 | // get the last Win32 error
67 | // and throw a Win32Exception.
68 | if (handleValue.IsInvalid)
69 | {
70 | Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error());
71 | }
72 | }
73 |
74 | public override bool CanRead
75 | {
76 | get { return true; }
77 | }
78 |
79 | public override bool CanSeek
80 | {
81 | get { return false; }
82 | }
83 |
84 | public override bool CanWrite
85 | {
86 | get { return false; }
87 | }
88 |
89 | public override void Flush()
90 | {
91 | return;
92 | }
93 |
94 | public override long Length
95 | {
96 | get { return -1; }
97 | }
98 |
99 | public override long Position
100 | {
101 | get
102 | {
103 | throw new NotImplementedException();
104 | }
105 | set
106 | {
107 | throw new NotImplementedException();
108 | }
109 | }
110 | ///
111 | ///
112 | /// An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and
113 | /// (offset + count - 1) replaced by the bytes read from the current source.
114 | /// The zero-based byte offset in buffer at which to begin storing the data read from the current stream.
115 | /// The maximum number of bytes to be read from the current stream.
116 | ///
117 | public override int Read(byte[] buffer, int offset, int count)
118 | {
119 | int BytesRead = 0;
120 | var BufBytes = new byte[count];
121 | if (!ReadFile(handleValue.DangerousGetHandle(), BufBytes, count, ref BytesRead, IntPtr.Zero))
122 | {
123 | Debug.WriteLine(Marshal.GetHRForLastWin32Error());
124 | Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error());
125 | }
126 | for (int i = 0; i < BytesRead; i++)
127 | {
128 | buffer[offset + i] = BufBytes[i];
129 | }
130 | return BytesRead;
131 | }
132 | public override int ReadByte()
133 | {
134 | int BytesRead = 0;
135 | var lpBuffer = new byte[1];
136 | if (!ReadFile(
137 | handleValue.DangerousGetHandle(), // handle to file
138 | lpBuffer, // data buffer
139 | 1, // number of bytes to read
140 | ref BytesRead, // number of bytes read
141 | IntPtr.Zero
142 | ))
143 | { Marshal.ThrowExceptionForHR(Marshal.GetHRForLastWin32Error()); ; }
144 | return lpBuffer[0];
145 | }
146 |
147 | public override long Seek(long offset, SeekOrigin origin)
148 | {
149 | // throw new NotImplementedException();
150 | Debug.WriteLine("Not Implimented");
151 | return 0;
152 | }
153 |
154 | public override void SetLength(long value)
155 | {
156 | //throw new NotImplementedException();
157 | Debug.WriteLine("Not Implimented");
158 | return;
159 | }
160 |
161 | public override void Write(byte[] buffer, int offset, int count)
162 | {
163 | //throw new NotImplementedException();
164 | Debug.WriteLine("Not Implimented");
165 | return;
166 | }
167 |
168 | public override void Close()
169 | {
170 | handleValue.Close();
171 | handleValue.Dispose();
172 | handleValue = null;
173 | base.Close();
174 | }
175 | private bool disposed = false;
176 |
177 | new void Dispose()
178 | {
179 | Dispose(true);
180 | base.Dispose();
181 | GC.SuppressFinalize(this);
182 | }
183 |
184 | private new void Dispose(bool disposing)
185 | {
186 | // Check to see if Dispose has already been called.
187 | if (!this.disposed)
188 | {
189 | if (disposing)
190 | {
191 | if (handleValue != null)
192 | {
193 | _fs.Dispose();
194 | handleValue.Close();
195 | handleValue.Dispose();
196 | handleValue = null;
197 | }
198 | }
199 | // Note disposing has been done.
200 | disposed = true;
201 |
202 | }
203 | }
204 |
205 | }
206 | }
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/FFUImageHelper.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Reflection;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | ///
10 | /// This is adapted from "Sharp.ffu2img"
11 | ///
12 | namespace W10M_Toolbox
13 | {
14 | class FFUImageHelper
15 | {
16 | public struct SecurityHeader
17 | {
18 | public uint cbSize { get; set; }
19 | public string signature { get; set; }
20 | public uint dwChunkSizeInKb { get; set; }
21 | public uint dwAlgId { get; set; }
22 | public uint dwCatalogSize { get; set; }
23 | public uint dwHashTableSize { get; set; }
24 | }
25 |
26 | public struct ImageHeader
27 | {
28 | public uint cbSize { get; set; }
29 | public string signature { get; set; }
30 | public uint ManifestLength { get; set; }
31 | public uint dwChunkSize { get; set; }
32 | }
33 |
34 | public struct StoreHeader
35 | {
36 | public uint dwUpdateType { get; set; }
37 | public ushort MajorVersion { get; set; }
38 | public ushort MinorVersion { get; set; }
39 | public ushort FullFlashMajorVersion { get; set; }
40 | public ushort FullFlashMinorVersion { get; set; }
41 | public string szPlatformId { get; set; }
42 | public uint dwBlockSizeInBytes { get; set; }
43 | public uint dwWriteDescriptorCount { get; set; }
44 | public uint dwWriteDescriptorLength { get; set; }
45 | public uint dwValidateDescriptorCount { get; set; }
46 | public uint dwValidateDescriptorLength { get; set; }
47 | public uint dwInitialTableIndex { get; set; }
48 | public uint dwInitialTableCount { get; set; }
49 | public uint dwFlashOnlyTableIndex { get; set; }
50 | public uint dwFlashOnlyTableCount { get; set; }
51 | public uint dwFinalTableIndex { get; set; }
52 | public uint dwFinalTableCount { get; set; }
53 | }
54 |
55 | public struct BlockDataEntry
56 | {
57 | public uint dwDiskAccessMethod { get; set; }
58 | public uint dwBlockIndex { get; set; }
59 | public uint dwLocationCount { get; set; }
60 | public uint dwBlockCount { get; set; }
61 | }
62 | public static SecurityHeader ReadSecurityHeader(BinaryReader reader, StreamWriter logWriter)
63 | {
64 | logWriter.WriteLine("FFUSecHeader begin: {0:x8}", reader.BaseStream.Position);
65 |
66 | var result = new SecurityHeader
67 | {
68 | cbSize = reader.ReadUInt32(),
69 | signature = new string(reader.ReadChars(12)),
70 | dwChunkSizeInKb = reader.ReadUInt32(),
71 | dwAlgId = reader.ReadUInt32(),
72 | dwCatalogSize = reader.ReadUInt32(),
73 | dwHashTableSize = reader.ReadUInt32(),
74 | };
75 |
76 | if (!result.signature.Equals("SignedImage "))
77 | {
78 | logWriter.WriteLine("Exiting, incorrect signature: {0}", result.signature);
79 | throw new Exception(string.Format("Error: security header signature incorrect: {0}", result.signature));
80 | }
81 |
82 | LogPropertyValues(result, logWriter);
83 |
84 | reader.BaseStream.Seek(result.dwCatalogSize, SeekOrigin.Current);
85 | reader.BaseStream.Seek(result.dwHashTableSize, SeekOrigin.Current);
86 | GoToEndOfChunk(reader, (int)result.dwChunkSizeInKb);
87 |
88 | return result;
89 | }
90 |
91 | public static void ReadImageHeader(BinaryReader reader, SecurityHeader securityHeader,
92 | StreamWriter logWriter)
93 | {
94 | logWriter.WriteLine("FFUImgHeader begin: {0:x8}", reader.BaseStream.Position);
95 |
96 | var result = new ImageHeader
97 | {
98 | cbSize = reader.ReadUInt32(),
99 | signature = new string(reader.ReadChars(12)),
100 | ManifestLength = reader.ReadUInt32(),
101 | dwChunkSize = reader.ReadUInt32(),
102 | };
103 |
104 | if (!result.signature.Equals("ImageFlash "))
105 | {
106 | logWriter.WriteLine("Exiting, incorrect signature: {0}", result.signature);
107 | throw new Exception(string.Format("Error: image header signature incorrect. {0}", result.signature));
108 | }
109 |
110 | LogPropertyValues(result, logWriter);
111 |
112 | reader.BaseStream.Seek(result.ManifestLength, SeekOrigin.Current);
113 |
114 | GoToEndOfChunk(reader, (int)securityHeader.dwChunkSizeInKb);
115 | }
116 |
117 | public static StoreHeader ReadStoreHeader(BinaryReader reader, StreamWriter logWriter)
118 | {
119 | logWriter.WriteLine("FFUStoreHeader begin: {0:x8}", reader.BaseStream.Position);
120 |
121 | var result = new StoreHeader
122 | {
123 | dwUpdateType = reader.ReadUInt32(),
124 | MajorVersion = reader.ReadUInt16(),
125 | MinorVersion = reader.ReadUInt16(),
126 | FullFlashMajorVersion = reader.ReadUInt16(),
127 | FullFlashMinorVersion = reader.ReadUInt16(),
128 | szPlatformId = new string(reader.ReadChars(192)),
129 | dwBlockSizeInBytes = reader.ReadUInt32(),
130 | dwWriteDescriptorCount = reader.ReadUInt32(),
131 | dwWriteDescriptorLength = reader.ReadUInt32(),
132 | dwValidateDescriptorCount = reader.ReadUInt32(),
133 | dwValidateDescriptorLength = reader.ReadUInt32(),
134 | dwInitialTableIndex = reader.ReadUInt32(),
135 | dwInitialTableCount = reader.ReadUInt32(),
136 | dwFlashOnlyTableIndex = reader.ReadUInt32(),
137 | dwFlashOnlyTableCount = reader.ReadUInt32(),
138 | dwFinalTableIndex = reader.ReadUInt32(),
139 | dwFinalTableCount = reader.ReadUInt32(),
140 | };
141 |
142 | LogPropertyValues(result, logWriter);
143 |
144 | reader.BaseStream.Seek(result.dwValidateDescriptorLength, SeekOrigin.Current);
145 |
146 | return result;
147 | }
148 | public static BlockDataEntry ReadBlockDataEntry(BinaryReader reader)
149 | {
150 | var result = new BlockDataEntry
151 | {
152 | dwDiskAccessMethod = reader.ReadUInt32(),
153 | dwBlockIndex = reader.ReadUInt32(),
154 | dwLocationCount = reader.ReadUInt32(),
155 | dwBlockCount = reader.ReadUInt32()
156 | };
157 |
158 | return result;
159 | }
160 |
161 | public static void GoToEndOfChunk(BinaryReader reader, Int32 chunkSizeinKb)
162 | {
163 | var remainderOfChunk = reader.BaseStream.Position % (chunkSizeinKb * 1024);
164 | var distanceToChunkEnd = (chunkSizeinKb * 1024) - remainderOfChunk;
165 | reader.BaseStream.Seek(distanceToChunkEnd, SeekOrigin.Current);
166 | }
167 |
168 | public static void LogPropertyValues(T obj, StreamWriter logWriter) where T : struct
169 | {
170 | if (logWriter == null)
171 | return;
172 |
173 | foreach (var property in obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance))
174 | {
175 | logWriter.WriteLine("{0} = {1}", property.Name, property.GetValue(obj, null));
176 | }
177 | }
178 | }
179 | }
180 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/DeviceHelper.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.IO;
5 | using System.Linq;
6 | using System.Runtime.InteropServices;
7 | using System.Text;
8 | using System.Threading;
9 | using System.Threading.Tasks;
10 | using System.Windows.Controls;
11 |
12 | namespace W10M_Toolbox.DeviceHelper
13 | {
14 | class DeviceHelper
15 | {
16 | public static string wpifilename;
17 | public static bool IsDeviceConnected { get; set; }
18 | public static bool IsDeviceLogsPresent { get; set; }
19 | public const int SC_MINIMIZE = 6;
20 | [DllImport("user32.dll")]
21 | private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
22 | public static string CheckWPIPath()
23 | {
24 | if (System.Environment.Is64BitOperatingSystem == true)
25 | {
26 |
27 |
28 |
29 | if (File.Exists(@$".\AppData\bin\wpinternals\win-x64\wpinternals.exe") == true)
30 | {
31 | wpifilename = @$".\AppData\bin\wpinternals\win-x64\wpinternals.exe";
32 | }
33 | return wpifilename;
34 | }
35 | else
36 | {
37 |
38 |
39 | if (File.Exists(@$".\AppData\bin\wpinternals\win-x86\wpinternals.exe") == true)
40 | {
41 | wpifilename = @$".\AppData\bin\wpinternals\win-x86\wpinternals.exe";
42 | }
43 | return wpifilename;
44 | }
45 |
46 | }
47 | ///
48 | /// Reboot the connected Windows Phone device to Mass Storage
49 | ///
50 | public static string RebootToMassStorage(string wpiPath)
51 | {
52 | if (File.Exists(CheckWPIPath()) == true)
53 | {
54 | IsDeviceConnected = false;
55 | System.Diagnostics.Process process = new System.Diagnostics.Process();
56 | process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
57 | process.StartInfo.FileName = wpiPath;
58 | process.StartInfo.Arguments = @"-SwitchToMassStorageMode";
59 | process.StartInfo.UseShellExecute = false;
60 | process.StartInfo.CreateNoWindow = false;
61 |
62 | process.StartInfo.RedirectStandardOutput = true;
63 | process.StartInfo.RedirectStandardInput = true;
64 | process.StartInfo.RedirectStandardError = true;
65 | process.Start();
66 | while (string.IsNullOrEmpty(process.MainWindowTitle))
67 | {
68 | Thread.Sleep(50);
69 | process.Refresh();
70 | }
71 | ShowWindow(process.MainWindowHandle, SC_MINIMIZE);
72 | string a = process.StandardOutput.ReadToEnd();
73 | process.WaitForExit(60000);
74 | process.Close();
75 | process.Dispose();
76 | IsDeviceConnected = true;
77 | return a;
78 | }
79 | else
80 | {
81 | return "WPInternals could not be found! Make sure to check the Assets page";
82 | }
83 | }
84 |
85 | ///
86 | /// Reboot the connected Windows Phone to Flash Mode
87 | ///
88 | public static string RebootToFlash(string wpiPath)
89 | {
90 | if (File.Exists(CheckWPIPath()) == true)
91 | {
92 | IsDeviceConnected = false;
93 | System.Diagnostics.Process process = new System.Diagnostics.Process();
94 | process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
95 | process.StartInfo.FileName = wpiPath;
96 | process.StartInfo.Arguments = @"-ShowPhoneInfo";
97 | process.StartInfo.UseShellExecute = false;
98 | process.StartInfo.CreateNoWindow = false;
99 |
100 | process.StartInfo.RedirectStandardOutput = true;
101 | process.StartInfo.RedirectStandardInput = true;
102 | process.StartInfo.RedirectStandardError = true;
103 | process.Start();
104 | while (string.IsNullOrEmpty(process.MainWindowTitle))
105 | {
106 | Thread.Sleep(50);
107 | process.Refresh();
108 | }
109 | ShowWindow(process.MainWindowHandle, SC_MINIMIZE);
110 | string a = process.StandardOutput.ReadToEnd();
111 | process.WaitForExit(60000);
112 | process.Close();
113 | process.Dispose();
114 | IsDeviceConnected = true;
115 | return a;
116 | }
117 | else
118 | {
119 | return "WPInternals could not be found! Make sure to check the Assets page";
120 | }
121 | }
122 |
123 | public static void RebootToNormal()
124 | {
125 | System.Diagnostics.Process process = new System.Diagnostics.Process();
126 | process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
127 | process.StartInfo.FileName = @$".\AppData\bin\thor2\thor2.exe";
128 | process.StartInfo.Arguments = @"-mode rnd -reboot";
129 | process.StartInfo.UseShellExecute = false;
130 | process.StartInfo.CreateNoWindow = false;
131 |
132 | process.StartInfo.RedirectStandardOutput = true;
133 | process.StartInfo.RedirectStandardInput = true;
134 | process.StartInfo.RedirectStandardError = true;
135 | process.Start();
136 | while (string.IsNullOrEmpty(process.MainWindowTitle))
137 | {
138 | Thread.Sleep(50);
139 | process.Refresh();
140 | }
141 | ShowWindow(process.MainWindowHandle, SC_MINIMIZE);
142 | string a = process.StandardOutput.ReadToEnd();
143 | process.WaitForExit(60000);
144 | process.Close();
145 | process.Dispose();
146 | }
147 |
148 |
149 | private static string result;
150 | ///
151 | /// Fetch connected Device info
152 | ///
153 | public static string GetDeviceInfo()
154 | {
155 | IsDeviceConnected = false;
156 | System.Diagnostics.Process process = new System.Diagnostics.Process();
157 | process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
158 | process.StartInfo.FileName = @".\AppData\bin\iutool\iutool.exe";
159 | process.StartInfo.Arguments = @"-l";
160 | process.StartInfo.UseShellExecute = false;
161 | process.StartInfo.CreateNoWindow = true;
162 | process.StartInfo.RedirectStandardOutput = true;
163 | process.StartInfo.RedirectStandardInput = true;
164 | process.Start();
165 | string q = process.StandardOutput.ReadToEnd();
166 | if (q.Contains("Command executed successfully."))
167 | {
168 | if (!q.Contains("Serial:"))
169 | {
170 | IsDeviceConnected = false;
171 | q = "Connect a Device in 'Normal Mode' to begin.\n\n" +
172 | "- If your device is already in Flash Mode, Click Flash Mode to view details or Mass Storage to reboot\n" +
173 | "- If your device is in Normal Mode, Click Flash Mode or Mass Storage to reboot";
174 | } else
175 | {
176 | IsDeviceConnected = true;
177 | }
178 |
179 | result = q.Replace("Command executed successfully.", "");
180 |
181 | }
182 | else
183 | {
184 | result = q;
185 | }
186 | /* if (q.Contains("No Device Found"))
187 | {
188 | result = RebootToFlash(CheckWPIPath());
189 | } */
190 | return result;
191 |
192 | }
193 |
194 |
195 | private static TextBlock IUOutputBox;
196 | private static Process IUProcess { get; set; }
197 | public static void PushUpdateCabs(string CabPath, TextBlock OutputBox)
198 | {
199 | System.Diagnostics.Process process = new System.Diagnostics.Process();
200 |
201 | IUOutputBox = OutputBox;
202 | OutputBox.Text = $"\"{CabPath}\"";
203 | process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
204 | process.StartInfo.FileName = @".\AppData\bin\iutool\iutool.exe";
205 | process.StartInfo.Arguments = $"-V -p \"{CabPath}\"";
206 | process.StartInfo.UseShellExecute = false;
207 | process.StartInfo.CreateNoWindow = true;
208 | process.OutputDataReceived += Process_OutputDataReceived;
209 | process.StartInfo.RedirectStandardOutput = true;
210 | process.StartInfo.RedirectStandardInput = true;
211 | IUProcess = process;
212 | process.Start();
213 | process.BeginOutputReadLine();
214 | // string q = process.StandardOutput.ReadToEnd();
215 | }
216 |
217 | private static void Process_OutputDataReceived(object sender, DataReceivedEventArgs e)
218 | {
219 | Task.Run(() =>
220 | {
221 | IUOutputBox.Text += $"{e.Data}\n";
222 | });
223 | }
224 |
225 | public static string GetInstalledPackages()
226 | {
227 |
228 | if (File.Exists(@".\AppData\Temp\DeviceLog\InstalledPackages.csv") == true)
229 | {
230 | string Logs = File.ReadAllText(@".\AppData\Temp\DeviceLog\InstalledPackages.csv");
231 | return Logs;
232 | }
233 | else
234 | {
235 | try
236 | {
237 | GetDeviceLogs();
238 | string Logs = File.ReadAllText(@".\AppData\Temp\DeviceLog\InstalledPackages.csv");
239 | return Logs;
240 | }
241 | catch
242 | {
243 | return "List not available.";
244 | }
245 | }
246 | }
247 |
248 | public static void GetDeviceLogs()
249 | {
250 | System.Diagnostics.Process process = new System.Diagnostics.Process();
251 | process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
252 | process.StartInfo.FileName = @$".\AppData\bin\iutool\getdulogs.exe";
253 | process.StartInfo.Arguments = @"-o .\AppData\Temp\DeviceLog.cab";
254 | process.StartInfo.UseShellExecute = false;
255 | process.StartInfo.CreateNoWindow = false;
256 |
257 | process.StartInfo.RedirectStandardOutput = true;
258 | process.StartInfo.RedirectStandardInput = true;
259 | process.StartInfo.RedirectStandardError = true;
260 | process.Start();
261 | while (string.IsNullOrEmpty(process.MainWindowTitle))
262 | {
263 | Thread.Sleep(50);
264 | process.Refresh();
265 | }
266 | ShowWindow(process.MainWindowHandle, SC_MINIMIZE);
267 | string a = process.StandardOutput.ReadToEnd();
268 | process.WaitForExit(60000);
269 |
270 | ExtractCabinet(@".\AppData\Temp\DeviceLog.cab", @".\AppData\Temp\DeviceLog\");
271 |
272 | }
273 |
274 |
275 | public static void ExtractCabinet(string cabpath, string output)
276 | {
277 |
278 | System.Diagnostics.Process process = new System.Diagnostics.Process();
279 | process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
280 | process.StartInfo.FileName = @$"expand.exe";
281 | process.StartInfo.Arguments = @".\AppData\Temp\DeviceLog.cab -F:* .\AppData\Temp\DeviceLog\";
282 | process.StartInfo.UseShellExecute = false;
283 | process.StartInfo.CreateNoWindow = false;
284 |
285 | process.StartInfo.RedirectStandardOutput = true;
286 | process.StartInfo.RedirectStandardInput = true;
287 | process.StartInfo.RedirectStandardError = true;
288 | process.Start();
289 | while (string.IsNullOrEmpty(process.MainWindowTitle))
290 | {
291 | Thread.Sleep(50);
292 | process.Refresh();
293 | }
294 | ShowWindow(process.MainWindowHandle, SC_MINIMIZE);
295 | string a = process.StandardOutput.ReadToEnd();
296 | process.WaitForExit(60000);
297 | if (File.Exists(@".\AppData\Temp\DeviceLog\ImgUpd.log"))
298 | {
299 | IsDeviceLogsPresent = true;
300 | }
301 | else
302 | {
303 | IsDeviceLogsPresent = false;
304 | }
305 | }
306 |
307 |
308 |
309 |
310 | public static string ReadDULogs()
311 | {
312 | if (File.Exists(@".\AppData\Temp\DeviceLog\ImgUpd.log") == true)
313 | {
314 | string Logs = File.ReadAllText(@".\AppData\Temp\DeviceLog\ImgUpd.log");
315 | return Logs;
316 | }
317 | else
318 | {
319 | try
320 | {
321 | GetDeviceLogs();
322 | string Logs = File.ReadAllText(@".\AppData\Temp\DeviceLog\ImgUpd.log");
323 | return Logs;
324 | }
325 | catch
326 | {
327 | return "Logs not available.";
328 |
329 | }
330 | }
331 | }
332 |
333 |
334 |
335 | public static void UpdateInMassStorage(List fileList, string cabFolder, Process ProcessHook)
336 | {
337 |
338 | System.Diagnostics.Process process = new System.Diagnostics.Process();
339 | process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
340 | process.StartInfo.FileName = @$"AppData\bin\iutool\updateapp.exe";
341 | process.StartInfo.Arguments = $"install \"{cabFolder}\"";
342 | process.StartInfo.UseShellExecute = false;
343 | process.StartInfo.CreateNoWindow = false;
344 | process.OutputDataReceived += Process_OutputDataReceived1;
345 | process.StartInfo.RedirectStandardOutput = true;
346 | process.StartInfo.RedirectStandardInput = true;
347 | process.StartInfo.RedirectStandardError = true;
348 | ProcessHook = process;
349 | process.Start();
350 | process.WaitForExit();
351 | }
352 |
353 | private static void Process_OutputDataReceived1(object sender, DataReceivedEventArgs e)
354 | {
355 | throw new NotImplementedException();
356 | }
357 | }
358 |
359 | }
360 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/FFUConvert/FfuFile.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.IO;
5 | using System.Linq;
6 | using System.Runtime.InteropServices;
7 | using System.Security.Authentication;
8 | using System.Text;
9 |
10 | namespace FfuConvert
11 | {
12 | public sealed class FfuFile : IDisposable
13 | {
14 | private HashAlgorithmType _hashAlgorithmType = HashAlgorithmType.None;
15 | private int _chunkSizeInKb = -1;
16 | private int _catalogSize = -1;
17 | private int _hashTableSize = -1;
18 | private int _storeMajorVersion = -1;
19 | private int _storeMinorVersion = -1;
20 | private int _blockSizeInBytes = -1;
21 | public int _majorVersion = -1;
22 | public int _minorVersion = -1;
23 | private bool _leaveOpen;
24 | private byte[] _signedCatalog;
25 | private byte[] _hashtable;
26 | private string _manifest;
27 | private string _platformId;
28 | private List _stores;
29 |
30 | public FfuFile(string filePath)
31 | {
32 | if (filePath == null)
33 | throw new ArgumentNullException(nameof(filePath));
34 |
35 | Open(File.OpenRead(filePath), false);
36 | }
37 |
38 | public FfuFile(Stream stream)
39 | : this(stream, false)
40 | {
41 | }
42 |
43 | public FfuFile(Stream stream, bool leaveOpen)
44 | {
45 | if (stream == null)
46 | throw new ArgumentNullException(nameof(stream));
47 |
48 | Open(stream, leaveOpen);
49 | }
50 |
51 | private void Open(Stream stream, bool leaveOpen)
52 | {
53 | _leaveOpen = leaveOpen;
54 | BaseStream = stream;
55 | }
56 |
57 | public static Stream BaseStream { get; private set; }
58 | public HashAlgorithmType HashAlgorithmType { get { LoadSecurityHeader(); return _hashAlgorithmType; } }
59 | public int ChunkSizeInKb { get { LoadSecurityHeader(); return _chunkSizeInKb; } }
60 | public int StoreMajorVersion { get { LoadStoreHeaders(); return _storeMajorVersion; } }
61 | public int StoreMinorVersion { get { LoadStoreHeaders(); return _storeMinorVersion; } }
62 | public int MajorVersion { get { LoadStoreHeaders(); return _majorVersion; } }
63 | public int MinorVersion { get { LoadStoreHeaders(); return _minorVersion; } }
64 | public int BlockSizeInBytes { get { LoadStoreHeaders(); return _blockSizeInBytes; } }
65 | public string PlatformId { get { LoadStoreHeaders(); return _platformId; } }
66 | public byte[] SignedCatalog { get { LoadSignedCatalog(); return _signedCatalog; } }
67 | public byte[] HashTable { get { LoadHashTable(); return _hashtable; } }
68 | public string Manifest { get { LoadImageHeader(); return _manifest; } }
69 | public Version Version => new Version(MajorVersion, MinorVersion);
70 | public Version StoreVersion => new Version(StoreMajorVersion, StoreMinorVersion);
71 | public IReadOnlyList Stores => _stores;
72 | public FfuFileStore FirstStore => _stores.FirstOrDefault(); // should always be there
73 |
74 | public void Dispose()
75 | {
76 | if (!_leaveOpen)
77 | {
78 | var stream = BaseStream;
79 | if (stream != null)
80 | {
81 | stream.Dispose();
82 | BaseStream = null;
83 | }
84 | }
85 | }
86 |
87 | private Stream CheckDisposed()
88 | {
89 | var stream = BaseStream;
90 | if (stream == null)
91 | throw new ObjectDisposedException(null);
92 |
93 | return stream;
94 | }
95 |
96 | private static T ToStructure(byte[] bytes) where T : struct
97 | {
98 | var handle = GCHandle.Alloc(bytes, GCHandleType.Pinned);
99 | try
100 | {
101 | return (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(T));
102 | }
103 | finally
104 | {
105 | handle.Free();
106 | }
107 | }
108 |
109 | private T Read() where T : struct
110 | {
111 | if (!TryRead(out T value))
112 | throw new InvalidDataException();
113 |
114 | return value;
115 | }
116 |
117 | private bool TryRead(out T value) where T : struct
118 | {
119 | if (!TryRead(Marshal.SizeOf(), out byte[] bytes))
120 | {
121 | value = default(T);
122 | return false;
123 | }
124 |
125 | value = ToStructure(bytes);
126 | return true;
127 | }
128 |
129 | private byte[] Read(int count)
130 | {
131 | if (!TryRead(count, out byte[] bytes))
132 | throw new InvalidDataException();
133 |
134 | return bytes;
135 | }
136 |
137 | private bool TryRead(int count, out byte[] bytes)
138 | {
139 | bytes = new byte[count];
140 | int total = 0;
141 | do
142 | {
143 | int read = CheckDisposed().Read(bytes, 0, bytes.Length);
144 | if (read == 0)
145 | {
146 | bytes = null;
147 | return false;
148 | }
149 |
150 | total += read;
151 | }
152 | while (total < count);
153 | return true;
154 | }
155 |
156 | internal bool TryRead(byte[] bytes)
157 | {
158 | int total = 0;
159 | do
160 | {
161 | int read = CheckDisposed().Read(bytes, 0, bytes.Length);
162 | if (read == 0)
163 | {
164 | bytes = null;
165 | return false;
166 | }
167 |
168 | total += read;
169 | }
170 | while (total < bytes.Length);
171 | return true;
172 | }
173 |
174 | internal void SeekBegin(long offset)
175 | {
176 | Debug.WriteLine($"(Seek) Offset {offset} | {SeekOrigin.Begin}");
177 | if (CheckDisposed().Seek(offset, SeekOrigin.Begin) != offset)
178 | throw new InvalidDataException();
179 | }
180 |
181 | private void SeekCurrent(long offset) => SeekBegin(CheckDisposed().Position + offset);
182 |
183 | private void LoadSecurityHeader()
184 | {
185 | if (_hashAlgorithmType != HashAlgorithmType.None)
186 | return;
187 |
188 | var header = Read();
189 | if (Encoding.ASCII.GetString(header.signature) != "SignedImage ")
190 | throw new InvalidDataException();
191 |
192 | _hashAlgorithmType = (HashAlgorithmType)header.dwAlgId;
193 | _chunkSizeInKb = header.dwChunkSizeInKb;
194 | _catalogSize = header.dwCatalogSize;
195 | _hashTableSize = header.dwHashTableSize;
196 | }
197 |
198 | private void LoadSignedCatalog()
199 | {
200 | if (_signedCatalog != null)
201 | return;
202 |
203 | LoadSecurityHeader();
204 | _signedCatalog = Read(_catalogSize);
205 | }
206 |
207 | private void ReadPadding()
208 | {
209 | long pos = BaseStream.Position;
210 | long padding = pos % (_chunkSizeInKb * 1024);
211 | if (padding == 0)
212 | return;
213 |
214 | padding = _chunkSizeInKb * 1024 - padding;
215 | SeekCurrent(padding);
216 | }
217 |
218 | private void LoadHashTable()
219 | {
220 | if (_hashtable != null)
221 | return;
222 |
223 | LoadSignedCatalog();
224 | _hashtable = Read(_hashTableSize);
225 | ReadPadding();
226 | }
227 |
228 | private void LoadImageHeader()
229 | {
230 | if (_manifest != null)
231 | return;
232 |
233 | var header = Read();
234 | if (Encoding.ASCII.GetString(header.Signature) != "ImageFlash ")
235 | throw new InvalidDataException();
236 |
237 | var manifest = Read(header.ManifestLength);
238 | _manifest = Encoding.ASCII.GetString(manifest).TrimEnd('\0');
239 | ReadPadding();
240 | }
241 |
242 | private void LoadStoreHeaders()
243 | {
244 | if (_stores != null)
245 | return;
246 |
247 | LoadImageHeader();
248 | _stores = new List();
249 | var header2 = new STORE_HEADER_V_2_0();
250 | var header1 = new STORE_HEADER_V_1_0();
251 | int storeCount = 1;
252 | do
253 | {
254 | var store = new FfuFileStore(this);
255 | _stores.Add(store);
256 | store.Index = _stores.Count;
257 |
258 | // read store header, handle V1 and V2+
259 | if (_storeMajorVersion < 0)
260 | {
261 | header1 = Read();
262 | _storeMajorVersion = header1.MajorVersion;
263 | if (_storeMajorVersion > 1)
264 | {
265 | SeekCurrent(-Marshal.SizeOf());
266 | header2 = Read();
267 | storeCount = header2.NumOfStores;
268 | }
269 |
270 | // read ffu global properties
271 | _storeMinorVersion = _storeMajorVersion > 1 ? header2.MinorVersion : header1.MinorVersion;
272 | _majorVersion = _storeMajorVersion > 1 ? header2.FullFlashMajorVersion : header1.FullFlashMajorVersion;
273 | _minorVersion = _storeMajorVersion > 1 ? header2.FullFlashMinorVersion : header1.FullFlashMinorVersion;
274 | _blockSizeInBytes = _storeMajorVersion > 1 ? header2.dwBlockSizeInBytes : header1.dwBlockSizeInBytes;
275 | _platformId = Encoding.ASCII.GetString(_storeMajorVersion > 1 ? header2.szPlatformId : header1.szPlatformId).TrimEnd('\0');
276 | }
277 | else
278 | {
279 | if (_storeMajorVersion > 1)
280 | {
281 | header2 = Read();
282 | }
283 | else
284 | {
285 | header1 = Read();
286 | }
287 | }
288 |
289 | // read ffu store properties
290 | if (_storeMajorVersion > 1)
291 | {
292 | var pathBytes = Read(header2.DevicePathLength * 2);
293 | store.DevicePath = Encoding.Unicode.GetString(pathBytes).TrimEnd('\0');
294 | }
295 |
296 | var validateDescriptorCount = _storeMajorVersion > 1 ? header2.dwValidateDescriptorCount : header1.dwValidateDescriptorCount;
297 | var writeDescriptorCount = _storeMajorVersion > 1 ? header2.dwWriteDescriptorCount : header1.dwWriteDescriptorCount;
298 |
299 | for (int i = 0; i < validateDescriptorCount; i++)
300 | {
301 | // VALIDATION_ENTRY
302 | int sectorIndex = Read();
303 | int sectorOffset = Read();
304 | int byteCount = Read();
305 | // right now, we don't use this
306 | SeekCurrent(byteCount);
307 | }
308 |
309 | for (int i = 0; i < writeDescriptorCount; i++)
310 | {
311 | // BLOCK_DATA_ENTRY
312 | var desc = new WriteDescriptor();
313 | int locationCount = Read();
314 | desc.BlockCount = Read();
315 | for (int j = 0; j < locationCount; j++)
316 | {
317 | desc.Locations.Add(Read());
318 | }
319 | store._descriptors.Add(desc);
320 | }
321 |
322 | ReadPadding();
323 | }
324 | while (_stores.Count < storeCount);
325 |
326 | long position = BaseStream.Position;
327 | foreach (var store in _stores)
328 | {
329 | store.PayloadPosition = position;
330 | position += store.PayloadSizeInBytes;
331 | }
332 | }
333 |
334 | internal class WriteDescriptor
335 | {
336 | public int BlockCount;
337 | public List Locations = new List();
338 |
339 | public override string ToString() => BlockCount + ":" + string.Join(", ", Locations);
340 | }
341 |
342 | // https://docs.microsoft.com/en-us/windows-hardware/manufacture/mobile/ffu-image-format
343 | [StructLayout(LayoutKind.Sequential)]
344 | private struct SECURITY_HEADER
345 | {
346 | public int cbSize; // size of struct, overall
347 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
348 | public byte[] signature; // "SignedImage "
349 | public int dwChunkSizeInKb; // size of a hashed chunk within the image
350 | public int dwAlgId; // algorithm used to hash
351 | public int dwCatalogSize; // size of catalog to validate
352 | public int dwHashTableSize; // size of hash table
353 | }
354 |
355 | [StructLayout(LayoutKind.Sequential)]
356 | private struct IMAGE_HEADER
357 | {
358 | public int cbSize; // sizeof(ImageHeader)
359 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
360 | public byte[] Signature; // "ImageFlash "
361 | public int ManifestLength; // in bytes
362 | public int dwChunkSize; // Used only during image generation.
363 | }
364 |
365 | [StructLayout(LayoutKind.Sequential)]
366 | private struct VALIDATION_ENTRY
367 | {
368 | public int dwSectorIndex;
369 | public int dwSectorOffset;
370 | public int dwByteCount;
371 | //BYTE rgCompareData[1]; // size is dwByteCount
372 | }
373 |
374 | internal enum DISK_ACCESS_METHOD
375 | {
376 | DISK_BEGIN = 0,
377 | DISK_END = 2
378 | }
379 |
380 | [StructLayout(LayoutKind.Sequential)]
381 | internal struct DISK_LOCATION
382 | {
383 | public DISK_ACCESS_METHOD dwDiskAccessMethod;
384 | public int dwBlockIndex;
385 |
386 | public override string ToString() => dwDiskAccessMethod + ":" + dwBlockIndex;
387 | }
388 |
389 | [StructLayout(LayoutKind.Sequential)]
390 | private struct BLOCK_DATA_ENTRY
391 | {
392 | public int dwLocationCount;
393 | public int dwBlockCount;
394 | //DISK_LOCATION rgDiskLocations[1];
395 | }
396 |
397 | [StructLayout(LayoutKind.Sequential)]
398 | private struct STORE_HEADER_V_1_0
399 | {
400 | public int dwUpdateType; // indicates partial or full flash
401 | public short MajorVersion;
402 | public short MinorVersion; // used to validate struct
403 | public short FullFlashMajorVersion;
404 | public short FullFlashMinorVersion; // FFU version, i.e. the image format
405 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 192)]
406 | public byte[] szPlatformId; // string which indicates what device this FFU is intended to be written to
407 | public int dwBlockSizeInBytes; // size of an image block in bytes – the device’s actual sector size may differ
408 | public int dwWriteDescriptorCount; // number of write descriptors to iterate through
409 | public int dwWriteDescriptorLength; // total size of all the write descriptors, in bytes (included so they can be read out up front and interpreted later)
410 | public int dwValidateDescriptorCount; // number of validation descriptors to check
411 | public int dwValidateDescriptorLength; // total size of all the validation descriptors, in bytes
412 | public int dwInitialTableIndex; // block index in the payload of the initial (invalid) GPT
413 | public int dwInitialTableCount; // count of blocks for the initial GPT, i.e. the GPT spans blockArray[idx..(idx + count -1)]
414 | public int dwFlashOnlyTableIndex; // first block index in the payload of the flash-only GPT (included so safe flashing can be accomplished)
415 | public int dwFlashOnlyTableCount; // count of blocks in the flash-only GPT
416 | public int dwFinalTableIndex; // index in the table of the real GPT
417 | public int dwFinalTableCount; // number of blocks in the real GPT
418 | }
419 |
420 | [StructLayout(LayoutKind.Sequential)]
421 | private struct STORE_HEADER_V_2_0
422 | {
423 | public int dwUpdateType; // indicates partial or full flash
424 | public short MajorVersion;
425 | public short MinorVersion; // used to validate struct
426 | public short FullFlashMajorVersion;
427 | public short FullFlashMinorVersion; // FFU version, i.e. the image format
428 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 192)]
429 | public byte[] szPlatformId; // string which indicates what device this FFU is intended to be written to
430 | public int dwBlockSizeInBytes; // size of an image block in bytes – the device’s actual sector size may differ
431 | public int dwWriteDescriptorCount; // number of write descriptors to iterate through
432 | public int dwWriteDescriptorLength; // total size of all the write descriptors, in bytes (included so they can be read out up front and interpreted later)
433 | public int dwValidateDescriptorCount; // number of validation descriptors to check
434 | public int dwValidateDescriptorLength; // total size of all the validation descriptors, in bytes
435 | public int dwInitialTableIndex; // block index in the payload of the initial (invalid) GPT
436 | public int dwInitialTableCount; // count of blocks for the initial GPT, i.e. the GPT spans blockArray[idx..(idx + count -1)]
437 | public int dwFlashOnlyTableIndex; // first block index in the payload of the flash-only GPT (included so safe flashing can be accomplished)
438 | public int dwFlashOnlyTableCount; // count of blocks in the flash-only GPT
439 | public int dwFinalTableIndex; // index in the table of the real GPT
440 | public int dwFinalTableCount; // number of blocks in the real GPT
441 | public short NumOfStores; // Total number of stores (V2 only)
442 | public short StoreIndex; // Current store index, 1-based (V2 only)
443 | public long StorePayloadSize; // Payload data only, excludes padding (V2 only)
444 | public short DevicePathLength; // Length of the device path (V2 only)
445 | //CHAR16 DevicePath[1]; // Device path has no NUL at then end (V2 only)
446 | }
447 | }
448 | }
449 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
25 |
26 |
27 |
28 |
29 |
34 |
37 |
39 |
40 |
44 |
45 |
46 |
53 |
54 |
55 |
63 |
64 |
71 |
72 |
79 |
90 |
91 |
92 |
93 |
94 |
99 |
100 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
123 |
124 |
128 |
129 |
130 |
132 |
133 |
137 |
138 |
139 |
140 |
147 |
148 |
155 |
156 |
163 |
170 |
171 |
176 |
177 |
178 |
179 |
182 |
183 |
188 |
192 |
199 |
200 |
207 |
208 |
209 |
210 |
211 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
246 |
247 |
252 |
260 |
261 |
263 |
264 |
268 |
269 |
270 |
271 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
293 |
301 |
309 |
310 |
311 |
314 |
315 |
320 |
327 |
329 |
330 |
331 |
333 |
334 |
338 |
339 |
340 |
347 |
348 |
357 |
364 |
365 |
366 |
369 |
370 |
375 |
389 |
390 |
391 |
392 |
393 |
394 |
402 |
405 |
408 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
438 |
439 |
440 |
447 |
448 |
455 |
458 |
466 |
467 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/buildlists/15254.603.txt:
--------------------------------------------------------------------------------
1 | https://www.dropbox.com/s/uadg59nogapp17w/Microsoft.DEVICELAYOUT_QC8X12_16K.MainOS.cab
2 | https://www.dropbox.com/s/krytjfhqsoyds6d/Microsoft.DEVICELAYOUT_QC8X12.MainOS.cab
3 | https://www.dropbox.com/s/p00r3y5s4hm3zko/Microsoft.DEVICELAYOUT_QC8X26_16K.MainOS.cab
4 | https://www.dropbox.com/s/ds80htjenqhfzgy/Microsoft.DEVICELAYOUT_QC8960.MainOS.cab
5 | https://www.dropbox.com/s/o8ufxczf1mx6at7/Microsoft.DEVICELAYOUT_QC8974.MainOS.cab
6 | https://www.dropbox.com/s/xxv1z8y4xnumdxb/Microsoft.EFIESP.Production.cab
7 | https://www.dropbox.com/s/js78taqi41tvmv5/Microsoft.Graphics.DxTools.cab
8 | https://www.dropbox.com/s/622d4eoln8wxbj2/Microsoft.HoverFM.cab
9 | https://www.dropbox.com/s/iz54tciauyej56g/Microsoft.HOVERFM.PlatformManifest.MainOS.cab
10 | https://www.dropbox.com/s/suy5y4w713s1inf/Microsoft.Input.mtf_download_LANG_af-za.cab
11 | https://www.dropbox.com/s/io05622tgage7vq/Microsoft.Input.mtf_download_LANG_am-et.cab
12 | https://www.dropbox.com/s/2nmxsf0k59s17l3/Microsoft.Input.mtf_download_LANG_ar-sa.cab
13 | https://www.dropbox.com/s/6iu1fv9v7hgljn0/Microsoft.Input.mtf_download_LANG_as-in.cab
14 | https://www.dropbox.com/s/2ug39td1dzi5q5q/Microsoft.Input.mtf_download_LANG_az-latn-az.cab
15 | https://www.dropbox.com/s/ny7q5ga949ryt9m/Microsoft.Input.mtf_download_LANG_bg-bg.cab
16 | https://www.dropbox.com/s/iz70t8srcwpf3di/Microsoft.Input.mtf_download_LANG_bn-bd.cab
17 | https://www.dropbox.com/s/yixtisoect19ekq/Microsoft.Input.mtf_download_LANG_bn-in.cab
18 | https://www.dropbox.com/s/ifdhrlu74fcdq28/Microsoft.Input.mtf_download_LANG_bs-latn-ba.cab
19 | https://www.dropbox.com/s/bdqmxepteefevvr/Microsoft.Input.mtf_download_LANG_ca-es-valencia.cab
20 | https://www.dropbox.com/s/u3rip11i3vwjl1x/Microsoft.Input.mtf_download_LANG_ca-es.cab
21 | https://www.dropbox.com/s/zuxr7s1i0qs46do/Microsoft.Input.mtf_download_LANG_cs-cz.cab
22 | https://www.dropbox.com/s/sf7i3bh5o3nr1kn/Microsoft.Input.mtf_download_LANG_cy-gb.cab
23 | https://www.dropbox.com/s/n7i5gmv6utfz0do/Microsoft.Input.mtf_download_LANG_da-dk.cab
24 | https://www.dropbox.com/s/4j8uknw9xsblmvp/Microsoft.Input.mtf_download_LANG_de-ch.cab
25 | https://www.dropbox.com/s/sfw517uxgs4lzi3/Microsoft.Input.mtf_download_LANG_de-de.cab
26 | https://www.dropbox.com/s/3knvia1fejxqlro/Microsoft.Input.mtf_download_LANG_el-gr.cab
27 | https://www.dropbox.com/s/lwscggd4rnegfcv/Microsoft.Input.mtf_download_LANG_en-au.cab
28 | https://www.dropbox.com/s/84fac57619ida7r/Microsoft.Input.mtf_download_LANG_en-ca.cab
29 | https://www.dropbox.com/s/hb3glgi4qja3r68/Microsoft.Input.mtf_download_LANG_en-gb.cab
30 | https://www.dropbox.com/s/k2671bkanufbb81/Microsoft.Input.mtf_download_LANG_en-ie.cab
31 | https://www.dropbox.com/s/x847be42jq2w09z/Microsoft.Input.mtf_download_LANG_en-in.cab
32 | https://www.dropbox.com/s/40pta7jggnwjeem/Microsoft.Input.mtf_download_LANG_en-us.cab
33 | https://www.dropbox.com/s/7xj69xjopegdstv/Microsoft.Input.mtf_download_LANG_es-es.cab
34 | https://www.dropbox.com/s/nzf00nbf7a6cznp/Microsoft.Input.mtf_download_LANG_es-mx.cab
35 | https://www.dropbox.com/s/i84o1pvorz0hnh4/Microsoft.Input.mtf_download_LANG_et-ee.cab
36 | https://www.dropbox.com/s/7bjzg5suz5fazp9/Microsoft.Input.mtf_download_LANG_eu-es.cab
37 | https://www.dropbox.com/s/ardmi59i2aeapbi/Microsoft.Input.mtf_download_LANG_fa-ir.cab
38 | https://www.dropbox.com/s/u0rwxtsekhe16wa/Microsoft.Input.mtf_download_LANG_fi-fi.cab
39 | https://www.dropbox.com/s/qivtdq6zes2dj4t/Microsoft.Input.mtf_download_LANG_fr-be.cab
40 | https://www.dropbox.com/s/twpzsmlphc4bq80/Microsoft.Input.mtf_download_LANG_fr-ca.cab
41 | https://www.dropbox.com/s/7nhaq9xcs1aui9i/Microsoft.Input.mtf_download_LANG_fr-ch.cab
42 | https://www.dropbox.com/s/gsb6ogj1sd9twp1/Microsoft.Input.mtf_download_LANG_fr-fr.cab
43 | https://www.dropbox.com/s/517ol9nbvcpla82/Microsoft.Input.mtf_download_LANG_ga-ie.cab
44 | https://www.dropbox.com/s/maqwp4ssncvavx0/Microsoft.Input.mtf_download_LANG_gd-gb.cab
45 | https://www.dropbox.com/s/dxslqjv3xyef2hj/Microsoft.Input.mtf_download_LANG_gl-es.cab
46 | https://www.dropbox.com/s/4hc45p3kgdtmac6/Microsoft.Input.mtf_download_LANG_gu-in.cab
47 | https://www.dropbox.com/s/d79oc2hy0ubhuwi/Microsoft.Input.mtf_download_LANG_ha-latn-ng.cab
48 | https://www.dropbox.com/s/55vehub11i9kiwg/Microsoft.Input.mtf_download_LANG_he-il.cab
49 | https://www.dropbox.com/s/917qf6suh0n79go/Microsoft.Input.mtf_download_LANG_hi-in.cab
50 | https://www.dropbox.com/s/1qesfmdff1o201f/Microsoft.Input.mtf_download_LANG_hr-hr.cab
51 | https://www.dropbox.com/s/dwtzj94fxsncmz8/Microsoft.Input.mtf_download_LANG_hu-hu.cab
52 | https://www.dropbox.com/s/h0o26uwc0ly4svu/Microsoft.Input.mtf_download_LANG_hy-am.cab
53 | https://www.dropbox.com/s/o362s8udvke1k82/Microsoft.Input.mtf_download_LANG_id-id.cab
54 | https://www.dropbox.com/s/76t8nv9rhr5iju9/Microsoft.Input.mtf_download_LANG_ig-ng.cab
55 | https://www.dropbox.com/s/a2dx3ghdgy417iu/Microsoft.Input.mtf_download_LANG_it-it.cab
56 | https://www.dropbox.com/s/3agem5avf6k49v8/Microsoft.Input.mtf_download_LANG_ja-jp.cab
57 | https://www.dropbox.com/s/q6zrjbro4vi6lwa/Microsoft.Input.mtf_download_LANG_ka-ge.cab
58 | https://www.dropbox.com/s/t53v15c6avaya9f/Microsoft.Input.mtf_download_LANG_kk-kz.cab
59 | https://www.dropbox.com/s/s4fods06zzxydza/Microsoft.Input.mtf_download_LANG_kn-in.cab
60 | https://www.dropbox.com/s/0q7ffmmk6p61hm4/Microsoft.Input.mtf_download_LANG_ko-kr.cab
61 | https://www.dropbox.com/s/rzytl7dcudskcqg/Microsoft.Input.mtf_download_LANG_kok-deva-in.cab
62 | https://www.dropbox.com/s/kecva8qdy64ctpw/Microsoft.Input.mtf_download_LANG_ky-kg.cab
63 | https://www.dropbox.com/s/tcob49j8jycaiwz/Microsoft.Input.mtf_download_LANG_lb-lu.cab
64 | https://www.dropbox.com/s/3er8khbwz4np1zg/Microsoft.Input.mtf_download_LANG_lt-lt.cab
65 | https://www.dropbox.com/s/k4r7m6t5dtjjz2r/Microsoft.Input.mtf_download_LANG_lv-lv.cab
66 | https://www.dropbox.com/s/p6zuz3u9dsh8b3z/Microsoft.Input.mtf_download_LANG_mi-nz.cab
67 | https://www.dropbox.com/s/l7i9tlqjfd3uf18/Microsoft.Input.mtf_download_LANG_mk-mk.cab
68 | https://www.dropbox.com/s/4yyt3boqwx4tggm/Microsoft.Input.mtf_download_LANG_ml-in.cab
69 | https://www.dropbox.com/s/me4qegrjq7u51sm/Microsoft.Input.mtf_download_LANG_mr-in.cab
70 | https://www.dropbox.com/s/c4075rh56ujttwm/Microsoft.Input.mtf_download_LANG_ms-bn.cab
71 | https://www.dropbox.com/s/qo2g0r2nfbudpfg/Microsoft.Input.mtf_download_LANG_ms-my.cab
72 | https://www.dropbox.com/s/v0u66nqlgxnd1a7/Microsoft.Input.mtf_download_LANG_mt-mt.cab
73 | https://www.dropbox.com/s/fyo51zggjuublhl/Microsoft.Input.mtf_download_LANG_my-mm.cab
74 | https://www.dropbox.com/s/p438nwr45tjxvaa/Microsoft.Input.mtf_download_LANG_nb-no.cab
75 | https://www.dropbox.com/s/jfoaqhn7d9sl75v/Microsoft.Input.mtf_download_LANG_ne-np.cab
76 | https://www.dropbox.com/s/2aq9p25im3dr35g/Microsoft.Input.mtf_download_LANG_nl-be.cab
77 | https://www.dropbox.com/s/oqmajap8twqsbqb/Microsoft.Input.mtf_download_LANG_nl-nl.cab
78 | https://www.dropbox.com/s/1e13itwbidbbprq/Microsoft.Input.mtf_download_LANG_nn-no.cab
79 | https://www.dropbox.com/s/mma8z34arfofewg/Microsoft.Input.mtf_download_LANG_nso-za.cab
80 | https://www.dropbox.com/s/ax5q71p3or70twf/Microsoft.Input.mtf_download_LANG_or-in.cab
81 | https://www.dropbox.com/s/urhrq8640pn6rli/Microsoft.Input.mtf_download_LANG_pa-in.cab
82 | https://www.dropbox.com/s/b7tvnab7ojql8nv/Microsoft.Input.mtf_download_LANG_pl-pl.cab
83 | https://www.dropbox.com/s/v5re83d7xy8hrqp/Microsoft.Input.mtf_download_LANG_ps-af.cab
84 | https://www.dropbox.com/s/cy1kys55cwf8q4u/Microsoft.Input.mtf_download_LANG_pt-br.cab
85 | https://www.dropbox.com/s/a2al4wq16mt3xn8/Microsoft.Input.mtf_download_LANG_pt-pt.cab
86 | https://www.dropbox.com/s/jr1puwsnp53rbie/Microsoft.Input.mtf_download_LANG_rm-ch.cab
87 | https://www.dropbox.com/s/xzbqdmdf03m4gzv/Microsoft.Input.mtf_download_LANG_ro-ro.cab
88 | https://www.dropbox.com/s/dj6g27v9bh1ew4m/Microsoft.Input.mtf_download_LANG_ru-ru.cab
89 | https://www.dropbox.com/s/y4lkustn45o4o4d/Microsoft.Input.mtf_download_LANG_rw-rw.cab
90 | https://www.dropbox.com/s/spg6jfajasa0jju/Microsoft.Input.mtf_download_LANG_si-lk.cab
91 | https://www.dropbox.com/s/9bsl8gu2x13va7n/Microsoft.Input.mtf_download_LANG_sk-sk.cab
92 | https://www.dropbox.com/s/pz53kbfcyg38nvu/Microsoft.Input.mtf_download_LANG_sl-si.cab
93 | https://www.dropbox.com/s/ta7h9fhj6ams4o1/Microsoft.Input.mtf_download_LANG_sq-al.cab
94 | https://www.dropbox.com/s/1zdxlt9zhz2qtm1/Microsoft.Input.mtf_download_LANG_sr-cyrl-rs.cab
95 | https://www.dropbox.com/s/wxgewr9kkkz31sr/Microsoft.Input.mtf_download_LANG_sr-latn-rs.cab
96 | https://www.dropbox.com/s/88x36pobvrcs4fb/Microsoft.Input.mtf_download_LANG_sv-se.cab
97 | https://www.dropbox.com/s/swex7uz4kiwngsv/Microsoft.Input.mtf_download_LANG_sw-ke.cab
98 | https://www.dropbox.com/s/asrpfzzgf5jthw0/Microsoft.Input.mtf_download_LANG_ta-in.cab
99 | https://www.dropbox.com/s/oxlk6alp9kb4rsl/Microsoft.Input.mtf_download_LANG_te-in.cab
100 | https://www.dropbox.com/s/rbf34v1heb02hne/Microsoft.Input.mtf_download_LANG_tn-za.cab
101 | https://www.dropbox.com/s/0fn885qnhtx3lg5/Microsoft.Input.mtf_download_LANG_tr-tr.cab
102 | https://www.dropbox.com/s/qvfiebnpst9vj25/Microsoft.Input.mtf_download_LANG_tt-ru.cab
103 | https://www.dropbox.com/s/ndyg51nunxb7k8j/Microsoft.Input.mtf_download_LANG_uk-ua.cab
104 | https://www.dropbox.com/s/547gfj7q9pq83g5/Microsoft.Input.mtf_download_LANG_ur-pk.cab
105 | https://www.dropbox.com/s/516ivs0glmhgvfs/Microsoft.Input.mtf_download_LANG_uz-latn-uz.cab
106 | https://www.dropbox.com/s/q0vhpo250bxwkkl/Microsoft.Input.mtf_download_LANG_vi-vn.cab
107 | https://www.dropbox.com/s/9dm6q7gsjvwk4xt/Microsoft.Input.mtf_download_LANG_wo-sn.cab
108 | https://www.dropbox.com/s/aessg9f6gw49my3/Microsoft.Input.mtf_download_LANG_xh-za.cab
109 | https://www.dropbox.com/s/xc150vgx8w95iql/Microsoft.Input.mtf_download_LANG_yo-ng.cab
110 | https://www.dropbox.com/s/lrb5nv77231skn7/Microsoft.Input.mtf_download_LANG_zh-cn.cab
111 | https://www.dropbox.com/s/2kzt5ljjn0bdom1/Microsoft.Input.mtf_download_LANG_zh-hk.cab
112 | https://www.dropbox.com/s/nx08f4uj4a2b6m0/Microsoft.Input.mtf_download_LANG_zh-tw.cab
113 | https://www.dropbox.com/s/dso0yrxfjx8ycxe/Microsoft.Input.mtf_download_LANG_zu-za.cab
114 | https://www.dropbox.com/s/2mfmvac6ztuzqd8/Microsoft.Input.mtf_LANG_af-za.cab
115 | https://www.dropbox.com/s/wt4tdewppr234fz/Microsoft.Input.mtf_LANG_ar-sa.cab
116 | https://www.dropbox.com/s/lxbq82h7cwkbyud/Microsoft.Input.mtf_LANG_as-in.cab
117 | https://www.dropbox.com/s/2ukdnl09tb0n7qu/Microsoft.Input.mtf_LANG_az-latn-az.cab
118 | https://www.dropbox.com/s/t0ur2ttwjd1b2en/Microsoft.Input.mtf_LANG_bg-bg.cab
119 | https://www.dropbox.com/s/a5q7a59qm9jjazg/Microsoft.Input.mtf_LANG_bn-bd.cab
120 | https://www.dropbox.com/s/68ore26z2k0dd47/Microsoft.Input.mtf_LANG_bn-in.cab
121 | https://www.dropbox.com/s/kobps8o9gynwu0n/Microsoft.Input.mtf_LANG_bs-latn-ba.cab
122 | https://www.dropbox.com/s/hups0rkj1hvndv7/Microsoft.Input.mtf_LANG_ca-es-valencia.cab
123 | https://www.dropbox.com/s/8gy90h71rona7vk/Microsoft.Input.mtf_LANG_ca-es.cab
124 | https://www.dropbox.com/s/63jshccxuytigic/Microsoft.Input.mtf_LANG_cs-cz.cab
125 | https://www.dropbox.com/s/40fur4nq8cmnrqi/Microsoft.Input.mtf_LANG_cy-gb.cab
126 | https://www.dropbox.com/s/p3iy9gwn1x4coxq/Microsoft.Input.mtf_LANG_da-dk.cab
127 | https://www.dropbox.com/s/3b4kwhc17u1qcam/Microsoft.Input.mtf_LANG_de-ch.cab
128 | https://www.dropbox.com/s/f5rq9trh5z72qxp/Microsoft.Input.mtf_LANG_de-de.cab
129 | https://www.dropbox.com/s/a2o5vi08ol8ka3g/Microsoft.Input.mtf_LANG_el-gr.cab
130 | https://www.dropbox.com/s/au82w3vkfdfuumf/Microsoft.Input.mtf_LANG_en-au.cab
131 | https://www.dropbox.com/s/23nsrc6hr2pfy4n/Microsoft.Input.mtf_LANG_en-ca.cab
132 | https://www.dropbox.com/s/89pv91pkwazfs6m/Microsoft.Input.mtf_LANG_en-gb.cab
133 | https://www.dropbox.com/s/e8bcmih6dj19sqt/Microsoft.Input.mtf_LANG_en-ie.cab
134 | https://www.dropbox.com/s/fvenbs2ge9csog4/Microsoft.Input.mtf_LANG_en-in.cab
135 | https://www.dropbox.com/s/fomj63k7ohpvjnu/Microsoft.Input.mtf_LANG_en-us.cab
136 | https://www.dropbox.com/s/w4csjpxfdapznp6/Microsoft.Input.mtf_LANG_es-es.cab
137 | https://www.dropbox.com/s/zidk13fm7e9flxb/Microsoft.Input.mtf_LANG_es-mx.cab
138 | https://www.dropbox.com/s/7rognnufflfr5tw/Microsoft.Input.mtf_LANG_et-ee.cab
139 | https://www.dropbox.com/s/dgh5vuzgtvik2gq/Microsoft.Input.mtf_LANG_eu-es.cab
140 | https://www.dropbox.com/s/xy1n8qvn9a5sdar/Microsoft.Input.mtf_LANG_fa-ir.cab
141 | https://www.dropbox.com/s/x9bls1bj0mt486z/Microsoft.Input.mtf_LANG_fi-fi.cab
142 | https://www.dropbox.com/s/ywo0nnkh4mluvlr/Microsoft.Input.mtf_LANG_fr-be.cab
143 | https://www.dropbox.com/s/or9ut02y7v3j7nf/Microsoft.Input.mtf_LANG_fr-ca.cab
144 | https://www.dropbox.com/s/9lmoiarxxevsbh1/Microsoft.Input.mtf_LANG_fr-ch.cab
145 | https://www.dropbox.com/s/bolxlqlzd0y1we3/Microsoft.Input.mtf_LANG_fr-fr.cab
146 | https://www.dropbox.com/s/81p776brubdp63e/Microsoft.Input.mtf_LANG_ga-ie.cab
147 | https://www.dropbox.com/s/veybh5i9hynilf1/Microsoft.Input.mtf_LANG_gd-gb.cab
148 | https://www.dropbox.com/s/buj4ugqqoltru6p/Microsoft.Input.mtf_LANG_gl-es.cab
149 | https://www.dropbox.com/s/3jelv2tpxa2z6sa/Microsoft.Input.mtf_LANG_gu-in.cab
150 | https://www.dropbox.com/s/z4rcot6sg4igo45/Microsoft.Input.mtf_LANG_ha-latn-ng.cab
151 | https://www.dropbox.com/s/2j4t38s477eh4s0/Microsoft.Input.mtf_LANG_he-il.cab
152 | https://www.dropbox.com/s/2x7upm0dg6fgpkx/Microsoft.Input.mtf_LANG_hi-in.cab
153 | https://www.dropbox.com/s/z5vk756h2x6zkas/Microsoft.Input.mtf_LANG_hr-hr.cab
154 | https://www.dropbox.com/s/3v8p39vyhv4puw5/Microsoft.Input.mtf_LANG_hu-hu.cab
155 | https://www.dropbox.com/s/3olqfumn9pspc6o/Microsoft.Input.mtf_LANG_hy-am.cab
156 | https://www.dropbox.com/s/sgc92pcjzactjgn/Microsoft.Input.mtf_LANG_id-id.cab
157 | https://www.dropbox.com/s/hmd6n52e8ehfr2d/Microsoft.Input.mtf_LANG_ig-ng.cab
158 | https://www.dropbox.com/s/rfkovxmhaxdsrhq/Microsoft.Input.mtf_LANG_it-it.cab
159 | https://www.dropbox.com/s/t05xu7pok5yiz4j/Microsoft.Input.mtf_LANG_ja-jp.cab
160 | https://www.dropbox.com/s/w8xdyihkvh8ozet/Microsoft.Input.mtf_LANG_ka-ge.cab
161 | https://www.dropbox.com/s/eyoo5xert3pz8cj/Microsoft.Input.mtf_LANG_kk-kz.cab
162 | https://www.dropbox.com/s/jucmqmbxbzxedsz/Microsoft.Input.mtf_LANG_kn-in.cab
163 | https://www.dropbox.com/s/y6cxoh49d22a31o/Microsoft.Input.mtf_LANG_ko-kr.cab
164 | https://www.dropbox.com/s/8vub0deplx5m7f8/Microsoft.Input.mtf_LANG_kok-deva-in.cab
165 | https://www.dropbox.com/s/3lf3qhdrwnh0668/Microsoft.Input.mtf_LANG_ky-kg.cab
166 | https://www.dropbox.com/s/bdo59ro6tl48nh2/Microsoft.Input.mtf_LANG_lb-lu.cab
167 | https://www.dropbox.com/s/n0og58z3gwaxc43/Microsoft.Input.mtf_LANG_lt-lt.cab
168 | https://www.dropbox.com/s/lrqd9n0ml8rph7p/Microsoft.Input.mtf_LANG_lv-lv.cab
169 | https://www.dropbox.com/s/bote3vxa274cn9u/Microsoft.Input.mtf_LANG_mi-nz.cab
170 | https://www.dropbox.com/s/83e766xgcecivte/Microsoft.Input.mtf_LANG_mk-mk.cab
171 | https://www.dropbox.com/s/cc8fkskz1pyczvt/Microsoft.Input.mtf_LANG_ml-in.cab
172 | https://www.dropbox.com/s/hzltltdtkak8kuh/Microsoft.Input.mtf_LANG_mr-in.cab
173 | https://www.dropbox.com/s/tngtlc7ywz36q64/Microsoft.Input.mtf_LANG_ms-bn.cab
174 | https://www.dropbox.com/s/8ewfm2ke5xz978o/Microsoft.Input.mtf_LANG_ms-my.cab
175 | https://www.dropbox.com/s/exkwir37h638myz/Microsoft.Input.mtf_LANG_mt-mt.cab
176 | https://www.dropbox.com/s/mneswoiervj7e26/Microsoft.Input.mtf_LANG_nb-no.cab
177 | https://www.dropbox.com/s/oprxol4jqy6n1zl/Microsoft.Input.mtf_LANG_ne-np.cab
178 | https://www.dropbox.com/s/kffha6xbr93phzt/Microsoft.Input.mtf_LANG_nl-be.cab
179 | https://www.dropbox.com/s/t83uh5wygs2rs8h/Microsoft.Input.mtf_LANG_nl-nl.cab
180 | https://www.dropbox.com/s/qp18ew95eec3gnk/Microsoft.Input.mtf_LANG_nn-no.cab
181 | https://www.dropbox.com/s/uecfpidhbpgh5dq/Microsoft.Input.mtf_LANG_nso-za.cab
182 | https://www.dropbox.com/s/3pdisq37zsyvcym/Microsoft.Input.mtf_LANG_or-in.cab
183 | https://www.dropbox.com/s/sgvgx6mby0j5w62/Microsoft.Input.mtf_LANG_pa-in.cab
184 | https://www.dropbox.com/s/21astudfub7wpa6/Microsoft.Input.mtf_LANG_pl-pl.cab
185 | https://www.dropbox.com/s/xj998y9eubut5mq/Microsoft.Input.mtf_LANG_ps-af.cab
186 | https://www.dropbox.com/s/jgbg6if4ioizj4h/Microsoft.Input.mtf_LANG_pt-br.cab
187 | https://www.dropbox.com/s/pdzfavlifcq4wo2/Microsoft.Input.mtf_LANG_pt-pt.cab
188 | https://www.dropbox.com/s/xxno27fzz35oy5m/Microsoft.Input.mtf_LANG_rm-ch.cab
189 | https://www.dropbox.com/s/e0726og5c6r2k3o/Microsoft.Input.mtf_LANG_ro-ro.cab
190 | https://www.dropbox.com/s/q0v4ij6p8zgg3t6/Microsoft.Input.mtf_LANG_ru-ru.cab
191 | https://www.dropbox.com/s/8wzsp81s6pmhovk/Microsoft.Input.mtf_LANG_rw-rw.cab
192 | https://www.dropbox.com/s/q1i4hyvzkjkradg/Microsoft.Input.mtf_LANG_si-lk.cab
193 | https://www.dropbox.com/s/6c5byuxzrmkbr7f/Microsoft.Input.mtf_LANG_sk-sk.cab
194 | https://www.dropbox.com/s/v0xoxxq4b88yw52/Microsoft.Input.mtf_LANG_sl-si.cab
195 | https://www.dropbox.com/s/9aedjfi0r9n4aqd/Microsoft.Input.mtf_LANG_sq-al.cab
196 | https://www.dropbox.com/s/87u8089hx3cmigp/Microsoft.Input.mtf_LANG_sr-cyrl-rs.cab
197 | https://www.dropbox.com/s/2tglpvenqpf4qof/Microsoft.Input.mtf_LANG_sr-latn-rs.cab
198 | https://www.dropbox.com/s/zm75as3jgvj0glb/Microsoft.Input.mtf_LANG_sv-se.cab
199 | https://www.dropbox.com/s/n1gw8sdwmpvua9b/Microsoft.Input.mtf_LANG_sw-ke.cab
200 | https://www.dropbox.com/s/2i5h7d64fr3uu3h/Microsoft.Input.mtf_LANG_ta-in.cab
201 | https://www.dropbox.com/s/9ej96koibrlvil1/Microsoft.Input.mtf_LANG_te-in.cab
202 | https://www.dropbox.com/s/yum69kmizxy7xkv/Microsoft.Input.mtf_LANG_tn-za.cab
203 | https://www.dropbox.com/s/b6sjhz5f352q7mf/Microsoft.Input.mtf_LANG_tr-tr.cab
204 | https://www.dropbox.com/s/cx5bpdoesg7tvml/Microsoft.Input.mtf_LANG_tt-ru.cab
205 | https://www.dropbox.com/s/4nzs9bqn66ac1na/Microsoft.Input.mtf_LANG_uk-ua.cab
206 | https://www.dropbox.com/s/pujcn6lqsp71e09/Microsoft.Input.mtf_LANG_ur-pk.cab
207 | https://www.dropbox.com/s/qzg61rtntjeubfg/Microsoft.Input.mtf_LANG_uz-latn-uz.cab
208 | https://www.dropbox.com/s/jna3yg63t7e08fl/Microsoft.Input.mtf_LANG_vi-vn.cab
209 | https://www.dropbox.com/s/ja6bvqui13o2ahe/Microsoft.Input.mtf_LANG_wo-sn.cab
210 | https://www.dropbox.com/s/u1hu5g2fydfeq4q/Microsoft.Input.mtf_LANG_xh-za.cab
211 | https://www.dropbox.com/s/9wdcl9mfb8jxfgh/Microsoft.Input.mtf_LANG_yo-ng.cab
212 | https://www.dropbox.com/s/vsmu3hf8nwx1qhy/Microsoft.Input.mtf_LANG_zh-cn.cab
213 | https://www.dropbox.com/s/3z3r57v62940crd/Microsoft.Input.mtf_LANG_zh-hk.cab
214 | https://www.dropbox.com/s/rl01ghlklyoayzx/Microsoft.Input.mtf_LANG_zh-tw.cab
215 | https://www.dropbox.com/s/g4td2yu2nznwz7n/Microsoft.Input.mtf_LANG_zu-za.cab
216 | https://www.dropbox.com/s/jsq369k2t0bgvfn/Microsoft.MainOS.Production_LANG_af-za.cab
217 | https://www.dropbox.com/s/f8wk5scbc8lkyx5/Microsoft.MainOS.Production_LANG_am-et.cab
218 | https://www.dropbox.com/s/x7p4m37rosjhyc8/Microsoft.MainOS.Production_LANG_ar-sa.cab
219 | https://www.dropbox.com/s/pg91umotny36uwj/Microsoft.MainOS.Production_LANG_az-latn-az.cab
220 | https://www.dropbox.com/s/03us3hduer3n6zw/Microsoft.MainOS.Production_LANG_be-by.cab
221 | https://www.dropbox.com/s/svtd183dry2mp5x/Microsoft.MainOS.Production_LANG_bg-bg.cab
222 | https://www.dropbox.com/s/h1gs36hbu2zkot4/Microsoft.MainOS.Production_LANG_bn-bd.cab
223 | https://www.dropbox.com/s/2hx1jepb0p5xjbb/Microsoft.MainOS.Production_LANG_ca-es.cab
224 | https://www.dropbox.com/s/6f5wzs0aqo75o4w/Microsoft.MainOS.Production_LANG_cs-cz.cab
225 | https://www.dropbox.com/s/3kvav4mjc1pbz98/Microsoft.MainOS.Production_LANG_da-dk.cab
226 | https://www.dropbox.com/s/scsm0hdyw14kfxx/Microsoft.MainOS.Production_LANG_de-de.cab
227 | https://www.dropbox.com/s/l3x31lrgot609tq/Microsoft.MainOS.Production_LANG_el-gr.cab
228 | https://www.dropbox.com/s/8wyml00s4gu1n1q/Microsoft.MainOS.Production_LANG_en-gb.cab
229 | https://www.dropbox.com/s/5ig4tdls8li4f6e/Microsoft.MainOS.Production_LANG_en-us.cab
230 | https://www.dropbox.com/s/9nqqt3yzoiaadbr/Microsoft.MainOS.Production_LANG_es-es.cab
231 | https://www.dropbox.com/s/5mggbr5t5gf6711/Microsoft.MainOS.Production_LANG_es-mx.cab
232 | https://www.dropbox.com/s/lg05ig9ec3kq57y/Microsoft.MainOS.Production_LANG_et-ee.cab
233 | https://www.dropbox.com/s/pyse09cyti49aha/Microsoft.MainOS.Production_LANG_eu-es.cab
234 | https://www.dropbox.com/s/0pc79y6grj5a17r/Microsoft.MainOS.Production_LANG_fa-ir.cab
235 | https://www.dropbox.com/s/gr1ht2oqa5rc71x/Microsoft.MainOS.Production_LANG_fi-fi.cab
236 | https://www.dropbox.com/s/c9uwjw9eboczafa/Microsoft.MainOS.Production_LANG_fil-ph.cab
237 | https://www.dropbox.com/s/48d524qvp85ohyl/Microsoft.MainOS.Production_LANG_fr-ca.cab
238 | https://www.dropbox.com/s/cv6de7jbhwnlhxr/Microsoft.MainOS.Production_LANG_fr-fr.cab
239 | https://www.dropbox.com/s/i4bpbjlurqdr2x4/Microsoft.MainOS.Production_LANG_gl-es.cab
240 | https://www.dropbox.com/s/kwcuwhxsodlo7r3/Microsoft.MainOS.Production_LANG_ha-latn-ng.cab
241 | https://www.dropbox.com/s/dben3ozchbt7qah/Microsoft.MainOS.Production_LANG_he-il.cab
242 | https://www.dropbox.com/s/6ab27dqxb6k2m8v/Microsoft.MainOS.Production_LANG_hi-in.cab
243 | https://www.dropbox.com/s/xm41p9a89dnunmt/Microsoft.MainOS.Production_LANG_hr-hr.cab
244 | https://www.dropbox.com/s/c3s9ebao6miyxw6/Microsoft.MainOS.Production_LANG_hu-hu.cab
245 | https://www.dropbox.com/s/761dh5g1q5e5jmu/Microsoft.MainOS.Production_LANG_id-id.cab
246 | https://www.dropbox.com/s/0gme6bpsybnlxjl/Microsoft.MainOS.Production_LANG_is-is.cab
247 | https://www.dropbox.com/s/52t7hpys92fwz0x/Microsoft.MainOS.Production_LANG_it-it.cab
248 | https://www.dropbox.com/s/t0bseoj1ycvgczb/Microsoft.MainOS.Production_LANG_ja-jp.cab
249 | https://www.dropbox.com/s/901fg5fdrsqyr4b/Microsoft.MainOS.Production_LANG_kk-kz.cab
250 | https://www.dropbox.com/s/xdpbukeg3wsnxll/Microsoft.MainOS.Production_LANG_km-kh.cab
251 | https://www.dropbox.com/s/95txobw1w3n7qfg/Microsoft.MainOS.Production_LANG_kn-in.cab
252 | https://www.dropbox.com/s/wihly75kg7ph7x2/Microsoft.MainOS.Production_LANG_ko-kr.cab
253 | https://www.dropbox.com/s/rt4v02du3hfl90m/Microsoft.MainOS.Production_LANG_lo-la.cab
254 | https://www.dropbox.com/s/osp81gn0s2kfdx8/Microsoft.MainOS.Production_LANG_lt-lt.cab
255 | https://www.dropbox.com/s/j85esfwhxdd9jen/Microsoft.MainOS.Production_LANG_lv-lv.cab
256 | https://www.dropbox.com/s/bs70kneypqdi6h9/Microsoft.MainOS.Production_LANG_mk-mk.cab
257 | https://www.dropbox.com/s/6g07fy217ddj0yz/Microsoft.MainOS.Production_LANG_ml-in.cab
258 | https://www.dropbox.com/s/f75dps35na2nhqf/Microsoft.MainOS.Production_LANG_ms-my.cab
259 | https://www.dropbox.com/s/0gv1rkkyodfcne0/Microsoft.MainOS.Production_LANG_nb-no.cab
260 | https://www.dropbox.com/s/3c5dhxyc46tw3vg/Microsoft.MainOS.Production_LANG_nl-nl.cab
261 | https://www.dropbox.com/s/dhov006dt2d0edb/Microsoft.MainOS.Production_LANG_pl-pl.cab
262 | https://www.dropbox.com/s/nlvx176z2fqwp5q/Microsoft.MainOS.Production_LANG_pt-br.cab
263 | https://www.dropbox.com/s/tkugt0eg3kbm0g8/Microsoft.MainOS.Production_LANG_pt-pt.cab
264 | https://www.dropbox.com/s/50i2boooy3ws8tt/Microsoft.MainOS.Production_LANG_ro-ro.cab
265 | https://www.dropbox.com/s/eziogidmsw88chq/Microsoft.MainOS.Production_LANG_ru-ru.cab
266 | https://www.dropbox.com/s/mabl9vmai8orpnc/Microsoft.MainOS.Production_LANG_sk-sk.cab
267 | https://www.dropbox.com/s/rhiph7youqh4bgi/Microsoft.MainOS.Production_LANG_sl-si.cab
268 | https://www.dropbox.com/s/l6kzhc53in7p1k8/Microsoft.MainOS.Production_LANG_sq-al.cab
269 | https://www.dropbox.com/s/t57o3f0gx6ged2f/Microsoft.MainOS.Production_LANG_sr-latn-rs.cab
270 | https://www.dropbox.com/s/15xrx9yru9051ci/Microsoft.MainOS.Production_LANG_sv-se.cab
271 | https://www.dropbox.com/s/69busy9v1grlegz/Microsoft.MainOS.Production_LANG_sw-ke.cab
272 | https://www.dropbox.com/s/go4sgrplmsmg8uw/Microsoft.MainOS.Production_LANG_ta-in.cab
273 | https://www.dropbox.com/s/95uh4utkb56md1b/Microsoft.MainOS.Production_LANG_te-in.cab
274 | https://www.dropbox.com/s/goq12kuh4squ1vg/Microsoft.MainOS.Production_LANG_th-th.cab
275 | https://www.dropbox.com/s/zrqj5gq1otkxxow/Microsoft.MainOS.Production_LANG_tr-tr.cab
276 | https://www.dropbox.com/s/44k61qcbvs1l5jl/Microsoft.MainOS.Production_LANG_uk-ua.cab
277 | https://www.dropbox.com/s/7uouhsefueacftk/Microsoft.MainOS.Production_LANG_uz-latn-uz.cab
278 | https://www.dropbox.com/s/h6i79u0tkfmk1a9/Microsoft.MainOS.Production_LANG_vi-vn.cab
279 | https://www.dropbox.com/s/cscrhkwtwidd9tq/Microsoft.MainOS.Production_LANG_zh-cn.cab
280 | https://www.dropbox.com/s/fhsfs56pjwi7073/Microsoft.MainOS.Production_LANG_zh-tw.cab
281 | https://www.dropbox.com/s/fmfh3ne6ycznp3s/Microsoft.MainOS.Production_RES_480x800.cab
282 | https://www.dropbox.com/s/tt1t7fpnuw2xkf2/Microsoft.MainOS.Production_RES_540x960.cab
283 | https://www.dropbox.com/s/2zijzso5zp4z8sn/Microsoft.MainOS.Production_RES_720x1280.cab
284 | https://www.dropbox.com/s/lgh0f5q4cn6byx7/Microsoft.MainOS.Production_RES_768x1280.cab
285 | https://www.dropbox.com/s/fy08uhkachhzsaf/Microsoft.MainOS.Production_RES_1080x1920.cab
286 | https://www.dropbox.com/s/c9b0q712y5g9zkw/Microsoft.MainOS.Production_RES_1440x2560.cab
287 | https://www.dropbox.com/s/b5e17pes73ng7wa/Microsoft.MainOS.Production.cab
288 | https://www.dropbox.com/s/h62fjdopy1lvcyr/Microsoft.MICROSOFTPHONEFM.PlatformManifest.EFIESP.cab
289 | https://www.dropbox.com/s/9q9lzs0g2rlz7dr/Microsoft.MICROSOFTPHONEFM.PlatformManifest.MainOS.cab
290 | https://www.dropbox.com/s/jpzm70esak1tzlj/Microsoft.MICROSOFTPHONEFM.PlatformManifest.UpdateOS.cab
291 | https://www.dropbox.com/s/xt7gajbcif0xdf7/Microsoft.MobileCore.Prod.EFIESP.cab
292 | https://www.dropbox.com/s/wou6k3p4vqxgf3u/Microsoft.MobileCore.Prod.MainOS.cab
293 | https://www.dropbox.com/s/87yd9fq7xertgei/Microsoft.MobileCore.UpdateOS.cab
294 | https://www.dropbox.com/s/ulbqvzyfhoi8uq7/Microsoft.MS_8GBFeaturesOnSystem.MainOS.cab
295 | https://www.dropbox.com/s/k9kka3f89zxuct5/Microsoft.MS_16GBFeaturesOnSystem.MainOS.cab
296 | https://www.dropbox.com/s/pa6q5w9xhmucclg/Microsoft.MS_ACCLIS3DH_CLIENT.MainOS.cab
297 | https://www.dropbox.com/s/vz9opqxnfh3j9pp/Microsoft.MS_ALSPRXAPDS9900_CLIENT.MainOS.cab
298 | https://www.dropbox.com/s/mfqhzexs94u53fb/Microsoft.MS_ATTWIFI.MainOS.cab
299 | https://www.dropbox.com/s/hcc1uxggji01aaz/Microsoft.MS_BOOTSEQUENCE_RETAIL.EFIESP.cab
300 | https://www.dropbox.com/s/mugnnd7gn9som53/Microsoft.MS_BOOTSEQUENCE_RETAIL.MainOS.cab
301 | https://www.dropbox.com/s/ok8fcktb42xm7ct/Microsoft.MS_COMMSENHANCEMENTCHINA.MainOS.cab
302 | https://www.dropbox.com/s/5bpoxvse4qsuo58/Microsoft.MS_COMMSENHANCEMENTGLOBAL.MainOS.cab
303 | https://www.dropbox.com/s/o0ywye2jrkw5rry/Microsoft.MS_COMMSMESSAGINGGLOBAL.MainOS.cab
304 | https://www.dropbox.com/s/ww7jrwyzmxwr9m3/Microsoft.MS_COMMSMESSAGINGLITE.MainOS.cab
305 | https://www.dropbox.com/s/qwxlmwxlc69ma9x/Microsoft.MS_DOCKING.MainOS.cab
306 | https://www.dropbox.com/s/l3fbi6mj2f3wvh9/Microsoft.MS_ISL29028_CLIENT.MainOS.cab
307 | https://www.dropbox.com/s/g2bbldn4crm0y12/Microsoft.MS_MAGAKM8963_CLIENT.MainOS.cab
308 | https://www.dropbox.com/s/jknv2puokv0s6jg/Microsoft.MS_MMOSLOADER_RETAIL.EFIESP.cab
309 | https://www.dropbox.com/s/5p6gmawj0hmb9pw/Microsoft.MS_MMOSLOADER_RETAIL.MainOS.cab
310 | https://www.dropbox.com/s/95ge25hcfwnyd93/Microsoft.MS_NAVIGATIONBAR.MainOS.cab
311 | https://www.dropbox.com/s/685tsp39nbme4ko/Microsoft.MS_OPTIMIZED_BOOT.MainOS.cab
312 | https://www.dropbox.com/s/7z3oysau6rs174c/Microsoft.MS_RCS_FEATURE_PACK.MainOS.cab
313 | https://www.dropbox.com/s/32txu7f6nqulwbz/Microsoft.MS_RESET_PROTECTION.MainOS.cab
314 | https://www.dropbox.com/s/nzmmbwy4iejbxi7/Microsoft.MS_SKYPE.MainOS.cab
315 | https://www.dropbox.com/s/x6xvy82iukue8dt/Microsoft.MS_SOCPRODTEST_HSTI.MainOS.cab
316 | https://www.dropbox.com/s/ls2zfmuic9mvic6/Microsoft.MS_SPATIALSOUND_FILTERDATA.MainOS.cab
317 | https://www.dropbox.com/s/8y96ur2jz8g5tn2/Microsoft.MS_STANDARD_FEATURE_1.MainOS.cab
318 | https://www.dropbox.com/s/q1p0femr2b17ipw/Microsoft.MS_WEH_ETW.MainOS.cab
319 | https://www.dropbox.com/s/ovbe4ms2p6uidff/Microsoft.MS_WEH_LEDALERT.MainOS.cab
320 | https://www.dropbox.com/s/59oc7w7zejo3kvq/Microsoft.MS_WIFI_FEATURE_PACK.MainOS.cab
321 | https://www.dropbox.com/s/vpanezw47208yar/Microsoft.PhoneFM.cab
322 | https://www.dropbox.com/s/ewquxtuy2vydhai/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_af-za.cab
323 | https://www.dropbox.com/s/ef9ppd9sl5o52ii/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_am-et.cab
324 | https://www.dropbox.com/s/v60gx6f4y9ugxyk/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ar-sa.cab
325 | https://www.dropbox.com/s/6s9eoz9ylqagl4b/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_az-latn-az.cab
326 | https://www.dropbox.com/s/4wg4i86hywp3ljk/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_be-by.cab
327 | https://www.dropbox.com/s/u45cuq2c1tegj70/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_bg-bg.cab
328 | https://www.dropbox.com/s/yyvmnlnqhm3vnbk/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_bn-bd.cab
329 | https://www.dropbox.com/s/r4ynjzxfnx025p6/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ca-es.cab
330 | https://www.dropbox.com/s/wfaymd12vqdbw2h/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_cs-cz.cab
331 | https://www.dropbox.com/s/h6qx4d7z7w6xixp/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_da-dk.cab
332 | https://www.dropbox.com/s/v457c1vzyjhc9jx/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_de-de.cab
333 | https://www.dropbox.com/s/i0j5bxrp6m43rmu/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_el-gr.cab
334 | https://www.dropbox.com/s/tbptsw331egrrgm/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_en-gb.cab
335 | https://www.dropbox.com/s/sze0ekshekfq4hq/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_en-us.cab
336 | https://www.dropbox.com/s/ysmrn0txteb76ac/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_es-es.cab
337 | https://www.dropbox.com/s/ilkyo1goxi3m7av/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_es-mx.cab
338 | https://www.dropbox.com/s/d31j3v51f6ph0cp/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_et-ee.cab
339 | https://www.dropbox.com/s/6v5b8z9xsyubcpz/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_eu-es.cab
340 | https://www.dropbox.com/s/y7owx7l9rhwtb1k/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_fa-ir.cab
341 | https://www.dropbox.com/s/gg0w9zrd8d49l2x/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_fi-fi.cab
342 | https://www.dropbox.com/s/3glscrx94hi0snk/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_fil-ph.cab
343 | https://www.dropbox.com/s/6dbhgt5lol4ppvg/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_fr-ca.cab
344 | https://www.dropbox.com/s/t58hr9yhxghpi38/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_fr-fr.cab
345 | https://www.dropbox.com/s/a0rx52fi2nkgjkk/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_gl-es.cab
346 | https://www.dropbox.com/s/kf1yt6ov0gmx5ja/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ha-latn-ng.cab
347 | https://www.dropbox.com/s/t0fukjy0xsrbt2f/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_he-il.cab
348 | https://www.dropbox.com/s/9nmbnlcuqrudcge/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_hi-in.cab
349 | https://www.dropbox.com/s/np0mnk8mkomoh6v/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_hr-hr.cab
350 | https://www.dropbox.com/s/d9vssw14cgpxmtz/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_hu-hu.cab
351 | https://www.dropbox.com/s/nt11drqmzi00x7t/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_id-id.cab
352 | https://www.dropbox.com/s/ywvqh2jeeskkg17/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_is-is.cab
353 | https://www.dropbox.com/s/dkue34x6hvg4hyk/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_it-it.cab
354 | https://www.dropbox.com/s/zl4g0dxfmjgjnfq/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ja-jp.cab
355 | https://www.dropbox.com/s/682kbzggx3ogghe/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_kk-kz.cab
356 | https://www.dropbox.com/s/jqsxzqyb3lp7vz3/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_km-kh.cab
357 | https://www.dropbox.com/s/849hd5b2v9tbqbb/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_kn-in.cab
358 | https://www.dropbox.com/s/n7d2v1j87b4yeo1/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ko-kr.cab
359 | https://www.dropbox.com/s/ck3084hf9lhnch3/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_lo-la.cab
360 | https://www.dropbox.com/s/v202500b651gm01/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_lt-lt.cab
361 | https://www.dropbox.com/s/lkul1iz89cqo0rj/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_lv-lv.cab
362 | https://www.dropbox.com/s/b1pvchl83efq5pr/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_mk-mk.cab
363 | https://www.dropbox.com/s/0jl4xjlwwxzyjdm/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ml-in.cab
364 | https://www.dropbox.com/s/wqcm2yyassiynxs/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ms-my.cab
365 | https://www.dropbox.com/s/fg9ta8daz151f5a/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_nb-no.cab
366 | https://www.dropbox.com/s/1tkcxch8x05qzj6/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_nl-nl.cab
367 | https://www.dropbox.com/s/tmfxdvkngfdjmn3/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_pl-pl.cab
368 | https://www.dropbox.com/s/4ki0krmeexp9ohb/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_pt-br.cab
369 | https://www.dropbox.com/s/a8ztv7okqk45d58/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_pt-pt.cab
370 | https://www.dropbox.com/s/31etyec0rrv69zd/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ro-ro.cab
371 | https://www.dropbox.com/s/wikcfw4wbfhk5ue/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ru-ru.cab
372 | https://www.dropbox.com/s/eprfhdgdlj900w9/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_sk-sk.cab
373 | https://www.dropbox.com/s/21gmy7z5dfof3lq/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_sl-si.cab
374 | https://www.dropbox.com/s/jrxzmhp698psw0j/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_sq-al.cab
375 | https://www.dropbox.com/s/6v7q7yhssb2kr4e/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_sr-latn-rs.cab
376 | https://www.dropbox.com/s/v09pxj5z68mbk3f/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_sv-se.cab
377 | https://www.dropbox.com/s/qzanuh1ecfxf2rd/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_sw-ke.cab
378 | https://www.dropbox.com/s/jlm7cwnjdsm4yhu/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_ta-in.cab
379 | https://www.dropbox.com/s/y7e049z8zwiv4f8/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_te-in.cab
380 | https://www.dropbox.com/s/uli3v46gt9cn901/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_th-th.cab
381 | https://www.dropbox.com/s/id8vq63b4v9asfm/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_tr-tr.cab
382 | https://www.dropbox.com/s/wmo9p8jyt3ktgjj/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_uk-ua.cab
383 | https://www.dropbox.com/s/8t3gdjedtz2boaf/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_uz-latn-uz.cab
384 | https://www.dropbox.com/s/lhk5k8p2w3g4t0t/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_vi-vn.cab
385 | https://www.dropbox.com/s/ngk3c024xisztcf/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_zh-cn.cab
386 | https://www.dropbox.com/s/mvqh1r8nfxnrfcb/Microsoft.PRERELEASE_PROTECTED.MainOS_LANG_zh-tw.cab
387 | https://www.dropbox.com/s/14pbrtny3uekud0/Microsoft.PRERELEASE_PROTECTED.MainOS_RES_480x800.cab
388 | https://www.dropbox.com/s/2pn3bxd4rnog5xd/Microsoft.PRERELEASE_PROTECTED.MainOS_RES_540x960.cab
389 | https://www.dropbox.com/s/fo8xou771o81hf6/Microsoft.PRERELEASE_PROTECTED.MainOS_RES_720x1280.cab
390 | https://www.dropbox.com/s/2oz827yus2g0y7e/Microsoft.PRERELEASE_PROTECTED.MainOS_RES_768x1280.cab
391 | https://www.dropbox.com/s/pq8rageut2uq8g0/Microsoft.PRERELEASE_PROTECTED.MainOS_RES_1080x1920.cab
392 | https://www.dropbox.com/s/ak44yd4meq5l4kj/Microsoft.PRERELEASE_PROTECTED.MainOS_RES_1440x2560.cab
393 | https://www.dropbox.com/s/bqpg6d6cs6hy21y/Microsoft.PRERELEASE_PROTECTED.MainOS.cab
394 | https://www.dropbox.com/s/hy9arkzujv2pjpw/Microsoft.RELEASE_PRODUCTION.EFIESP.cab
395 | https://www.dropbox.com/s/larg54z20q75qx9/Microsoft.RELEASE_PRODUCTION.MainOS.cab
396 | https://www.dropbox.com/s/38a2c4sv6qryg1n/Microsoft.RELEASE_PRODUCTION.UpdateOS.cab
397 | https://www.dropbox.com/s/numylayfre30a7d/Microsoft.SOC_QC8X12_16K.MainOS.cab
398 | https://www.dropbox.com/s/feezysdadtbmwbt/Microsoft.SOC_QC8X12.MainOS.cab
399 | https://www.dropbox.com/s/ont5o1uw1yhci6p/Microsoft.SOC_QC8X26_16K.MainOS.cab
400 | https://www.dropbox.com/s/2fe8sehn29h5uar/Microsoft.SOC_QC8909.MainOS.cab
401 | https://www.dropbox.com/s/5zm36mfy72885m2/Microsoft.SOC_QC8960.MainOS.cab
402 | https://www.dropbox.com/s/5y6eu2tiw97e847/Microsoft.SOC_QC8960.UpdateOS.cab
403 | https://www.dropbox.com/s/wwjw0yzb7sf1va2/Microsoft.SOC_QC8974.MainOS.cab
404 | https://www.dropbox.com/s/buhfv6dgm6t9kcv/Microsoft.SOC_QC8994.MainOS.cab
405 | https://www.dropbox.com/s/f9j0a628bgr33yo/Microsoft.SOC_QC8996.MainOS.cab
406 | https://www.dropbox.com/s/g39bdtkg1bhkblf/Microsoft.Speech.Data_LANG_de-de.cab
407 | https://www.dropbox.com/s/tnm9mt2dw5y39wr/Microsoft.Speech.Data_LANG_en-au.cab
408 | https://www.dropbox.com/s/cab863xbgrz7arf/Microsoft.Speech.Data_LANG_en-gb.cab
409 | https://www.dropbox.com/s/ff58cn2zwgziwl3/Microsoft.Speech.Data_LANG_en-in.cab
410 | https://www.dropbox.com/s/ccljjjtkwuyntju/Microsoft.Speech.Data_LANG_en-us.cab
411 | https://www.dropbox.com/s/363zbysfj1hrrql/Microsoft.Speech.Data_LANG_es-es.cab
412 | https://www.dropbox.com/s/iwuuihuxcbu33vi/Microsoft.Speech.Data_LANG_fr-fr.cab
413 | https://www.dropbox.com/s/6vjjpq7bvaf5ztx/Microsoft.Speech.Data_LANG_it-it.cab
414 | https://www.dropbox.com/s/8djduwlen4cgsrd/Microsoft.Speech.Data_LANG_zh-cn.cab
415 | https://www.dropbox.com/s/9bqioic8mlybktl/Microsoft.Speech.Data_LANG_zh-hk.cab
416 | https://www.dropbox.com/s/cx7lix5v43nvjgv/Microsoft.Speech.Data_LANG_zh-tw.cab
417 | https://www.dropbox.com/s/1k6bnyjg48717mp/Microsoft.Speech.DownloadData_Lang_ar-EG.cab
418 | https://www.dropbox.com/s/tijs13nrqlek3e6/Microsoft.Speech.DownloadData_Lang_ar-SA.cab
419 | https://www.dropbox.com/s/krk9ba0g29ol64n/Microsoft.Speech.DownloadData_Lang_ca-ES.cab
420 | https://www.dropbox.com/s/s5fs556seb09vua/Microsoft.Speech.DownloadData_Lang_cs-CZ.cab
421 | https://www.dropbox.com/s/n1bkx907whcfza1/Microsoft.Speech.DownloadData_Lang_da-DK.cab
422 | https://www.dropbox.com/s/qsuzyq8owcgtfre/Microsoft.Speech.DownloadData_Lang_de-AT.cab
423 | https://www.dropbox.com/s/iaj5qqwikl1g1ds/Microsoft.Speech.DownloadData_Lang_de-CH.cab
424 | https://www.dropbox.com/s/onp58scac0uxifa/Microsoft.Speech.DownloadData_Lang_de-DE.cab
425 | https://www.dropbox.com/s/b7hkt023dosg5w1/Microsoft.Speech.DownloadData_Lang_el-GR.cab
426 | https://www.dropbox.com/s/x9xak16tvrw2j8p/Microsoft.Speech.DownloadData_Lang_en-AU.cab
427 | https://www.dropbox.com/s/pl57l9m16ll4ob5/Microsoft.Speech.DownloadData_Lang_en-CA.cab
428 | https://www.dropbox.com/s/fuzhfrwxdsr7h65/Microsoft.Speech.DownloadData_Lang_en-GB.cab
429 | https://www.dropbox.com/s/6599gmbkkxk1hjk/Microsoft.Speech.DownloadData_Lang_en-ie.cab
430 | https://www.dropbox.com/s/yho19f6abqugjgp/Microsoft.Speech.DownloadData_Lang_en-IN.cab
431 | https://www.dropbox.com/s/6bm1zm74r8rqmss/Microsoft.Speech.DownloadData_Lang_en-US.cab
432 | https://www.dropbox.com/s/aquy76430o0rhgz/Microsoft.Speech.DownloadData_Lang_es-ES.cab
433 | https://www.dropbox.com/s/irzees56j15to8o/Microsoft.Speech.DownloadData_Lang_es-MX.cab
434 | https://www.dropbox.com/s/8we8cifzyk0snlv/Microsoft.Speech.DownloadData_Lang_fi-FI.cab
435 | https://www.dropbox.com/s/za3m9tz2py9ihgn/Microsoft.Speech.DownloadData_Lang_fr-CA.cab
436 | https://www.dropbox.com/s/vfe1jskxq36c8n7/Microsoft.Speech.DownloadData_Lang_fr-CH.cab
437 | https://www.dropbox.com/s/j3yqox9evomnrpa/Microsoft.Speech.DownloadData_Lang_fr-FR.cab
438 | https://www.dropbox.com/s/4aguzfyvgp9wrgn/Microsoft.Speech.DownloadData_Lang_hi-IN.cab
439 | https://www.dropbox.com/s/nzhrc1jaixvp58e/Microsoft.Speech.DownloadData_Lang_hu-HU.cab
440 | https://www.dropbox.com/s/0c3v108fvea8uhz/Microsoft.Speech.DownloadData_Lang_id-ID.cab
441 | https://www.dropbox.com/s/6ccuecqajmq1der/Microsoft.Speech.DownloadData_Lang_it-IT.cab
442 | https://www.dropbox.com/s/8ikjm5wjmzybwu3/Microsoft.Speech.DownloadData_Lang_ja-JP.cab
443 | https://www.dropbox.com/s/f9zinrqt5xlgdyp/Microsoft.Speech.DownloadData_Lang_nb-NO.cab
444 | https://www.dropbox.com/s/33u86kg53fzlonm/Microsoft.Speech.DownloadData_Lang_nl-BE.cab
445 | https://www.dropbox.com/s/e5e5ffenfnblk34/Microsoft.Speech.DownloadData_Lang_nl-NL.cab
446 | https://www.dropbox.com/s/ne3wai534hcgm5o/Microsoft.Speech.DownloadData_Lang_pl-PL.cab
447 | https://www.dropbox.com/s/ucxhz3rlky4f3ht/Microsoft.Speech.DownloadData_Lang_pt-BR.cab
448 | https://www.dropbox.com/s/tb1e9ued1rpd8lz/Microsoft.Speech.DownloadData_Lang_pt-PT.cab
449 | https://www.dropbox.com/s/0zsdgh2qdm49kdk/Microsoft.Speech.DownloadData_Lang_ro-RO.cab
450 | https://www.dropbox.com/s/67560chtjn68rjz/Microsoft.Speech.DownloadData_Lang_ru-RU.cab
451 | https://www.dropbox.com/s/c4f4m1c5xbugi17/Microsoft.Speech.DownloadData_Lang_sk-SK.cab
452 | https://www.dropbox.com/s/9kjrest7akpag8w/Microsoft.Speech.DownloadData_Lang_sv-SE.cab
453 | https://www.dropbox.com/s/s6g32hreh3mjzuw/Microsoft.Speech.DownloadData_Lang_th-TH.cab
454 | https://www.dropbox.com/s/s2u0p5m8nn1gpnu/Microsoft.Speech.DownloadData_Lang_tr-TR.cab
455 | https://www.dropbox.com/s/t3ukdbgvbyhpg53/Microsoft.Speech.DownloadData_Lang_zh-CN.cab
456 | https://www.dropbox.com/s/mxl0euq06advs7j/Microsoft.Speech.DownloadData_Lang_zh-HK.cab
457 | https://www.dropbox.com/s/bc3swxjsgo92gq3/Microsoft.Speech.DownloadData_Lang_zh-TW.cab
458 | https://www.dropbox.com/s/q864ftsrh8u18dc/Microsoft.Speech.DownloadSystem_LANG_ar-eg.cab
459 | https://www.dropbox.com/s/toyx1bvpeocyvdf/Microsoft.Speech.DownloadSystem_LANG_ar-sa.cab
460 | https://www.dropbox.com/s/0dxhxkrqaxehode/Microsoft.Speech.DownloadSystem_LANG_ca-es.cab
461 | https://www.dropbox.com/s/0etz1kohsxutnmp/Microsoft.Speech.DownloadSystem_LANG_cs-cz.cab
462 | https://www.dropbox.com/s/9p37mzz6kute1e0/Microsoft.Speech.DownloadSystem_LANG_da-dk.cab
463 | https://www.dropbox.com/s/oaoav33665qnw5e/Microsoft.Speech.DownloadSystem_LANG_de-at.cab
464 | https://www.dropbox.com/s/ijrkhjicd2cb2mw/Microsoft.Speech.DownloadSystem_LANG_de-ch.cab
465 | https://www.dropbox.com/s/ximll80xs9fsca8/Microsoft.Speech.DownloadSystem_LANG_de-de.cab
466 | https://www.dropbox.com/s/8z23t4b262k564x/Microsoft.Speech.DownloadSystem_LANG_el-gr.cab
467 | https://www.dropbox.com/s/hof65flh9aawb51/Microsoft.Speech.DownloadSystem_LANG_en-au.cab
468 | https://www.dropbox.com/s/n1zzb3cfbk5g5vq/Microsoft.Speech.DownloadSystem_LANG_en-ca.cab
469 | https://www.dropbox.com/s/uqts6sucojxyz1v/Microsoft.Speech.DownloadSystem_LANG_en-gb.cab
470 | https://www.dropbox.com/s/s9mr6rcupov0j0m/Microsoft.Speech.DownloadSystem_LANG_en-ie.cab
471 | https://www.dropbox.com/s/weg33zvo9dbm4n8/Microsoft.Speech.DownloadSystem_LANG_en-in.cab
472 | https://www.dropbox.com/s/ub4e8wszqtidn0h/Microsoft.Speech.DownloadSystem_LANG_en-us.cab
473 | https://www.dropbox.com/s/edn99arnz8cw8vn/Microsoft.Speech.DownloadSystem_LANG_es-es.cab
474 | https://www.dropbox.com/s/gyzncnppcv3d4a6/Microsoft.Speech.DownloadSystem_LANG_es-mx.cab
475 | https://www.dropbox.com/s/9crifbjqtlxz442/Microsoft.Speech.DownloadSystem_LANG_fi-fi.cab
476 | https://www.dropbox.com/s/c20bnuodf5upywl/Microsoft.Speech.DownloadSystem_LANG_fr-ca.cab
477 | https://www.dropbox.com/s/9cwz6u0thh66sys/Microsoft.Speech.DownloadSystem_LANG_fr-ch.cab
478 | https://www.dropbox.com/s/g09oufmkr4b690b/Microsoft.Speech.DownloadSystem_LANG_fr-fr.cab
479 | https://www.dropbox.com/s/reaoej4fijv2jzh/Microsoft.Speech.DownloadSystem_LANG_hi-in.cab
480 | https://www.dropbox.com/s/vr2aty0x3zlxocm/Microsoft.Speech.DownloadSystem_LANG_hu-hu.cab
481 | https://www.dropbox.com/s/y4x626tjqnzkn0k/Microsoft.Speech.DownloadSystem_LANG_id-id.cab
482 | https://www.dropbox.com/s/7maa3kjimcjomjp/Microsoft.Speech.DownloadSystem_LANG_it-it.cab
483 | https://www.dropbox.com/s/psct6e3611egs87/Microsoft.Speech.DownloadSystem_LANG_ja-jp.cab
484 | https://www.dropbox.com/s/51du24q62ay5h0i/Microsoft.Speech.DownloadSystem_LANG_nb-no.cab
485 | https://www.dropbox.com/s/i2jdhjsg304fnjo/Microsoft.Speech.DownloadSystem_LANG_nl-be.cab
486 | https://www.dropbox.com/s/6d0man5788h8eq4/Microsoft.Speech.DownloadSystem_LANG_nl-nl.cab
487 | https://www.dropbox.com/s/p1vyxqfe4up2t8d/Microsoft.Speech.DownloadSystem_LANG_pl-pl.cab
488 | https://www.dropbox.com/s/7hvarm3p8bfpedj/Microsoft.Speech.DownloadSystem_LANG_pt-br.cab
489 | https://www.dropbox.com/s/fibzbto9aat7gnu/Microsoft.Speech.DownloadSystem_LANG_pt-pt.cab
490 | https://www.dropbox.com/s/sa0kc5hyxv4lqo4/Microsoft.Speech.DownloadSystem_LANG_ro-ro.cab
491 | https://www.dropbox.com/s/cl38d25l2h0xrgz/Microsoft.Speech.DownloadSystem_LANG_ru-ru.cab
492 | https://www.dropbox.com/s/tfp04v02auk8dbh/Microsoft.Speech.DownloadSystem_LANG_sk-sk.cab
493 | https://www.dropbox.com/s/f1euewxkw2o32ps/Microsoft.Speech.DownloadSystem_LANG_sv-se.cab
494 | https://www.dropbox.com/s/1ts1ibey8ke2qct/Microsoft.Speech.DownloadSystem_LANG_th-th.cab
495 | https://www.dropbox.com/s/jg4vmpnoeich6sj/Microsoft.Speech.DownloadSystem_LANG_tr-tr.cab
496 | https://www.dropbox.com/s/ncoq1wmzyrv118z/Microsoft.Speech.DownloadSystem_LANG_zh-cn.cab
497 | https://www.dropbox.com/s/5e7qshjh3ryiakd/Microsoft.Speech.DownloadSystem_LANG_zh-hk.cab
498 | https://www.dropbox.com/s/a46aiu7zdjluox7/Microsoft.Speech.DownloadSystem_LANG_zh-tw.cab
499 | https://www.dropbox.com/s/orn0gt44y4eh0nd/Microsoft.UpdateOS.Production.cab
500 | https://www.dropbox.com/s/k2h087fyndopid3/Microsoft.UserInstallableFM.PlatformManifest.MainOS.cab
--------------------------------------------------------------------------------
/Windows 10 Mobile Toolbox/AppData/bin/buildlists/10586.107.txt:
--------------------------------------------------------------------------------
1 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2015/09/microsoft.ms_bingapps.mainos.spkr_9f28ef8da794ef57d39094cabd86c2dcc80de725.cab
2 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2015/10/microsoft.ms_bingfood.mainos.spkr_76f23dbcb5a6b9d17516d2bc48cad0274ae6bacb.cab
3 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2015/10/microsoft.ms_binghealth.mainos.spkr_1afdf1182d0c48c12f82e8346e692fe2a895947a.cab
4 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2015/10/microsoft.ms_bingtravel.mainos.spkr_381f6165e15d5b27063af240af41b0860edce02d.cab
5 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_en-gb.spkg_72af900a9f7750a4873bbf6a71c287627b680b21.cab
6 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_en-in.spkg_8bc3d7fa928e908d6e9ae9f024cabdfabebf22d5.cab
7 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_es-mx.spkg_8535e2a9832ee517d59254cdf34bbdc555c29099.cab
8 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_fr-fr.spkg_7a4c9514ffffedb87bb964e39ac8a4dd9493b9af.cab
9 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_it-it.spkg_b58db294ce49d7eb2dab19b2dbfdc75450347440.cab
10 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_ja-jp.spkg_d5d91757fbe69b008cb5779584e894338accedc3.cab
11 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_pl-pl.spkg_12994d96ab7f4bdbdbb3c78c489545b089e5f683.cab
12 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_pt-br.spkg_43c853cc3ec259ac8346a357ab00391fe290f06b.cab
13 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_ru-ru.spkg_f20c9b463f0f3bd44d9302cb408fe4dccc5e3852.cab
14 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_zh-cn.spkg_5b567a7c61cdc3b08334bb19136765d260ad851e.cab
15 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_zh-hk.spkg_8c5cd9148f2a6488ee08e602aca7070dccb78f36.cab
16 | http://download.windowsupdate.com/c/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_zh-tw.spkg_65c983f87fd9e60a92bb2b21d6bb99bc6887070b.cab
17 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2015/09/microsoft.ms_navigationbar.mainos_lang_bn-bd.spkr_10ee3fb528b89e561778e219936c12eb356dc825.cab
18 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2015/09/microsoft.ms_navigationbar.mainos_lang_km-kh.spkr_80c955a99b6cf2c026ce1382425b7e557812b695.cab
19 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2015/09/microsoft.ms_navigationbar.mainos_lang_lo-la.spkr_01305e3efef0ecced707ff6ed2235390d5feb38a.cab
20 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2015/09/microsoft.ms_navigationbar.mainos_lang_sw-ke.spkr_003b6b749984759149ef295f092687cc8fb67103.cab
21 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.devicelayout_qc8960.mainos.spkg_9516ddec1dd1d97a86fe7f5e2c6b12899d35f8f8.cab
22 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.devicelayout_qc8974.mainos.spkg_7aa7c450c4a9a9daabe61ad189b0405d8ba92815.cab
23 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.devicelayout_qc8x12.mainos.spkg_c01475bea7d6567e239b8ec301031f3236c6314c.cab
24 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.devicelayout_qc8x12_16k.mainos.spkg_de5b8fd470321507e1e3149d5129b5f8ac2559de.cab
25 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.devicelayout_qc8x26_16k.mainos.spkg_74e23509ad38a48642ff6cdce4150a14d1940844.cab
26 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.efiesp.production.spkg_4aebbb6f1d22c886a4443a937b45a52fe67814de.cab
27 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_ar-sa.spkg_54b4336ac48d00a160668f0c6cd4737807dbe64f.cab
28 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_ca-es.spkg_389c501d56c5a5b76b9989450779f20d6010d648.cab
29 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_cs-cz.spkg_09e94ee8375fb4be0b60004dac4a01345e41d81d.cab
30 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_da-dk.spkg_ebec3caf0dbfaf6267f9c6342bb40247cbe348e4.cab
31 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_de-de.spkg_a7f1407b8d745dc8413e50c0f667cc2a18f231d2.cab
32 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_el-gr.spkg_98925679414e43c41da52f5e36b78b886082d47b.cab
33 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_en-gb.spkg_054544b2c607bda5f08810ae4e341cef0a041fc8.cab
34 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_en-in.spkg_e2d758253eee0c8a55ab2bd7a7ac9f2a8f4341b0.cab
35 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_es-es.spkg_01f464414aae9db2698f779c606d5487e74adff5.cab
36 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_es-mx.spkg_f8fea7ddc5714a7989a6d164a64f14d89b74185b.cab
37 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_fa-ir.spkg_88f4c4cafad7e36aec33e3ba97433d618920681b.cab
38 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_fi-fi.spkg_67d3709c129c533a3585cfcce8597a550933d7fb.cab
39 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_fr-ca.spkg_f84795d3d1c4743f08f6d33c02bb08373274fd4a.cab
40 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_fr-ch.spkg_52b7a92da2e4275c9ee9ce9fb1a872372a308d09.cab
41 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_fr-fr.spkg_91b52ffc377ac314df273e7995868dbbe38fb033.cab
42 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_he-il.spkg_63371dd389c07d59d50fb9abaed1f8afed24fd02.cab
43 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_hi-in.spkg_1d922aab92c40f51d9a3f8818a36346c1f01e84e.cab
44 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_hu-hu.spkg_5459788d48b01e460addca8188ed8388d485682a.cab
45 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_id-id.spkg_81aa8a6f959e1c230304a0f8d734c6418513a691.cab
46 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_it-it.spkg_1d6d6ac27566f3c0322c4afe2c9886a94f6328e9.cab
47 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_ja-jp.spkg_15ca1367daf4e2d66fb5cf4e9829e175250d7e45.cab
48 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_ko-kr.spkg_d4765f6f15a37424e60533ec983d38a827424def.cab
49 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_ms-my.spkg_96995cc2329f5514fcbfec38d5b1f8796df1651d.cab
50 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_nb-no.spkg_8907d4c7049271f91f393e6eb9173d73cdf094bf.cab
51 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_nl-be.spkg_c8c414680a58ebfc57a95aa9a30a92d8025fc8f9.cab
52 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_nl-nl.spkg_de4182e51d7475fbbda8ca03587ef0b9f0e22827.cab
53 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_pl-pl.spkg_21d6db2c8f859a625e1eeb47371d125a40460f2e.cab
54 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_pt-br.spkg_825dce77e7369b96626cea39e805ce4a33db699f.cab
55 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_pt-pt.spkg_cb6ef01478f3e49fee8c64afd3118aa215532ded.cab
56 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_ro-ro.spkg_ef49ef74978eb4228d3a345ac78ef4de75aa6e73.cab
57 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_ru-ru.spkg_791507483d254c4b2b79ba1ecd92aa19bc4c5113.cab
58 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_sk-sk.spkg_c0d83a581a3b16d33b5addbd163c05ab33fb61c3.cab
59 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_sv-se.spkg_3464aca2080fd5d74e12e5d6149019653e2778d7.cab
60 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_tr-tr.spkg_fe97cf11c9653d73b6edec117d243d73c8a28ea4.cab
61 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_vi-vn.spkg_ccbdb7696d8d5dcf38f02f69ced2d254100b3d2d.cab
62 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_zh-cn.spkg_6e242877a22afcac2d6ed63ca77839586fa1ccb9.cab
63 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_zh-hk.spkg_bcfacecb4bbb794e1390d5ab64231d2d4f2b6e02.cab
64 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_download_lang_zh-tw.spkg_486d237512b1c8a8d6c7cf17412409ac5d25f6c7.cab
65 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_ar-sa.spkg_29df666114fed4b1841aabed9d312537290e3074.cab
66 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_ca-es.spkg_a67b287c4a818b8b03ba78594ff4c7f5446c2222.cab
67 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_cs-cz.spkg_7d2142a22d1cfa12336f310fa37fa23ee3234bd2.cab
68 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_da-dk.spkg_cb9c2bc33b49fd637e3546c5c72586b3330c7cdd.cab
69 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_de-de.spkg_0628b0eacf98ecf2ac2d9b205d9ac654e52767ca.cab
70 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_el-gr.spkg_6bc6b268f9c92c4d20e4708d0e8f34c6fe0c83c0.cab
71 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_en-gb.spkg_6a70f9d668c90fd03246c8960fa4990f49c070d6.cab
72 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_en-in.spkg_7727e0030d555284ce8fa85bcc33f92e4aaf854a.cab
73 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_en-us.spkg_3436b4f2fb79b22e8445eeaaf58d5361f209ef61.cab
74 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_es-es.spkg_dab6f120460c5b2683d4100debef679c045a8943.cab
75 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_es-mx.spkg_548843fd6eac5666f3ad259c94e42edce7c858fb.cab
76 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_fi-fi.spkg_58e6494ba6b59caf5ed351741cfdd26d0361efc0.cab
77 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_fr-ch.spkg_e245cdfa73d43d33ed440f93630feb36e3369aed.cab
78 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_fr-fr.spkg_43f5434fbae05f62c3da33317e480dbd3d4e41c5.cab
79 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_he-il.spkg_2bb14402c47dfc34306775817dac838d3d438855.cab
80 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_hi-in.spkg_6ce6a3348bbc0dd27a45a830137683f67fb0f949.cab
81 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_hu-hu.spkg_a79c1a9193cb05eace703ade24b3e89664a41a38.cab
82 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_id-id.spkg_a3b6fdf1f6de5c6e25dbfed4ef325fb2b632e193.cab
83 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_it-it.spkg_0c9023716e50a3af5e1f61f8eff317d05d504296.cab
84 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_ja-jp.spkg_31a23fd9d7b921665d4bf2d498ec96245f41e2ac.cab
85 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_ko-kr.spkg_cc2c19fa8aca0dc13aa30b591d5dd9405ecc074a.cab
86 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_ms-my.spkg_16140a4c7888fa11d5b7593d3499749c71220424.cab
87 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_nb-no.spkg_7fc47e7445f0358e410793650075056e29f7af80.cab
88 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_pl-pl.spkg_9e017938fcf51eee9cd9633b74e188eb4285910d.cab
89 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_pt-br.spkg_045b66ef53956d4184900e4487be5b8cc550ee45.cab
90 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_pt-pt.spkg_d9b1f0b8dfe8f74c540df15e9bb693c7b855208a.cab
91 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_ro-ro.spkg_82e6af942cf2c999265bfa753af43d2cf4433132.cab
92 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_ru-ru.spkg_d60854bf354738ff97bc9eafa55963474990761e.cab
93 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_sk-sk.spkg_f2008ed8990e67f4a048f51ac79ebd189c2620a8.cab
94 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_sv-se.spkg_ace75365062fa036021db417c8b87d590bc82bef.cab
95 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_tr-tr.spkg_976b5b59d4510536573282aa61d25faeb0d426c1.cab
96 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_vi-vn.spkg_1e90112943d613195ffdc2d6bfd87848a07a77ac.cab
97 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_zh-cn.spkg_aed961e99f535f056c2791da8d332744abe44706.cab
98 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.input.mtf_lang_zh-tw.spkg_bcbb8c034ec9283a25527ce6e2eb1f019f38ba47.cab
99 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production.spkg_d0d73dc76940cafd6b074dca9ca8018727d973eb.cab
100 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_af-za.spkg_be8ccf0347a87316fdfde0dbccfc4c3057abd8e1.cab
101 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_ar-sa.spkg_1e96939ee8ae9ee66458d5361dcb3d636d03b332.cab
102 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_az-latn-az.spkg_ad8bf943176de2df888d95c269bd1bb7488cff3f.cab
103 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_be-by.spkg_346d73a6fad830daf08f253de42e0440146fb4d1.cab
104 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_bg-bg.spkg_5d7d129588533b7065c376231460dc434321dc1f.cab
105 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_bn-bd.spkg_90b83d02e1f11bf845f34b83eeab7e3385dd9820.cab
106 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_ca-es.spkg_f162258af6e617ed3246a9122a3657aad6d3713f.cab
107 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_cs-cz.spkg_c586a0fdfe0d46e4d7d4ad3046160712f73aabf8.cab
108 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_da-dk.spkg_c0aea2cc18b4cfdd395a8d5a170b1f63e850e2b5.cab
109 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_de-de.spkg_5d1ba7d281cc12cddd5dbec5c7d6d4eddbda2cdf.cab
110 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_el-gr.spkg_adb21e97605d1f69844fb7502c62214633e1f73e.cab
111 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_en-gb.spkg_d8bda5e6292324856acf87d71f48eb4abeaeaa69.cab
112 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_en-us.spkg_f2147413fd5a2a5bc552a7a4560f51dd8118033a.cab
113 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_es-es.spkg_5540449f7220945c59c7cff1e465083a152b67c1.cab
114 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_es-mx.spkg_deaf6be3096de99a50a37fe8d2259f26c9cb3b33.cab
115 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_et-ee.spkg_ce5a46da1de7e580b1c1a4b1a9e5872de77ceea1.cab
116 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_eu-es.spkg_7e1fc0426fd4b9e2cba292dc4a580c1a1413e508.cab
117 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_fa-ir.spkg_5b7bb279832a7cde06e0b19b07a0c9ed9f8893c0.cab
118 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_fi-fi.spkg_9d7c0e76b66800d1710b43b6009637ef15714827.cab
119 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_fil-ph.spkg_7726ccb78825e73359a2d0c9be8d8a8cb6f0638c.cab
120 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_fr-ca.spkg_ffe2755bb9afc946127ee08d6a3eac8e6066707e.cab
121 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_fr-fr.spkg_2948c84a564d8541ccd74181e77209969b25a74a.cab
122 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_gl-es.spkg_3fdf5dc4aac32f780c8e9f1db31dbcde74281a17.cab
123 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_ha-latn-ng.spkg_5d13853df7f79249166417b27bda96a5bc12290a.cab
124 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_he-il.spkg_91b3759c6136cbde52d5e18e0b5a789bca3f3c86.cab
125 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_hi-in.spkg_5712d89dc42ccbeca658f3bc96d534b0cdf28b49.cab
126 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_hr-hr.spkg_5f2ceddce14c6990269376c00ccf8eebe04b28c9.cab
127 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_hu-hu.spkg_e802f71e95fbb84ddb20205d255b23b253bdb7e4.cab
128 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_id-id.spkg_2f87be7c586b65a41c50d613a90a149aa9b48109.cab
129 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_it-it.spkg_53c86f03b125248ac5049bca88eb94706e59d44b.cab
130 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_ja-jp.spkg_5e279a6e9db0b4b5bb3ea89b051870a68fa15e79.cab
131 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_kk-kz.spkg_cfa245fa4ba040f523eef0ad7ff9b91a8be73f37.cab
132 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_km-kh.spkg_96fcb639fab553b88d58c2ddf40836d44d184fdb.cab
133 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_ko-kr.spkg_8a892e7d80d85e3f4afcdb255fe1e73739a97bc7.cab
134 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_lo-la.spkg_bf976e974c45afad5c14561e22518fe442153702.cab
135 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_lt-lt.spkg_115b412eaf63b6b0cbb7ff26fdcb93cbce303c2f.cab
136 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_lv-lv.spkg_4b57397c60b6ffa70e05a84cdd9c28de14183898.cab
137 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_mk-mk.spkg_aa0f8e91cc8340f3eb29d7e2017885e6ff4c1107.cab
138 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_ms-my.spkg_84b5937294f45e6b8c439dd7d03fda3fb14defd2.cab
139 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_nb-no.spkg_301d6f76de6de01a56fe1f84c98380b60b85d9a5.cab
140 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_nl-nl.spkg_e0a782889c6a655f51f1c29803eefb946ebdf235.cab
141 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_pl-pl.spkg_b75505561a41d41692c17c208b555a14ebb01c20.cab
142 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_pt-br.spkg_771505b7a216a7b7a71143501ec88ccc54f539e8.cab
143 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_pt-pt.spkg_09ea77cbdfc52354cada28007823519c4e16ce18.cab
144 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_ro-ro.spkg_bc59e9e5ce4251e4f680fd2bc29d5600af749e62.cab
145 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_ru-ru.spkg_69eeb15106cc0a9f8243622576fd81bdf578e0b0.cab
146 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_sk-sk.spkg_780da99ad28102d174c1fb7c4fda5acd55003777.cab
147 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_sl-si.spkg_36c3a981fcb77ddbcc75e5a46fd330e307a10a42.cab
148 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_sq-al.spkg_b21728387ff1b92d3593ad99b29179dcc402991d.cab
149 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_sr-latn-rs.spkg_c9f40e9db650bfbd3c86a48705218d76e1b40e5e.cab
150 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_sv-se.spkg_060f6b44c84898dd10c5d612eaad0a1905b601e2.cab
151 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_sw-ke.spkg_aca99c71584fe698fbdfd6d2ff3561d8a6dcf896.cab
152 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_th-th.spkg_b7bb1bf6d85a1f62c81eea90d3f52478c0ad345c.cab
153 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_tr-tr.spkg_143dcf1fa87ecb9774ae829d4584db51f22a77c0.cab
154 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_uk-ua.spkg_1c35eb9bf490ba81f941df1839dd1ff0bed6435f.cab
155 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_uz-latn-uz.spkg_6842637e9190459943f926a81452db654a41e26d.cab
156 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_vi-vn.spkg_83402617747ad484d2a8e91b7d90c90e9239bb11.cab
157 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_zh-cn.spkg_63297017a8c46f77a2ec43a0ab6ed61ef19b7c2f.cab
158 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_lang_zh-tw.spkg_9927ebf9f874bf7fbc6d0e842bc0aa34eb92e8df.cab
159 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_res_1080x1920.spkg_26b30a1f5ba267f12c4a54f89317a0444699de57.cab
160 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_res_480x800.spkg_3ac3729cc80035a4ed2c7fe60e6cf81ac3803bed.cab
161 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_res_540x960.spkg_e5868596ba8d5eb4a766a1c0f893ae6c356082a0.cab
162 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_res_720x1280.spkg_a0e162cbd1f509cfe27d99468c1c0e254082f443.cab
163 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mainos.production_res_768x1280.spkg_dda8c12a6613f0ddd1cb9e77879eb8a8aa878890.cab
164 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mobilecore.prod.efiesp.spkg_abc0b24a0d0f01221ba539463e42f91219c2fd8a.cab
165 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mobilecore.prod.mainos.spkg_31ad5dca9aa452d4f00f3a4551c554570aa9c686.cab
166 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.mobilecore.updateos.spkg_6af7e6c595c9782c4eed3cceadfa41d560f91e4f.cab
167 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_bootsequence_retail.efiesp.spkg_b09a06733ed1d94913786919351ee6c5d5c023c5.cab
168 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_bootsequence_retail.mainos.spkg_5b627fba6dc8bb41771aefe8feac08d10fb5fcb6.cab
169 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_commsenhancementglobal.mainos.spkg_69cb0779cff2736a42386eb594c8d4dedfd75949.cab
170 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_commsmessagingglobal.mainos.spkg_b3d621d1b6ac38e6a98e7577a93682e3f0f65108.cab
171 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_facebook.mainos.spkg_72723346900af71d25c7d44e963dc059812ffc46.cab
172 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_mmosloader_retail.efiesp.spkg_87bda590063db4893f3a15b8bf0f86b0aa7f4ad8.cab
173 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_mmosloader_retail.mainos.spkg_380832b93d3fd3f668504cad319fdbe5db31bb4b.cab
174 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_navigationbar.mainos.spkg_9351af5b1028d171a8760e22c00a32ec5fea032c.cab
175 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_optimized_boot.mainos.spkg_cacf1cae7fc900aa61c41825c2ae43665ec6809a.cab
176 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_rcs_feature_pack.mainos.spkg_725639a3ff76ce17c0633ac999ff87bb70ebbad6.cab
177 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_skype.mainos.spkg_5e667ab172b3a4e4a9c2d72255375f61a0fbf9c8.cab
178 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.ms_standard_feature_1.mainos.spkg_5c1c0e69ec6967e6312095a83ac15c0ff7c211df.cab
179 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.phonefm.spkg_2c1194cea4afa48061a8663f859a7bee0268a7e4.cab
180 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos.spkg_4a6c1bf281f5c75fce33c94dbe79a41b6b1ceffd.cab
181 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_af-za.spkg_add1cdd97913f62f6931ea3ba0d522d8d79b50cd.cab
182 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_ar-sa.spkg_9f6364e4702a7155dffe5250433664dee41b82f0.cab
183 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_az-latn-az.spkg_1a23f7c0a058cb9bc4bb55be614b8b1a6d79f1f6.cab
184 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_be-by.spkg_f1b1192add8a0aa282d1d7900d45fcefcf15cb30.cab
185 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_bg-bg.spkg_b746aea5aef4e28d4e1af0b09ba45d337364058e.cab
186 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_bn-bd.spkg_f9af77022e45e52e45878f137f4d78695ca12c6a.cab
187 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_ca-es.spkg_40fc02088598946b091f63b42513b7e77dcfe288.cab
188 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_cs-cz.spkg_2defbdc7687aca5e7ca3e0a3b08293274b1da819.cab
189 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_da-dk.spkg_af1294154292603b3f1722decfab6acc1acaa913.cab
190 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_de-de.spkg_c3dc80c883c13f9dd41a4b2c58617a3d7364ee5b.cab
191 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_el-gr.spkg_ce5f4edf34f7cb7966f982908cf6c56271859ca3.cab
192 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_en-gb.spkg_ab55ee298979759405d5baa0eb0c3db33701b84e.cab
193 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_en-us.spkg_cd0c09ace0492df19caed76c246724816772f6ab.cab
194 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_es-es.spkg_5c1edc0ff978e65c4a85ba0adb3956d58bca419f.cab
195 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_es-mx.spkg_defd1cf63ae2dd3fe0760b4dfa56761a7076457e.cab
196 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_et-ee.spkg_c483626973c999ba98ff06433b701074c967f8bd.cab
197 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_eu-es.spkg_a08fab6dc7ad58015d39837502edb23af6084d06.cab
198 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_fa-ir.spkg_040f53c37d6907c11dba05e3a66dbd4b3c0c186d.cab
199 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_fi-fi.spkg_9b5bc149a235a155b2b5a80dc92acb1468039624.cab
200 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_fil-ph.spkg_f0744a2eefbd60173ec717debdcf154b7d81afa4.cab
201 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_fr-ca.spkg_e369ebccbacb6420e9e320639680b3b6cf01be1a.cab
202 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_fr-fr.spkg_81055613fae6ab107a52b1ff4a375f34a92a2baf.cab
203 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_gl-es.spkg_453b77753dfa5bea84ff611acc2d158f30eed72d.cab
204 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_ha-latn-ng.spkg_f161b2228fe145ab7747bd930f9ceee0e915525d.cab
205 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_he-il.spkg_a636a9996cad7b8eeb14bf1cd60c951d3ad3267d.cab
206 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_hi-in.spkg_7f2a85011a4d6d80065d7d09c60f95ddcc245784.cab
207 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_hr-hr.spkg_df474172cce75b037acfff213a08c0b676e1fdd1.cab
208 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_hu-hu.spkg_03558e80319eef499185ddaf49ec22e43e4e2d2f.cab
209 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_id-id.spkg_12ba5ceee8bab614caf58ea02a0ce70b92dec623.cab
210 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_it-it.spkg_8e4db0c2cbac3f9a92d6503ec9ff548d75e40112.cab
211 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_ja-jp.spkg_895f2b16bf9924a80a9abb9631194d31e65e85f1.cab
212 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_kk-kz.spkg_3c42757af8da4c437b00ac50b592639f66458143.cab
213 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_km-kh.spkg_e911f69f1d33d65567a50601f9ef3087b08f22fb.cab
214 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_ko-kr.spkg_9ce273c9dc7834ae3195c35c8e8199146aa42485.cab
215 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_lo-la.spkg_4de2c7077f261a4a1853ac253ab15741e9801c11.cab
216 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_lt-lt.spkg_7d0e74303ddc50f8633c66be7aca6cdce1c56fae.cab
217 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_lv-lv.spkg_0b38bfcab9c4fd657871d22ffce80ecb3769a713.cab
218 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_mk-mk.spkg_5718e6d08132face5e266dc09889b1797db20685.cab
219 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_ms-my.spkg_1430f3e5b099b30e747a0c0b2bcb983611f804f6.cab
220 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_nb-no.spkg_f5b18baa91ceb8528bf2fc2466b397603c048193.cab
221 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_nl-nl.spkg_863af212b1d8a71005fbd24dea921002ae4b84e9.cab
222 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_pl-pl.spkg_70cf85217f88fe2361f9bec6d33a65e5d4af13d9.cab
223 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_pt-br.spkg_30f25b8b18ddb4551c4f4546807e98b619ac684d.cab
224 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_pt-pt.spkg_4b6034e0cf024d449bfa770f45eedb8898e17364.cab
225 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_ro-ro.spkg_ec837b483c1e3d44d090d01e9b0ca8d0f814d00f.cab
226 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_ru-ru.spkg_6ebb086fe9cc0eb45e6404336166c59f5348ac8e.cab
227 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_sk-sk.spkg_46d6837993807f1f2a8368600c23e3cad09bde67.cab
228 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_sl-si.spkg_9ab72d64b5497bca16c834b1d4355d8cf9a24077.cab
229 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_sq-al.spkg_f3828a6ec0a6ac7b068008ae273e5b98b5938f7d.cab
230 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_sr-latn-rs.spkg_2ea0a83e9b25b1d8956fa8b9aa223f4543b3362d.cab
231 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_sv-se.spkg_4e6d18e95b5107fab5786de3ed27749c9ddaa7ab.cab
232 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_sw-ke.spkg_1f995f02f99ab10223f4a3b76e9e3e55d8e67cdd.cab
233 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_th-th.spkg_2a770b109e3f202a500a77417172b3d34517950d.cab
234 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_tr-tr.spkg_520b0fb4dc2108f3021506555e51c0e07f7d8643.cab
235 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_uk-ua.spkg_3fa7bc0c76fe56f51692e5ecbb2645962892eac3.cab
236 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_uz-latn-uz.spkg_3f3f1b3ae22afe9ae80b4c438b9dbf50172acfd5.cab
237 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_vi-vn.spkg_d566f10782d2b811aef3ec62a75fa5cd01d9f3e5.cab
238 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_zh-cn.spkg_7719bb4e9b8099f2cfd19a5e18cb948de3e0cbbb.cab
239 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_lang_zh-tw.spkg_9a78bb2a59dc62f2d3f6eea7e2b1554db533b26f.cab
240 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_res_1080x1920.spkg_85426624103383ec856ab58ad230f722fcf1db90.cab
241 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_res_480x800.spkg_c1015e56286b2db350f5941ccf259b6225de68f1.cab
242 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_res_540x960.spkg_7ec52641738df88145ceea0016d55d6a4ea586e0.cab
243 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_res_720x1280.spkg_c5880bca13eb30ba185a39cd3ef6494c705b0481.cab
244 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.prerelease_protected.mainos_res_768x1280.spkg_6b573493d467ae8d3075b7f3039f5243394d310f.cab
245 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.release_production.efiesp.spkg_b7de2235c9ec8f333db903d64b214f59a2272159.cab
246 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.release_production.mainos.spkg_275a0f78affad1a5771eddce86c1be87de410d95.cab
247 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.release_production.updateos.spkg_64b1e46c9526f98cd63925ef3701962c260338b0.cab
248 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.soc_qc8960.mainos.spkg_d9b3f4db23131e83893ad99ce4b4de494f873145.cab
249 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.soc_qc8960.updateos.spkg_665446dc603be5317a42bb0e974b73c5943fb644.cab
250 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.soc_qc8974.mainos.spkg_a45db214b7cf4285d0047cbd45ae3ec9f8ab5ba5.cab
251 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.soc_qc8x12.mainos.spkg_3fba480f4c9f26f24abbc30cbebee33163f0ddf6.cab
252 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.soc_qc8x12_16k.mainos.spkg_95e6b2aa8002c9126bdbcac7793100ea82da8b83.cab
253 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.soc_qc8x26_16k.mainos.spkg_8fcf5462a74371c70fb12d807a9e135f608ac0f6.cab
254 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_de-de.spkg_0065bfd163bf71358f059697c5f046f7fbf1adce.cab
255 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_en-gb.spkg_c2c5a4b4d3481a02ed560a8cbefad998da02c035.cab
256 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_en-in.spkg_bdd27f6f28cdaea04a238d3d246e591893acd644.cab
257 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_en-us.spkg_44a003490e956ef915389eb462bf12bb95836b20.cab
258 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_es-es.spkg_acd3dd09653ba8b7d69bd64904111b3d9b88e931.cab
259 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_es-mx.spkg_0215d1562100b234e24ec1263a54d4af458ebe91.cab
260 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_fr-fr.spkg_62faaf5d68101900a8e2c70772f7666d07d76c3c.cab
261 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_it-it.spkg_cdd9ce702d09b6da957be82d2e9e1d7981dcbc2c.cab
262 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_ja-jp.spkg_ff417ee8f1202d0cc1ceed2e5b7ec3995ba95b7f.cab
263 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_ru-ru.spkg_5ee33cb091d843f8024b099915bbcd2e7250aac7.cab
264 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.data_lang_zh-cn.spkg_6cad86f33dc91ed20240b1e2ad75afe4c7b6bf37.cab
265 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_de-de.spkg_b3b1e62370a19930d60163bfdefd940fdb157a38.cab
266 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_en-in.spkg_8bc3d7fa928e908d6e9ae9f024cabdfabebf22d5.cab
267 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_es-es.spkg_518a6b947fc90a13c695c0ed071e96a4479057b4.cab
268 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_es-mx.spkg_8535e2a9832ee517d59254cdf34bbdc555c29099.cab
269 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_fr-fr.spkg_7a4c9514ffffedb87bb964e39ac8a4dd9493b9af.cab
270 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_it-it.spkg_b58db294ce49d7eb2dab19b2dbfdc75450347440.cab
271 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_ja-jp.spkg_d5d91757fbe69b008cb5779584e894338accedc3.cab
272 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_pl-pl.spkg_12994d96ab7f4bdbdbb3c78c489545b089e5f683.cab
273 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_pt-br.spkg_43c853cc3ec259ac8346a357ab00391fe290f06b.cab
274 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloaddata_lang_ru-ru.spkg_f20c9b463f0f3bd44d9302cb408fe4dccc5e3852.cab
275 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_de-de.spkg_84b3e890c13b95939f4e014fad6c3441d1606031.cab
276 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_en-gb.spkg_83e0644f8ec4e035a6c78681dd5dd775854a3f3d.cab
277 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_en-in.spkg_675bafde4f1fe54395261bb9bb0c5f4a744f05d4.cab
278 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_es-es.spkg_e06f6083a43fe61dd8dfb892df19b7f520b941b9.cab
279 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_es-mx.spkg_7bc0bdb74d624cb8e21dc6d08ba0440ac9194728.cab
280 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_fr-fr.spkg_a2abe651e05c9ff598a7d83b09647e2e8dfe4a00.cab
281 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_it-it.spkg_5a2ec6c2aff25ae06362a76e4a80747023b3d836.cab
282 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_ja-jp.spkg_399cd6b9d2e3915ec12f3a7a3becd917e11be637.cab
283 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_pl-pl.spkg_c0e7b58f320d994a99cf17528aca083240be55c1.cab
284 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_pt-br.spkg_4c423cd55d40fc01f93c7ea13e78cb1d4f5d66d6.cab
285 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_ru-ru.spkg_8cd86f8cd94c44f85ee54c8365a962feb1787fba.cab
286 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_zh-cn.spkg_b8cd2aae898254f1217538dc3af0285ceceebc1e.cab
287 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_zh-hk.spkg_e0dbc78d3ddd6477445e17a2372968db0b7134e3.cab
288 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.speech.downloadsystem_lang_zh-tw.spkg_bc3783becf3c7b05dd40181d1181c2e24a0be555.cab
289 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/02/microsoft.updateos.production.spkg_c948c520a72ef03e8fcad2546ac14a673c4e0100.cab
290 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_bingapps.mainos.spkr_6ad77885a53d3f4b236e020bf5b5c99659542df8.cab
291 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_af-za.spkr_5838dd404cc0231cb0e9d354ae4b1622c7c1cbf6.cab
292 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_ar-sa.spkr_c2333bd423bdec2defa87d61a0ba2e2f8b030cc9.cab
293 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_az-latn-az.spkr_e64064921c61b2ecdbea40f3b04973e4a20802d5.cab
294 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_be-by.spkr_5c4ad9fe97e7a3aefc4a9d073868435bc5bfc923.cab
295 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_bg-bg.spkr_c3fb90732b4e3e6997e1f08177fcbcfefa1ac1b5.cab
296 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_ca-es.spkr_41447108b9650131ba462d5fa55449f4bb04de3f.cab
297 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_cs-cz.spkr_c7f44c056702475a70a040afc4a67eda9397a2c5.cab
298 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_da-dk.spkr_07aa0e45764502df6ec23f02cbd850b5cf37c9b8.cab
299 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_de-de.spkr_6ad9551c2abd1201ec5a0017b2f85471f53da06c.cab
300 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_el-gr.spkr_fcfd4ee9aed18a8005d1d2b9869f5cdc92b14e34.cab
301 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_en-gb.spkr_f9ca1b41ac5b566444af5a1c8aa4ab9d715510dc.cab
302 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_en-us.spkr_5effbe3967b59492d99b62bab3e0408b0bf668aa.cab
303 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_es-es.spkr_6c2870451de681732509a7d1f50f740f1125cffa.cab
304 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_es-mx.spkr_12eae701b855ba5e7c8d3336938b8734685538c0.cab
305 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_et-ee.spkr_2948b936fdb2f5c55d920ff99f208754ef993b30.cab
306 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_eu-es.spkr_c60b71bd8e6a8d4f4c4030e5d5bd441747048b4e.cab
307 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_fa-ir.spkr_cfd27cd6cfba0bb56b9e6a70c302aa38ffae5356.cab
308 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_fi-fi.spkr_7876c1ffe1b3a4db021a9dee4879420b8e35f354.cab
309 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_fil-ph.spkr_0aba969924c4efcbde0c3df4aec044750c814556.cab
310 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_fr-ca.spkr_a93e06fdedc1c006f7758b1783b57bd9c1bff27b.cab
311 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_fr-fr.spkr_edf0e3cf22e63935970546425f0b4a2243f87a84.cab
312 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_gl-es.spkr_2f651005b77da4afbc78b2d9503be7e3bc4e3e82.cab
313 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_ha-latn-ng.spkr_de568d40f285aecc2970b7105ef53f0c66aee5b3.cab
314 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_he-il.spkr_0fc58b3ba28b516a3188e84f891b61a306d0cda7.cab
315 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_hi-in.spkr_2ea54ed88fa4136a637b991d17c957131f5b1587.cab
316 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_hr-hr.spkr_7c9c350bd6a5f5c0bef823b6bc52374fe8de4cac.cab
317 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_hu-hu.spkr_a6aec3ca3315baa175ed38ecc06bb7ee8b103bde.cab
318 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_id-id.spkr_90b4cae49ceb3d08ec80ff9c305f8569e4af8b15.cab
319 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_it-it.spkr_ffe50954006c0fee6d8aceb9b27344b2786af34e.cab
320 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_ja-jp.spkr_67f6d75787cc39811f3bb5bd70f19311bc02bd9b.cab
321 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_kk-kz.spkr_aba0580118aabe6a39e6143bf08ce57035b587d5.cab
322 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_ko-kr.spkr_adbd0076305fb9f61e6edeeb4cbe5e336d26f248.cab
323 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_lt-lt.spkr_d0e37440dec8513b73b6aede8f45a80a5d5ae7b8.cab
324 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_lv-lv.spkr_e4608f5af9fdb98fe5bf53fcd5312058938be65a.cab
325 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_mk-mk.spkr_04e4574798876583a2aa17cffea8c3b0ef703d7b.cab
326 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_ms-my.spkr_2de9d5b1d16aa8bcc6aa4a072081f946fd6519cd.cab
327 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_nb-no.spkr_8f86742f366854cbeb26995cc118d4d0a4890329.cab
328 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_nl-nl.spkr_794c1951a2b4764a61a831fc22bba6dad1e01c84.cab
329 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_pl-pl.spkr_95632a54f5014cb249b31e6223f449af5280886c.cab
330 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_pt-br.spkr_65ac1a8e70226275884c0ce014483cea044bd30a.cab
331 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_pt-pt.spkr_c7e42309c2551f927237718e0527ee0b999397d1.cab
332 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_ro-ro.spkr_2f32126dfc9b65003eb5a0ce767819ae025c4afc.cab
333 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_ru-ru.spkr_52d865a263e25405bef9fa6f5fbdd9016a7811d1.cab
334 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_sk-sk.spkr_4520b12d59cf903cfb8640763cbed3f90fb20b5b.cab
335 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_sl-si.spkr_f32810d125fd70af3ccffca121beea1528f0eaff.cab
336 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_sq-al.spkr_0a01aebc4dfb1d7df91665551fbbf80ee4223177.cab
337 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_sr-latn-rs.spkr_9792381b58a65748b458f7abd9347802b29a8882.cab
338 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_sv-se.spkr_12ba7655bca8fa40e9a510cb4a3b187c0ba3ba42.cab
339 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_th-th.spkr_f4e6f7d23c42fe4972bd200097aad0165965f19d.cab
340 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_tr-tr.spkr_f2f2033f3460a8567fa11a5192c1272bd930c38c.cab
341 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_uk-ua.spkr_b9831c132ff8d6ec5266fbe82e8af93a272e4db4.cab
342 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_uz-latn-uz.spkr_c85761abb2458cd267b5a8a9cce573aa67f70fbd.cab
343 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_vi-vn.spkr_9e98d8d472d5b034e7aa3dbaa8255553871f2859.cab
344 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_zh-cn.spkr_55f7b02c3574b1beeb8d6c07297825dbfd1a4fc9.cab
345 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_navigationbar.mainos_lang_zh-tw.spkr_f66bf494d7eff017af4be4ae59cecb11acd36cfa.cab
346 | http://download.windowsupdate.com/d/msdownload/update/software/dflt/2016/09/microsoft.ms_slapi_updater_feature_pack.mainos.spkr_4a7f04d093615d5074f8c2cd61371de0a79f69f8.cab
--------------------------------------------------------------------------------