Compare commits

...

60 Commits
v1.6 ... v1.15

Author SHA1 Message Date
nerdunit
69ffff1111 Update README.md 2020-11-02 14:26:28 -08:00
nerdunit
b53f8209d5 Delete customAdbCommandForm.Designer.cs 2020-11-02 14:13:45 -08:00
nerdunit
5d602bd62b Delete customAdbCommandForm.cs 2020-11-02 14:13:33 -08:00
nerdunit
1c8167c736 Delete customAdbCommandForm.resx 2020-11-02 14:13:22 -08:00
nerdunit
6730667fd7 Delete usernameForm.Designer.cs 2020-11-02 14:13:13 -08:00
nerdunit
5febd93757 Delete usernameForm.cs 2020-11-02 14:13:03 -08:00
nerdunit
e6b32ccd00 Delete usernameForm.resx 2020-11-02 14:12:49 -08:00
nerdunit
4cba1bfdce Add files via upload 2020-11-02 14:09:51 -08:00
nerdunit
07b64816cb Delete TroubleshootForm.Designer.cs 2020-11-02 14:08:58 -08:00
nerdunit
cbfa67d08a Delete TroubleshootForm.cs 2020-11-02 14:08:51 -08:00
nerdunit
2a76577b5e Delete TroubleshootForm.resx 2020-11-02 14:08:45 -08:00
nerdunit
ca707c44cb Add files via upload 2020-11-02 14:07:24 -08:00
nerdunit
ccdb5d2062 Add files via upload 2020-11-02 14:02:01 -08:00
nerdunit
cefb969004 Add files via upload 2020-10-18 02:25:49 -07:00
nerdunit
ff8046d3a4 Update version 2020-10-18 02:25:44 -07:00
nerdunit
15fda32f19 Update version 2020-10-17 01:42:23 -07:00
nerdunit
e6505c75a8 Add files via upload 2020-10-17 01:42:21 -07:00
nerdunit
a8daba4325 Update version 2020-09-10 03:58:30 -07:00
nerdunit
d07a739746 Add files via upload 2020-09-10 03:58:21 -07:00
nerdunit
8cb5a1036d Update version 2020-09-10 01:14:55 -07:00
nerdunit
022f906c4d Add files via upload 2020-09-10 01:14:39 -07:00
nerdunit
ec76448477 Update version 2020-09-08 10:35:49 -07:00
nerdunit
ef72be31e3 Add files via upload 2020-09-08 10:35:27 -07:00
nerdunit
2734a9bf61 Update version 2020-09-08 08:14:24 -07:00
nerdunit
a3dfa21899 Add files via upload 2020-09-08 08:13:15 -07:00
nerdunit
eac379757c Update version 2020-09-05 04:40:22 -07:00
nerdunit
f66cd4ba66 Add files via upload 2020-09-05 04:40:08 -07:00
nerdunit
1ddfd8de2e Update version 2020-09-03 02:27:03 -07:00
nerdunit
78a67b41d8 Add files via upload 2020-09-03 02:26:59 -07:00
nerdunit
8c69c68d23 Update version 2020-09-01 01:33:45 -07:00
nerdunit
f7a44380f3 Add files via upload 2020-09-01 01:31:48 -07:00
nerdunit
bcc57865a0 Update version 2020-08-27 09:14:08 -07:00
nerdunit
c56fe7af39 Add files via upload 2020-08-27 09:14:07 -07:00
nerdunit
8feb830c6a Update version 2020-08-23 05:42:30 -07:00
nerdunit
577a14133d Add files via upload 2020-08-23 05:42:06 -07:00
nerdunit
fcad1ce636 Add files via upload 2020-08-17 12:51:40 -07:00
nerdunit
3fae800f7e Add files via upload 2020-08-17 11:00:44 -07:00
nerdunit
4a541335d0 Update version 2020-08-17 11:00:22 -07:00
nerdunit
c6f8985bc0 Add files via upload 2020-08-17 07:16:27 -07:00
nerdunit
1c0b95014c Update version 2020-08-17 07:16:17 -07:00
nerdunit
4ac29040f8 Update version 2020-08-05 11:34:45 -07:00
nerdunit
0a612c7da1 Add files via upload 2020-08-05 11:34:41 -07:00
nerdunit
33ba798b41 Add files via upload 2020-08-05 04:29:46 -07:00
nerdunit
57525e1afa Update version 2020-08-05 04:28:52 -07:00
nerdunit
191044d88b Add files via upload 2020-07-31 00:39:48 -07:00
nerdunit
ec5395b0df Update version 2020-07-31 00:39:16 -07:00
nerdunit
2505cd6923 Update version 2020-07-28 14:26:53 -07:00
nerdunit
872ceb17ce Add files via upload 2020-07-28 06:09:30 -07:00
nerdunit
494f3dec69 Update version 2020-07-27 23:03:21 -07:00
nerdunit
ab870f984d Add files via upload 2020-07-27 23:03:10 -07:00
nerdunit
c4327c3de9 Add files via upload 2020-07-26 08:43:00 -07:00
nerdunit
34c3c1b9ab Add files via upload 2020-07-25 08:52:13 -07:00
nerdunit
698c49bc0e Update README.md 2020-07-25 01:45:34 -07:00
nerdunit
298fbe8a00 Add files via upload 2020-07-25 01:44:34 -07:00
nerdunit
7143bf63c6 Add files via upload 2020-07-23 08:10:51 -07:00
nerdunit
c905acaa6a Add files via upload 2020-07-23 02:58:37 -07:00
nerdunit
de1cfd511a Add files via upload 2020-07-21 13:51:59 -07:00
nerdunit
af7bbc3407 Update donators.txt 2020-07-21 07:36:08 -07:00
nerdunit
e9805f8c17 v1.6 2020-07-21 07:23:53 -07:00
nerdunit
a8106a87b2 Update version 2020-07-21 07:23:50 -07:00
60 changed files with 96383 additions and 3396 deletions

147
ADB.cs Normal file
View File

@@ -0,0 +1,147 @@
using System;
using System.Diagnostics;
using System.Windows.Forms;
using System.IO;
using System.Threading;
using System.Collections.Generic;
using System.Drawing;
using System.Management;
using System.ComponentModel;
using System.Text;
using System.Threading.Tasks;
using System.Net.Http;
using System.Windows.Threading;
using System.Net;
using SergeUtils;
using JR.Utils.GUI.Forms;
using Newtonsoft.Json;
using System.Globalization;
using System.Linq;
namespace AndroidSideloader
{
class ADB
{
static Process adb = new Process();
public static string adbPath = Environment.CurrentDirectory + "\\adb\\";
public static bool IsRunningCommand = false;
public static string RunAdbCommandToString(string command)
{
IsRunningCommand = true;
if (DeviceID.Length > 1)
command = $" -s {DeviceID} {command}";
Logger.Log($"Running command {command}");
adb.StartInfo.FileName = Environment.CurrentDirectory + "\\adb\\adb.exe";
adb.StartInfo.Arguments = command;
adb.StartInfo.RedirectStandardInput = true;
adb.StartInfo.RedirectStandardOutput = true;
adb.StartInfo.RedirectStandardError = true;
adb.StartInfo.CreateNoWindow = true;
adb.StartInfo.UseShellExecute = false;
adb.StartInfo.WorkingDirectory = adbPath;
//adb.OutputDataReceived += ADB_OutputDataReceived;
adb.ErrorDataReceived += ADB_ErrorDataReceived;
adb.Start();
adb.StandardInput.WriteLine(command);
adb.StandardInput.Flush();
adb.StandardInput.Close();
var output = adb.StandardOutput.ReadToEnd();
error = adb.StandardError.ReadToEnd();
adb.WaitForExit();
IsRunningCommand = false;
Logger.Log($"Output {output}");
return output;
}
public static string UninstallPackage(string package)
{
string output = string.Empty;
output += RunAdbCommandToString($"shell pm uninstall -k --user 0 {package}");
output += RunAdbCommandToString($"shell pm uninstall {package}");
return output;
}
public static string error = "";
static void ADB_ErrorDataReceived(object sender, DataReceivedEventArgs e)
{
Logger.Log($"ADB ERROR: {e.Data}");
}
public static string DeviceID = "";
public static string GetAvailableSpace()
{
long totalSize = 0;
long usedSize = 0;
long freeSize = 0;
var output = RunAdbCommandToString("shell df").Split('\n');
foreach (string currLine in output)
{
if (currLine.StartsWith("/data/media"))
{
var foo = currLine.Split(' ');
int i = 0;
foreach (string curr in foo)
{
if (curr.Length > 1)
{
switch (i)
{
case 0:
break;
case 1:
totalSize = Int64.Parse(curr) / 1000;
break;
case 2:
usedSize = Int64.Parse(curr) / 1000;
break;
case 3:
freeSize = Int64.Parse(curr) / 1000;
break;
default:
break;
}
i++;
}
}
}
}
return $"Total space: {String.Format("{0:0.00}", (double)totalSize / 1000)}GB\n Used space: {String.Format("{0:0.00}", (double)usedSize / 1000)}GB\n Free space: {String.Format("{0:0.00}", (double)freeSize / 1000)}GB";
}
public static string Sideload(string path)
{
return RunAdbCommandToString($"install -g -r \"{path}\"");
}
public static string CopyOBB(string path)
{
bool ok = false;
foreach (string file in Directory.GetFiles(path))
{
if (Path.GetExtension(file) == ".obb")
{
ok = true;
break;
}
}
if (ok)
return RunAdbCommandToString($"push \"{path}\" /sdcard/Android/obb");
return "";
}
}
}

View File

@@ -15,6 +15,27 @@
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup>
<UseShortFileNames>True</UseShortFileNames>
</PropertyGroup>
<PropertyGroup>
<IntermediateOutputPath>C:\Sideloader</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -37,8 +58,7 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>
</ApplicationIcon>
<ApplicationIcon>icon.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<StartupObject>AndroidSideloader.Program</StartupObject>
@@ -95,6 +115,24 @@
<OutputPath>bin\x86\x86\</OutputPath>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>false</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>AndroidSideloader_TemporaryKey.pfx</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup>
<DelaySign>false</DelaySign>
</PropertyGroup>
<PropertyGroup>
<SignManifests>false</SignManifests>
</PropertyGroup>
<PropertyGroup>
<ManifestCertificateThumbprint>2596B6735D27EAE6BD754AC8A5249B9EAE39122F</ManifestCertificateThumbprint>
</PropertyGroup>
<PropertyGroup>
<ManifestKeyFile>AndroidSideloader_TemporaryKey.pfx</ManifestKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="Costura, Version=4.1.0.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
<HintPath>packages\Costura.Fody.4.1.0\lib\net40\Costura.dll</HintPath>
@@ -126,12 +164,10 @@
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="UHWID">
<HintPath>packages\UHWID.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="ADB.cs" />
<Compile Include="FlexibleMessageBox.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
@@ -145,23 +181,26 @@
<Compile Include="ImageForm.Designer.cs">
<DependentUpon>ImageForm.cs</DependentUpon>
</Compile>
<Compile Include="Logger.cs" />
<Compile Include="QuestForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="QuestForm.Designer.cs">
<DependentUpon>QuestForm.cs</DependentUpon>
</Compile>
<Compile Include="RCLONE.cs" />
<Compile Include="SettingsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SettingsForm.Designer.cs">
<DependentUpon>SettingsForm.cs</DependentUpon>
</Compile>
<Compile Include="ThemeForm.cs">
<Compile Include="spoofer.cs" />
<Compile Include="SpoofForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ThemeForm.Designer.cs">
<DependentUpon>ThemeForm.cs</DependentUpon>
</Compile>
<Compile Include="TroubleshootForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="TroubleshootForm.Designer.cs">
<DependentUpon>TroubleshootForm.cs</DependentUpon>
<Compile Include="SpoofForm.Designer.cs">
<DependentUpon>SpoofForm.cs</DependentUpon>
</Compile>
<Compile Include="UsernameForm.cs">
<SubType>Form</SubType>
@@ -172,15 +211,17 @@
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SelectFolder.cs" />
<Compile Include="Utilities.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ImageForm.resx">
<DependentUpon>ImageForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
@@ -189,18 +230,23 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="QuestForm.resx">
<DependentUpon>QuestForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SettingsForm.resx">
<DependentUpon>SettingsForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ThemeForm.resx">
<DependentUpon>ThemeForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="TroubleshootForm.resx">
<DependentUpon>TroubleshootForm.cs</DependentUpon>
<EmbeddedResource Include="SpoofForm.resx">
<DependentUpon>SpoofForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UsernameForm.resx">
<DependentUpon>UsernameForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<None Include=".editorconfig" />
<None Include="AndroidSideloader_TemporaryKey.pfx" />
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
@@ -220,6 +266,19 @@
<Content Include="icon.ico" />
<Content Include="MetroFramework.txt" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.5.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.5.2 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="packages\Fody.6.0.0\build\Fody.targets" Condition="Exists('packages\Fody.6.0.0\build\Fody.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

View File

@@ -2,5 +2,13 @@
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
<PublishUrlHistory>publish\</PublishUrlHistory>
<InstallUrlHistory />
<SupportUrlHistory />
<UpdateUrlHistory />
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>en-US</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>

View File

@@ -5,6 +5,11 @@ VisualStudioVersion = 16.0.30011.22
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AndroidSideloader", "AndroidSideloader.csproj", "{CC8BE9F0-CE07-406A-A378-81D9CFE4CC1D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{9E3C926E-5E5F-4F97-AC52-060B14DDB055}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU

View File

@@ -2,21 +2,21 @@
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="AndroidSideloader.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
<section name="AndroidADB.Sideloader.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<userSettings>
<AndroidSideloader.Properties.Settings>
<AndroidADB.Sideloader.Properties.Settings>
<setting name="checkForUpdates" serializeAs="String">
<value>True</value>
</setting>
<setting name="enableMessageBoxes" serializeAs="String">
<value>True</value>
</setting>
<setting name="copyMessageToClipboard" serializeAs="String">
<setting name="logRclone" serializeAs="String">
<value>False</value>
</setting>
<setting name="firstRun" serializeAs="String">
@@ -25,6 +25,15 @@
<setting name="deleteAllAfterInstall" serializeAs="String">
<value>True</value>
</setting>
<setting name="autoUpdateConfig" serializeAs="String">
<value>True</value>
</setting>
<setting name="userJsonOnGameInstall" serializeAs="String">
<value>True</value>
</setting>
<setting name="CallUpgrade" serializeAs="String">
<value>True</value>
</setting>
<setting name="BackColor" serializeAs="String">
<value>45, 45, 45</value>
</setting>
@@ -50,12 +59,11 @@
<value>Microsoft Sans Serif, 11.25pt</value>
</setting>
<setting name="BackPicturePath" serializeAs="String">
<value>
</value>
<value />
</setting>
<setting name="autoUpdateConfig" serializeAs="String">
<value>True</value>
<setting name="SpoofGames" serializeAs="String">
<value>False</value>
</setting>
</AndroidSideloader.Properties.Settings>
</AndroidADB.Sideloader.Properties.Settings>
</userSettings>
</configuration>

511
Form1.Designer.cs generated
View File

@@ -28,7 +28,6 @@
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.m_combo = new SergeUtils.EasyCompletionComboBox();
this.startsideloadbutton = new System.Windows.Forms.Button();
this.devicesbutton = new System.Windows.Forms.Button();
@@ -36,8 +35,6 @@
this.backupbutton = new System.Windows.Forms.Button();
this.restorebutton = new System.Windows.Forms.Button();
this.getApkButton = new System.Windows.Forms.Button();
this.launchPackageTextBox = new System.Windows.Forms.TextBox();
this.launchApkButton = new System.Windows.Forms.Button();
this.uninstallAppButton = new System.Windows.Forms.Button();
this.sideloadFolderButton = new System.Windows.Forms.Button();
this.progressBar = new System.Windows.Forms.ProgressBar();
@@ -46,13 +43,14 @@
this.downloadInstallGameButton = new System.Windows.Forms.Button();
this.gamesComboBox = new SergeUtils.EasyCompletionComboBox();
this.panel1 = new System.Windows.Forms.Panel();
this.donateButton = new System.Windows.Forms.Button();
this.themesbutton = new System.Windows.Forms.Button();
this.aboutBtn = new System.Windows.Forms.Button();
this.settingsButton = new System.Windows.Forms.Button();
this.troubleshootButton = new System.Windows.Forms.Button();
this.checkHashButton = new System.Windows.Forms.Button();
this.otherContainer = new System.Windows.Forms.Panel();
this.QuestOptionsButton = new System.Windows.Forms.Button();
this.killRcloneButton = new System.Windows.Forms.Button();
this.movieStreamButton = new System.Windows.Forms.Button();
this.userjsonButton = new System.Windows.Forms.Button();
this.otherDrop = new System.Windows.Forms.Button();
this.backupContainer = new System.Windows.Forms.Panel();
this.backupDrop = new System.Windows.Forms.Button();
this.sideloadContainer = new System.Windows.Forms.Panel();
@@ -61,7 +59,14 @@
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.etaLabel = new System.Windows.Forms.Label();
this.speedLabel = new System.Windows.Forms.Label();
this.diskLabel = new System.Windows.Forms.Label();
this.gamesQueListBox = new System.Windows.Forms.ListBox();
this.freeDisclaimer = new System.Windows.Forms.Label();
this.devicesComboBox = new System.Windows.Forms.ComboBox();
this.remotesList = new System.Windows.Forms.ComboBox();
this.SpoofFormButton = new System.Windows.Forms.Button();
this.panel1.SuspendLayout();
this.otherContainer.SuspendLayout();
this.backupContainer.SuspendLayout();
this.sideloadContainer.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
@@ -74,10 +79,9 @@
this.m_combo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.m_combo.Font = new System.Drawing.Font("Arial", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.m_combo.ForeColor = System.Drawing.Color.White;
this.m_combo.Location = new System.Drawing.Point(284, 14);
this.m_combo.Margin = new System.Windows.Forms.Padding(4);
this.m_combo.Location = new System.Drawing.Point(224, 11);
this.m_combo.Name = "m_combo";
this.m_combo.Size = new System.Drawing.Size(685, 24);
this.m_combo.Size = new System.Drawing.Size(504, 21);
this.m_combo.TabIndex = 19;
this.m_combo.Text = "Select an app from here...";
//
@@ -92,11 +96,10 @@
this.startsideloadbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.startsideloadbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.startsideloadbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.startsideloadbutton.Location = new System.Drawing.Point(0, 170);
this.startsideloadbutton.Margin = new System.Windows.Forms.Padding(4);
this.startsideloadbutton.Location = new System.Drawing.Point(0, 140);
this.startsideloadbutton.Name = "startsideloadbutton";
this.startsideloadbutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.startsideloadbutton.Size = new System.Drawing.Size(267, 34);
this.startsideloadbutton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.startsideloadbutton.Size = new System.Drawing.Size(218, 28);
this.startsideloadbutton.TabIndex = 7;
this.startsideloadbutton.Text = "Sideload APK";
this.startsideloadbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -115,9 +118,8 @@
this.devicesbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.devicesbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.devicesbutton.Location = new System.Drawing.Point(0, 0);
this.devicesbutton.Margin = new System.Windows.Forms.Padding(4);
this.devicesbutton.Name = "devicesbutton";
this.devicesbutton.Size = new System.Drawing.Size(267, 34);
this.devicesbutton.Size = new System.Drawing.Size(218, 28);
this.devicesbutton.TabIndex = 0;
this.devicesbutton.Text = "ADB DEVICES";
this.devicesbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -136,10 +138,9 @@
this.obbcopybutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.obbcopybutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.obbcopybutton.Location = new System.Drawing.Point(0, 0);
this.obbcopybutton.Margin = new System.Windows.Forms.Padding(4);
this.obbcopybutton.Name = "obbcopybutton";
this.obbcopybutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.obbcopybutton.Size = new System.Drawing.Size(267, 34);
this.obbcopybutton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.obbcopybutton.Size = new System.Drawing.Size(218, 28);
this.obbcopybutton.TabIndex = 2;
this.obbcopybutton.Text = "Copy Obb";
this.obbcopybutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -157,11 +158,10 @@
this.backupbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.backupbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.backupbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.backupbutton.Location = new System.Drawing.Point(0, 34);
this.backupbutton.Margin = new System.Windows.Forms.Padding(4);
this.backupbutton.Location = new System.Drawing.Point(0, 28);
this.backupbutton.Name = "backupbutton";
this.backupbutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.backupbutton.Size = new System.Drawing.Size(267, 34);
this.backupbutton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.backupbutton.Size = new System.Drawing.Size(218, 28);
this.backupbutton.TabIndex = 11;
this.backupbutton.Text = "Backup Gamedata";
this.backupbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -180,10 +180,9 @@
this.restorebutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.restorebutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.restorebutton.Location = new System.Drawing.Point(0, 0);
this.restorebutton.Margin = new System.Windows.Forms.Padding(4);
this.restorebutton.Name = "restorebutton";
this.restorebutton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.restorebutton.Size = new System.Drawing.Size(267, 34);
this.restorebutton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.restorebutton.Size = new System.Drawing.Size(218, 28);
this.restorebutton.TabIndex = 10;
this.restorebutton.Text = "Restore Gamedata";
this.restorebutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -201,40 +200,16 @@
this.getApkButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.getApkButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.getApkButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.getApkButton.Location = new System.Drawing.Point(0, 68);
this.getApkButton.Margin = new System.Windows.Forms.Padding(4);
this.getApkButton.Location = new System.Drawing.Point(0, 56);
this.getApkButton.Name = "getApkButton";
this.getApkButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.getApkButton.Size = new System.Drawing.Size(267, 34);
this.getApkButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.getApkButton.Size = new System.Drawing.Size(218, 28);
this.getApkButton.TabIndex = 4;
this.getApkButton.Text = "Get Apk";
this.getApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.getApkButton.UseVisualStyleBackColor = false;
this.getApkButton.Click += new System.EventHandler(this.getApkButton_Click);
//
// launchPackageTextBox
//
this.launchPackageTextBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.launchPackageTextBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.launchPackageTextBox.ForeColor = System.Drawing.Color.White;
this.launchPackageTextBox.Location = new System.Drawing.Point(714, 150);
this.launchPackageTextBox.Margin = new System.Windows.Forms.Padding(4);
this.launchPackageTextBox.Name = "launchPackageTextBox";
this.launchPackageTextBox.Size = new System.Drawing.Size(255, 22);
this.launchPackageTextBox.TabIndex = 23;
this.launchPackageTextBox.Text = "de.eye_interactive.atvl.settings";
//
// launchApkButton
//
this.launchApkButton.Location = new System.Drawing.Point(714, 177);
this.launchApkButton.Margin = new System.Windows.Forms.Padding(4);
this.launchApkButton.Name = "launchApkButton";
this.launchApkButton.Size = new System.Drawing.Size(255, 25);
this.launchApkButton.TabIndex = 24;
this.launchApkButton.Text = "Launch Apk By Package Name";
this.launchApkButton.UseVisualStyleBackColor = true;
this.launchApkButton.Click += new System.EventHandler(this.launchApkButton_Click);
//
// uninstallAppButton
//
this.uninstallAppButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
@@ -246,11 +221,10 @@
this.uninstallAppButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.uninstallAppButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.uninstallAppButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.uninstallAppButton.Location = new System.Drawing.Point(0, 102);
this.uninstallAppButton.Margin = new System.Windows.Forms.Padding(4);
this.uninstallAppButton.Location = new System.Drawing.Point(0, 84);
this.uninstallAppButton.Name = "uninstallAppButton";
this.uninstallAppButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.uninstallAppButton.Size = new System.Drawing.Size(267, 34);
this.uninstallAppButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.uninstallAppButton.Size = new System.Drawing.Size(218, 28);
this.uninstallAppButton.TabIndex = 5;
this.uninstallAppButton.Text = "Uninstall App";
this.uninstallAppButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -268,11 +242,10 @@
this.sideloadFolderButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.sideloadFolderButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.sideloadFolderButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.sideloadFolderButton.Location = new System.Drawing.Point(0, 136);
this.sideloadFolderButton.Margin = new System.Windows.Forms.Padding(4);
this.sideloadFolderButton.Location = new System.Drawing.Point(0, 112);
this.sideloadFolderButton.Name = "sideloadFolderButton";
this.sideloadFolderButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.sideloadFolderButton.Size = new System.Drawing.Size(267, 34);
this.sideloadFolderButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.sideloadFolderButton.Size = new System.Drawing.Size(218, 28);
this.sideloadFolderButton.TabIndex = 6;
this.sideloadFolderButton.Text = "Sideload Folder";
this.sideloadFolderButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -283,10 +256,9 @@
//
this.progressBar.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.progressBar.ForeColor = System.Drawing.Color.Purple;
this.progressBar.Location = new System.Drawing.Point(284, 46);
this.progressBar.Margin = new System.Windows.Forms.Padding(4);
this.progressBar.Location = new System.Drawing.Point(224, 37);
this.progressBar.Name = "progressBar";
this.progressBar.Size = new System.Drawing.Size(685, 25);
this.progressBar.Size = new System.Drawing.Size(503, 20);
this.progressBar.TabIndex = 20;
//
// copyBulkObbButton
@@ -300,11 +272,10 @@
this.copyBulkObbButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.copyBulkObbButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.copyBulkObbButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.copyBulkObbButton.Location = new System.Drawing.Point(0, 34);
this.copyBulkObbButton.Margin = new System.Windows.Forms.Padding(4);
this.copyBulkObbButton.Location = new System.Drawing.Point(0, 28);
this.copyBulkObbButton.Name = "copyBulkObbButton";
this.copyBulkObbButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.copyBulkObbButton.Size = new System.Drawing.Size(267, 34);
this.copyBulkObbButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.copyBulkObbButton.Size = new System.Drawing.Size(218, 28);
this.copyBulkObbButton.TabIndex = 3;
this.copyBulkObbButton.Text = "Copy Bulk Obb";
this.copyBulkObbButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -316,20 +287,19 @@
this.DragDropLbl.AutoSize = true;
this.DragDropLbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.DragDropLbl.ForeColor = System.Drawing.Color.White;
this.DragDropLbl.Location = new System.Drawing.Point(275, 486);
this.DragDropLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.DragDropLbl.Location = new System.Drawing.Point(208, 566);
this.DragDropLbl.Name = "DragDropLbl";
this.DragDropLbl.Size = new System.Drawing.Size(394, 69);
this.DragDropLbl.Size = new System.Drawing.Size(320, 55);
this.DragDropLbl.TabIndex = 25;
this.DragDropLbl.Text = "DragDropLBL";
this.DragDropLbl.Visible = false;
//
// downloadInstallGameButton
//
this.downloadInstallGameButton.Location = new System.Drawing.Point(284, 113);
this.downloadInstallGameButton.Margin = new System.Windows.Forms.Padding(4);
this.downloadInstallGameButton.Enabled = false;
this.downloadInstallGameButton.Location = new System.Drawing.Point(224, 92);
this.downloadInstallGameButton.Name = "downloadInstallGameButton";
this.downloadInstallGameButton.Size = new System.Drawing.Size(685, 28);
this.downloadInstallGameButton.Size = new System.Drawing.Size(503, 23);
this.downloadInstallGameButton.TabIndex = 22;
this.downloadInstallGameButton.Text = "Download and Install Game";
this.downloadInstallGameButton.UseVisualStyleBackColor = true;
@@ -342,10 +312,9 @@
this.gamesComboBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.gamesComboBox.Font = new System.Drawing.Font("Arial", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.gamesComboBox.ForeColor = System.Drawing.Color.White;
this.gamesComboBox.Location = new System.Drawing.Point(284, 81);
this.gamesComboBox.Margin = new System.Windows.Forms.Padding(4);
this.gamesComboBox.Location = new System.Drawing.Point(224, 66);
this.gamesComboBox.Name = "gamesComboBox";
this.gamesComboBox.Size = new System.Drawing.Size(685, 24);
this.gamesComboBox.Size = new System.Drawing.Size(504, 21);
this.gamesComboBox.Sorted = true;
this.gamesComboBox.TabIndex = 21;
this.gamesComboBox.Text = "Select a game from here...";
@@ -354,13 +323,10 @@
//
this.panel1.AutoScroll = true;
this.panel1.BackColor = global::AndroidSideloader.Properties.Settings.Default.PanelColor;
this.panel1.Controls.Add(this.donateButton);
this.panel1.Controls.Add(this.themesbutton);
this.panel1.Controls.Add(this.aboutBtn);
this.panel1.Controls.Add(this.settingsButton);
this.panel1.Controls.Add(this.troubleshootButton);
this.panel1.Controls.Add(this.checkHashButton);
this.panel1.Controls.Add(this.userjsonButton);
this.panel1.Controls.Add(this.otherContainer);
this.panel1.Controls.Add(this.otherDrop);
this.panel1.Controls.Add(this.backupContainer);
this.panel1.Controls.Add(this.backupDrop);
this.panel1.Controls.Add(this.sideloadContainer);
@@ -369,49 +335,11 @@
this.panel1.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "PanelColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel1.Margin = new System.Windows.Forms.Padding(2);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(267, 786);
this.panel1.Size = new System.Drawing.Size(218, 659);
this.panel1.TabIndex = 73;
//
// donateButton
//
this.donateButton.Dock = System.Windows.Forms.DockStyle.Top;
this.donateButton.FlatAppearance.BorderSize = 0;
this.donateButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.donateButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.donateButton.ForeColor = System.Drawing.SystemColors.ButtonFace;
this.donateButton.Location = new System.Drawing.Point(0, 635);
this.donateButton.Margin = new System.Windows.Forms.Padding(4);
this.donateButton.Name = "donateButton";
this.donateButton.Size = new System.Drawing.Size(267, 58);
this.donateButton.TabIndex = 18;
this.donateButton.Text = "DONATE";
this.donateButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.donateButton.UseVisualStyleBackColor = true;
this.donateButton.Click += new System.EventHandler(this.donateButton_Click);
//
// themesbutton
//
this.themesbutton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.themesbutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.themesbutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.themesbutton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.themesbutton.Dock = System.Windows.Forms.DockStyle.Top;
this.themesbutton.FlatAppearance.BorderSize = 0;
this.themesbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.themesbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.themesbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.themesbutton.Location = new System.Drawing.Point(0, 601);
this.themesbutton.Margin = new System.Windows.Forms.Padding(4);
this.themesbutton.Name = "themesbutton";
this.themesbutton.Size = new System.Drawing.Size(267, 34);
this.themesbutton.TabIndex = 17;
this.themesbutton.Text = "THEMES";
this.themesbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.themesbutton.UseVisualStyleBackColor = false;
this.themesbutton.Click += new System.EventHandler(this.themesbutton_Click);
//
// aboutBtn
//
this.aboutBtn.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
@@ -423,11 +351,10 @@
this.aboutBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.aboutBtn.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.aboutBtn.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.aboutBtn.Location = new System.Drawing.Point(0, 567);
this.aboutBtn.Margin = new System.Windows.Forms.Padding(4);
this.aboutBtn.Location = new System.Drawing.Point(0, 549);
this.aboutBtn.Name = "aboutBtn";
this.aboutBtn.Size = new System.Drawing.Size(267, 34);
this.aboutBtn.TabIndex = 16;
this.aboutBtn.Size = new System.Drawing.Size(218, 28);
this.aboutBtn.TabIndex = 82;
this.aboutBtn.Text = "ABOUT";
this.aboutBtn.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.aboutBtn.UseVisualStyleBackColor = false;
@@ -444,89 +371,146 @@
this.settingsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.settingsButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.settingsButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.settingsButton.Location = new System.Drawing.Point(0, 533);
this.settingsButton.Margin = new System.Windows.Forms.Padding(4);
this.settingsButton.Location = new System.Drawing.Point(0, 521);
this.settingsButton.Name = "settingsButton";
this.settingsButton.Size = new System.Drawing.Size(267, 34);
this.settingsButton.TabIndex = 15;
this.settingsButton.Size = new System.Drawing.Size(218, 28);
this.settingsButton.TabIndex = 81;
this.settingsButton.Text = "SETTINGS";
this.settingsButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.settingsButton.UseVisualStyleBackColor = false;
this.settingsButton.Click += new System.EventHandler(this.settingsButton_Click);
//
// troubleshootButton
// otherContainer
//
this.troubleshootButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.troubleshootButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.troubleshootButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.troubleshootButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.troubleshootButton.Dock = System.Windows.Forms.DockStyle.Top;
this.troubleshootButton.FlatAppearance.BorderSize = 0;
this.troubleshootButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.troubleshootButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.troubleshootButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.troubleshootButton.Location = new System.Drawing.Point(0, 499);
this.troubleshootButton.Margin = new System.Windows.Forms.Padding(4);
this.troubleshootButton.Name = "troubleshootButton";
this.troubleshootButton.Size = new System.Drawing.Size(267, 34);
this.troubleshootButton.TabIndex = 14;
this.troubleshootButton.Text = "TROUBLESHOOT";
this.troubleshootButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.troubleshootButton.UseVisualStyleBackColor = false;
this.troubleshootButton.Click += new System.EventHandler(this.troubleshootButton_Click);
this.otherContainer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.otherContainer.Controls.Add(this.SpoofFormButton);
this.otherContainer.Controls.Add(this.QuestOptionsButton);
this.otherContainer.Controls.Add(this.killRcloneButton);
this.otherContainer.Controls.Add(this.movieStreamButton);
this.otherContainer.Controls.Add(this.userjsonButton);
this.otherContainer.Dock = System.Windows.Forms.DockStyle.Top;
this.otherContainer.Location = new System.Drawing.Point(0, 373);
this.otherContainer.Margin = new System.Windows.Forms.Padding(2);
this.otherContainer.Name = "otherContainer";
this.otherContainer.Size = new System.Drawing.Size(218, 148);
this.otherContainer.TabIndex = 80;
//
// checkHashButton
// QuestOptionsButton
//
this.checkHashButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.checkHashButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.checkHashButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.checkHashButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.checkHashButton.Dock = System.Windows.Forms.DockStyle.Top;
this.checkHashButton.FlatAppearance.BorderSize = 0;
this.checkHashButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.checkHashButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.checkHashButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.checkHashButton.Location = new System.Drawing.Point(0, 465);
this.checkHashButton.Margin = new System.Windows.Forms.Padding(4);
this.checkHashButton.Name = "checkHashButton";
this.checkHashButton.Size = new System.Drawing.Size(267, 34);
this.checkHashButton.TabIndex = 13;
this.checkHashButton.Text = "VIEW HASH";
this.checkHashButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.checkHashButton.UseVisualStyleBackColor = false;
this.checkHashButton.Click += new System.EventHandler(this.checkHashButton_Click);
this.QuestOptionsButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.QuestOptionsButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.QuestOptionsButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.QuestOptionsButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.QuestOptionsButton.Dock = System.Windows.Forms.DockStyle.Top;
this.QuestOptionsButton.FlatAppearance.BorderSize = 0;
this.QuestOptionsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.QuestOptionsButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.QuestOptionsButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.QuestOptionsButton.Location = new System.Drawing.Point(0, 84);
this.QuestOptionsButton.Name = "QuestOptionsButton";
this.QuestOptionsButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.QuestOptionsButton.Size = new System.Drawing.Size(218, 28);
this.QuestOptionsButton.TabIndex = 16;
this.QuestOptionsButton.Text = "QUEST OPTIONS";
this.QuestOptionsButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.QuestOptionsButton.UseVisualStyleBackColor = false;
this.QuestOptionsButton.Click += new System.EventHandler(this.QuestOptionsButton_Click_1);
//
// killRcloneButton
//
this.killRcloneButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.killRcloneButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.killRcloneButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.killRcloneButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.killRcloneButton.Dock = System.Windows.Forms.DockStyle.Top;
this.killRcloneButton.FlatAppearance.BorderSize = 0;
this.killRcloneButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.killRcloneButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.killRcloneButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.killRcloneButton.Location = new System.Drawing.Point(0, 56);
this.killRcloneButton.Name = "killRcloneButton";
this.killRcloneButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.killRcloneButton.Size = new System.Drawing.Size(218, 28);
this.killRcloneButton.TabIndex = 15;
this.killRcloneButton.Text = "KILL RCLONE";
this.killRcloneButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.killRcloneButton.UseVisualStyleBackColor = false;
this.killRcloneButton.Click += new System.EventHandler(this.killRcloneButton_Click);
//
// movieStreamButton
//
this.movieStreamButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.movieStreamButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.movieStreamButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.movieStreamButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.movieStreamButton.Dock = System.Windows.Forms.DockStyle.Top;
this.movieStreamButton.FlatAppearance.BorderSize = 0;
this.movieStreamButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.movieStreamButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.movieStreamButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.movieStreamButton.Location = new System.Drawing.Point(0, 28);
this.movieStreamButton.Name = "movieStreamButton";
this.movieStreamButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.movieStreamButton.Size = new System.Drawing.Size(218, 28);
this.movieStreamButton.TabIndex = 14;
this.movieStreamButton.Text = "START MOVIE STREAM";
this.movieStreamButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.movieStreamButton.UseVisualStyleBackColor = false;
this.movieStreamButton.Click += new System.EventHandler(this.movieStreamButton_Click);
//
// userjsonButton
//
this.userjsonButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.userjsonButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.userjsonButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.userjsonButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.userjsonButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.userjsonButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.userjsonButton.Dock = System.Windows.Forms.DockStyle.Top;
this.userjsonButton.FlatAppearance.BorderSize = 0;
this.userjsonButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.userjsonButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.userjsonButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.userjsonButton.Location = new System.Drawing.Point(0, 431);
this.userjsonButton.Margin = new System.Windows.Forms.Padding(4);
this.userjsonButton.Location = new System.Drawing.Point(0, 0);
this.userjsonButton.Name = "userjsonButton";
this.userjsonButton.Size = new System.Drawing.Size(267, 34);
this.userjsonButton.TabIndex = 12;
this.userjsonButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.userjsonButton.Size = new System.Drawing.Size(218, 28);
this.userjsonButton.TabIndex = 11;
this.userjsonButton.Text = "USER.JSON";
this.userjsonButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.userjsonButton.UseVisualStyleBackColor = false;
this.userjsonButton.Click += new System.EventHandler(this.userjsonButton_Click);
//
// otherDrop
//
this.otherDrop.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.otherDrop.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.otherDrop.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.otherDrop.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.otherDrop.Dock = System.Windows.Forms.DockStyle.Top;
this.otherDrop.FlatAppearance.BorderSize = 0;
this.otherDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.otherDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.otherDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.otherDrop.Location = new System.Drawing.Point(0, 345);
this.otherDrop.Margin = new System.Windows.Forms.Padding(2);
this.otherDrop.Name = "otherDrop";
this.otherDrop.Padding = new System.Windows.Forms.Padding(7, 0, 0, 0);
this.otherDrop.Size = new System.Drawing.Size(218, 28);
this.otherDrop.TabIndex = 77;
this.otherDrop.Text = "OTHER";
this.otherDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.otherDrop.UseVisualStyleBackColor = false;
this.otherDrop.Click += new System.EventHandler(this.otherDrop_Click);
//
// backupContainer
//
this.backupContainer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.backupContainer.Controls.Add(this.backupbutton);
this.backupContainer.Controls.Add(this.restorebutton);
this.backupContainer.Dock = System.Windows.Forms.DockStyle.Top;
this.backupContainer.Location = new System.Drawing.Point(0, 353);
this.backupContainer.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.backupContainer.Location = new System.Drawing.Point(0, 285);
this.backupContainer.Margin = new System.Windows.Forms.Padding(2);
this.backupContainer.Name = "backupContainer";
this.backupContainer.Size = new System.Drawing.Size(267, 78);
this.backupContainer.Size = new System.Drawing.Size(218, 60);
this.backupContainer.TabIndex = 76;
//
// backupDrop
@@ -540,11 +524,11 @@
this.backupDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.backupDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.backupDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.backupDrop.Location = new System.Drawing.Point(0, 319);
this.backupDrop.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.backupDrop.Location = new System.Drawing.Point(0, 257);
this.backupDrop.Margin = new System.Windows.Forms.Padding(2);
this.backupDrop.Name = "backupDrop";
this.backupDrop.Padding = new System.Windows.Forms.Padding(9, 0, 0, 0);
this.backupDrop.Size = new System.Drawing.Size(267, 34);
this.backupDrop.Padding = new System.Windows.Forms.Padding(7, 0, 0, 0);
this.backupDrop.Size = new System.Drawing.Size(218, 28);
this.backupDrop.TabIndex = 9;
this.backupDrop.Text = "BACKUP";
this.backupDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -562,10 +546,10 @@
this.sideloadContainer.Controls.Add(this.copyBulkObbButton);
this.sideloadContainer.Controls.Add(this.obbcopybutton);
this.sideloadContainer.Dock = System.Windows.Forms.DockStyle.Top;
this.sideloadContainer.Location = new System.Drawing.Point(0, 68);
this.sideloadContainer.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.sideloadContainer.Location = new System.Drawing.Point(0, 56);
this.sideloadContainer.Margin = new System.Windows.Forms.Padding(2);
this.sideloadContainer.Name = "sideloadContainer";
this.sideloadContainer.Size = new System.Drawing.Size(267, 251);
this.sideloadContainer.Size = new System.Drawing.Size(218, 201);
this.sideloadContainer.TabIndex = 74;
//
// listApkButton
@@ -579,13 +563,12 @@
this.listApkButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.listApkButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.listApkButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.listApkButton.Location = new System.Drawing.Point(0, 204);
this.listApkButton.Margin = new System.Windows.Forms.Padding(4);
this.listApkButton.Location = new System.Drawing.Point(0, 168);
this.listApkButton.Name = "listApkButton";
this.listApkButton.Padding = new System.Windows.Forms.Padding(31, 0, 0, 0);
this.listApkButton.Size = new System.Drawing.Size(267, 34);
this.listApkButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.listApkButton.Size = new System.Drawing.Size(218, 28);
this.listApkButton.TabIndex = 8;
this.listApkButton.Text = "Refresh Apk, Games";
this.listApkButton.Text = "Refresh Apk, Games, Space";
this.listApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.listApkButton.UseVisualStyleBackColor = false;
this.listApkButton.Click += new System.EventHandler(this.listApkButton_Click);
@@ -601,11 +584,11 @@
this.sideloadDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.sideloadDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.sideloadDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.sideloadDrop.Location = new System.Drawing.Point(0, 34);
this.sideloadDrop.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.sideloadDrop.Location = new System.Drawing.Point(0, 28);
this.sideloadDrop.Margin = new System.Windows.Forms.Padding(2);
this.sideloadDrop.Name = "sideloadDrop";
this.sideloadDrop.Padding = new System.Windows.Forms.Padding(9, 0, 0, 0);
this.sideloadDrop.Size = new System.Drawing.Size(267, 34);
this.sideloadDrop.Padding = new System.Windows.Forms.Padding(7, 0, 0, 0);
this.sideloadDrop.Size = new System.Drawing.Size(218, 28);
this.sideloadDrop.TabIndex = 1;
this.sideloadDrop.Text = "SIDELOAD";
this.sideloadDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@@ -619,22 +602,23 @@
this.pictureBox1.ErrorImage = null;
this.pictureBox1.ImageLocation = global::AndroidSideloader.Properties.Settings.Default.BackPicturePath;
this.pictureBox1.InitialImage = null;
this.pictureBox1.Location = new System.Drawing.Point(264, 0);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(4);
this.pictureBox1.Location = new System.Drawing.Point(217, 0);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(718, 788);
this.pictureBox1.Size = new System.Drawing.Size(520, 652);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 74;
this.pictureBox1.TabStop = false;
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
//
// etaLabel
//
this.etaLabel.AutoSize = true;
this.etaLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.etaLabel.ForeColor = System.Drawing.Color.White;
this.etaLabel.Location = new System.Drawing.Point(281, 186);
this.etaLabel.Location = new System.Drawing.Point(219, 383);
this.etaLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.etaLabel.Name = "etaLabel";
this.etaLabel.Size = new System.Drawing.Size(295, 36);
this.etaLabel.Size = new System.Drawing.Size(235, 29);
this.etaLabel.TabIndex = 75;
this.etaLabel.Text = "ETA: HH:MM:SS Left";
//
@@ -643,19 +627,107 @@
this.speedLabel.AutoSize = true;
this.speedLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.speedLabel.ForeColor = System.Drawing.Color.White;
this.speedLabel.Location = new System.Drawing.Point(281, 150);
this.speedLabel.Location = new System.Drawing.Point(219, 355);
this.speedLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.speedLabel.Name = "speedLabel";
this.speedLabel.Size = new System.Drawing.Size(300, 36);
this.speedLabel.Size = new System.Drawing.Size(242, 29);
this.speedLabel.TabIndex = 76;
this.speedLabel.Text = "DLS: Speed in MBPS";
//
// diskLabel
//
this.diskLabel.AutoSize = true;
this.diskLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.diskLabel.ForeColor = System.Drawing.Color.White;
this.diskLabel.Location = new System.Drawing.Point(224, 292);
this.diskLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.diskLabel.Name = "diskLabel";
this.diskLabel.Size = new System.Drawing.Size(83, 20);
this.diskLabel.TabIndex = 77;
this.diskLabel.Text = "Disk Label";
//
// gamesQueListBox
//
this.gamesQueListBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56)))));
this.gamesQueListBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.gamesQueListBox.ForeColor = System.Drawing.Color.White;
this.gamesQueListBox.FormattingEnabled = true;
this.gamesQueListBox.Location = new System.Drawing.Point(223, 145);
this.gamesQueListBox.Margin = new System.Windows.Forms.Padding(2);
this.gamesQueListBox.Name = "gamesQueListBox";
this.gamesQueListBox.Size = new System.Drawing.Size(504, 145);
this.gamesQueListBox.TabIndex = 78;
this.gamesQueListBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.gamesQueListBox_MouseClick);
//
// freeDisclaimer
//
this.freeDisclaimer.AutoSize = true;
this.freeDisclaimer.Font = new System.Drawing.Font("Microsoft Sans Serif", 13.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.freeDisclaimer.ForeColor = System.Drawing.Color.White;
this.freeDisclaimer.Location = new System.Drawing.Point(220, 622);
this.freeDisclaimer.Name = "freeDisclaimer";
this.freeDisclaimer.Size = new System.Drawing.Size(487, 24);
this.freeDisclaimer.TabIndex = 79;
this.freeDisclaimer.Text = "This software is free, if you paid for it, you got SCAMMED!";
//
// devicesComboBox
//
this.devicesComboBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56)))));
this.devicesComboBox.ForeColor = System.Drawing.Color.White;
this.devicesComboBox.FormattingEnabled = true;
this.devicesComboBox.Location = new System.Drawing.Point(224, 120);
this.devicesComboBox.Margin = new System.Windows.Forms.Padding(2);
this.devicesComboBox.Name = "devicesComboBox";
this.devicesComboBox.Size = new System.Drawing.Size(153, 21);
this.devicesComboBox.TabIndex = 80;
this.devicesComboBox.Text = "Select your device";
this.devicesComboBox.SelectedIndexChanged += new System.EventHandler(this.devicesComboBox_SelectedIndexChanged);
//
// remotesList
//
this.remotesList.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56)))));
this.remotesList.ForeColor = System.Drawing.Color.White;
this.remotesList.FormattingEnabled = true;
this.remotesList.Location = new System.Drawing.Point(381, 120);
this.remotesList.Margin = new System.Windows.Forms.Padding(2);
this.remotesList.Name = "remotesList";
this.remotesList.Size = new System.Drawing.Size(153, 21);
this.remotesList.TabIndex = 81;
this.remotesList.Text = "Select a mirror";
this.remotesList.SelectedIndexChanged += new System.EventHandler(this.remotesList_SelectedIndexChanged);
//
// SpoofFormButton
//
this.SpoofFormButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.SpoofFormButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.SpoofFormButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.SpoofFormButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.SpoofFormButton.Dock = System.Windows.Forms.DockStyle.Top;
this.SpoofFormButton.FlatAppearance.BorderSize = 0;
this.SpoofFormButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.SpoofFormButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.SpoofFormButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.SpoofFormButton.Location = new System.Drawing.Point(0, 112);
this.SpoofFormButton.Name = "SpoofFormButton";
this.SpoofFormButton.Padding = new System.Windows.Forms.Padding(23, 0, 0, 0);
this.SpoofFormButton.Size = new System.Drawing.Size(218, 28);
this.SpoofFormButton.TabIndex = 17;
this.SpoofFormButton.Text = "SPOOF";
this.SpoofFormButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.SpoofFormButton.UseVisualStyleBackColor = false;
this.SpoofFormButton.Click += new System.EventHandler(this.SpoofFormButton_Click);
//
// Form1
//
this.AllowDrop = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(982, 786);
this.ClientSize = new System.Drawing.Size(738, 659);
this.Controls.Add(this.remotesList);
this.Controls.Add(this.devicesComboBox);
this.Controls.Add(this.gamesQueListBox);
this.Controls.Add(this.diskLabel);
this.Controls.Add(this.speedLabel);
this.Controls.Add(this.etaLabel);
this.Controls.Add(this.panel1);
@@ -663,24 +735,24 @@
this.Controls.Add(this.downloadInstallGameButton);
this.Controls.Add(this.DragDropLbl);
this.Controls.Add(this.progressBar);
this.Controls.Add(this.launchApkButton);
this.Controls.Add(this.launchPackageTextBox);
this.Controls.Add(this.m_combo);
this.Controls.Add(this.freeDisclaimer);
this.Controls.Add(this.pictureBox1);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(4);
this.MaximizeBox = false;
this.MaximumSize = new System.Drawing.Size(1000, 833);
this.MinimumSize = new System.Drawing.Size(879, 833);
this.MaximumSize = new System.Drawing.Size(754, 698);
this.MinimumSize = new System.Drawing.Size(754, 698);
this.Name = "Form1";
this.ShowIcon = false;
this.Text = "Rookie SideLoader";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
this.Load += new System.EventHandler(this.Form1_Load);
this.Shown += new System.EventHandler(this.Form1_Shown);
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter);
this.DragLeave += new System.EventHandler(this.Form1_DragLeave);
this.panel1.ResumeLayout(false);
this.otherContainer.ResumeLayout(false);
this.backupContainer.ResumeLayout(false);
this.sideloadContainer.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
@@ -697,8 +769,6 @@
private System.Windows.Forms.Button restorebutton;
private System.Windows.Forms.Button getApkButton;
private SergeUtils.EasyCompletionComboBox m_combo;
private System.Windows.Forms.TextBox launchPackageTextBox;
private System.Windows.Forms.Button launchApkButton;
private System.Windows.Forms.Button uninstallAppButton;
private System.Windows.Forms.Button sideloadFolderButton;
private System.Windows.Forms.ProgressBar progressBar;
@@ -707,21 +777,28 @@
private System.Windows.Forms.Button downloadInstallGameButton;
private SergeUtils.EasyCompletionComboBox gamesComboBox;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button userjsonButton;
private System.Windows.Forms.Panel backupContainer;
private System.Windows.Forms.Button backupDrop;
private System.Windows.Forms.Panel sideloadContainer;
private System.Windows.Forms.Button sideloadDrop;
private System.Windows.Forms.Button listApkButton;
private System.Windows.Forms.Button checkHashButton;
private System.Windows.Forms.Button troubleshootButton;
private System.Windows.Forms.Button aboutBtn;
private System.Windows.Forms.Button settingsButton;
private System.Windows.Forms.Button themesbutton;
private System.Windows.Forms.Button donateButton;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Label etaLabel;
private System.Windows.Forms.Label speedLabel;
private System.Windows.Forms.Label diskLabel;
private System.Windows.Forms.Button otherDrop;
private System.Windows.Forms.Panel otherContainer;
private System.Windows.Forms.Button userjsonButton;
private System.Windows.Forms.Button aboutBtn;
private System.Windows.Forms.Button settingsButton;
private System.Windows.Forms.Button movieStreamButton;
private System.Windows.Forms.Button killRcloneButton;
private System.Windows.Forms.ListBox gamesQueListBox;
private System.Windows.Forms.Label freeDisclaimer;
private System.Windows.Forms.ComboBox devicesComboBox;
private System.Windows.Forms.ComboBox remotesList;
private System.Windows.Forms.Button QuestOptionsButton;
private System.Windows.Forms.Button SpoofFormButton;
}
}

1524
Form1.cs

File diff suppressed because it is too large Load Diff

1788
Form1.resx

File diff suppressed because it is too large Load Diff

1
ImageForm.Designer.cs generated
View File

@@ -47,6 +47,7 @@
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.pictureBox1);
this.Name = "ImageForm";
this.ShowIcon = false;
this.Text = "ImageForm";
this.TopMost = true;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ImageForm_FormClosing);

18
Logger.cs Normal file
View File

@@ -0,0 +1,18 @@
using System.IO;
namespace AndroidSideloader
{
class Logger
{
public static string logfile = "debuglog.txt";
public static bool Log(string text, bool ret = true)
{
string newline = "\n";
if (text.Length > 40 && text.Contains("\n"))
newline += "\n\n";
try { File.AppendAllText(logfile, text + newline); } catch { }
return ret;
}
}
}

View File

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.1.1.1")]
[assembly: AssemblyFileVersion("1.1.1.1")]
[assembly: AssemblyVersion("1.13.0.0")]
[assembly: AssemblyFileVersion("1.13.0.0")]

View File

@@ -22,7 +22,7 @@ namespace AndroidSideloader.Properties {
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
public class Resources {
private static global::System.Resources.ResourceManager resourceMan;
@@ -36,7 +36,7 @@ namespace AndroidSideloader.Properties {
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AndroidSideloader.Properties.Resources", typeof(Resources).Assembly);
@@ -51,7 +51,7 @@ namespace AndroidSideloader.Properties {
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}

View File

@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Ten kod został wygenerowany przez narzędzie.
// Wersja wykonawcza:4.0.30319.42000
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Zmiany w tym pliku mogą spowodować nieprawidłowe zachowanie i zostaną utracone, jeśli
// kod zostanie ponownie wygenerowany.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@@ -12,7 +12,7 @@ namespace AndroidSideloader.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.7.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -50,12 +50,12 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool copyMessageToClipboard {
public bool logRclone {
get {
return ((bool)(this["copyMessageToClipboard"]));
return ((bool)(this["logRclone"]));
}
set {
this["copyMessageToClipboard"] = value;
this["logRclone"] = value;
}
}
@@ -83,6 +83,42 @@ namespace AndroidSideloader.Properties {
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool autoUpdateConfig {
get {
return ((bool)(this["autoUpdateConfig"]));
}
set {
this["autoUpdateConfig"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool userJsonOnGameInstall {
get {
return ((bool)(this["userJsonOnGameInstall"]));
}
set {
this["userJsonOnGameInstall"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool CallUpgrade {
get {
return ((bool)(this["CallUpgrade"]));
}
set {
this["CallUpgrade"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("45, 45, 45")]
@@ -190,5 +226,17 @@ namespace AndroidSideloader.Properties {
this["BackPicturePath"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool SpoofGames {
get {
return ((bool)(this["SpoofGames"]));
}
set {
this["SpoofGames"] = value;
}
}
}
}

View File

@@ -8,7 +8,7 @@
<Setting Name="enableMessageBoxes" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="copyMessageToClipboard" Type="System.Boolean" Scope="User">
<Setting Name="logRclone" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="firstRun" Type="System.Boolean" Scope="User">
@@ -17,6 +17,15 @@
<Setting Name="deleteAllAfterInstall" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="autoUpdateConfig" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="userJsonOnGameInstall" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="CallUpgrade" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="BackColor" Type="System.Drawing.Color" Scope="User">
<Value Profile="(Default)">45, 45, 45</Value>
</Setting>
@@ -42,7 +51,10 @@
<Value Profile="(Default)">Microsoft Sans Serif, 11.25pt</Value>
</Setting>
<Setting Name="BackPicturePath" Type="System.String" Scope="User">
<Value Profile="(Default)"> </Value>
<Value Profile="(Default)" />
</Setting>
<Setting Name="SpoofGames" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
</Settings>
</SettingsFile>

104
QuestForm.Designer.cs generated Normal file
View File

@@ -0,0 +1,104 @@
namespace AndroidSideloader
{
partial class QuestForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.RefreshRateComboBox = new System.Windows.Forms.ComboBox();
this.button1 = new System.Windows.Forms.Button();
this.TextureResTextBox = new System.Windows.Forms.TextBox();
this.ResolutionLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// RefreshRateComboBox
//
this.RefreshRateComboBox.FormattingEnabled = true;
this.RefreshRateComboBox.Items.AddRange(new object[] {
"72",
"90"});
this.RefreshRateComboBox.Location = new System.Drawing.Point(12, 12);
this.RefreshRateComboBox.Name = "RefreshRateComboBox";
this.RefreshRateComboBox.Size = new System.Drawing.Size(121, 21);
this.RefreshRateComboBox.TabIndex = 0;
this.RefreshRateComboBox.Text = "Select refresh rate";
//
// button1
//
this.button1.Location = new System.Drawing.Point(13, 66);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Apply";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// TextureResTextBox
//
this.TextureResTextBox.Location = new System.Drawing.Point(13, 40);
this.TextureResTextBox.Name = "TextureResTextBox";
this.TextureResTextBox.Size = new System.Drawing.Size(120, 20);
this.TextureResTextBox.TabIndex = 2;
this.TextureResTextBox.Text = "0";
//
// ResolutionLabel
//
this.ResolutionLabel.AutoSize = true;
this.ResolutionLabel.ForeColor = System.Drawing.Color.White;
this.ResolutionLabel.Location = new System.Drawing.Point(135, 43);
this.ResolutionLabel.Name = "ResolutionLabel";
this.ResolutionLabel.Size = new System.Drawing.Size(160, 13);
this.ResolutionLabel.TabIndex = 3;
this.ResolutionLabel.Text = "Resolution per eye (0 for default)";
//
// QuestForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.ClientSize = new System.Drawing.Size(307, 103);
this.Controls.Add(this.ResolutionLabel);
this.Controls.Add(this.TextureResTextBox);
this.Controls.Add(this.button1);
this.Controls.Add(this.RefreshRateComboBox);
this.MaximumSize = new System.Drawing.Size(323, 142);
this.MinimumSize = new System.Drawing.Size(323, 142);
this.Name = "QuestForm";
this.ShowIcon = false;
this.Text = "QuestForm";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ComboBox RefreshRateComboBox;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox TextureResTextBox;
private System.Windows.Forms.Label ResolutionLabel;
}
}

38
QuestForm.cs Normal file
View File

@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AndroidSideloader
{
public partial class QuestForm : Form
{
public QuestForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (RefreshRateComboBox.SelectedIndex != -1)
{
ADB.RunAdbCommandToString($"shell setprop debug.oculus.refreshRate {RefreshRateComboBox.SelectedItem.ToString()}");
ADB.RunAdbCommandToString($"shell settings put global 90hz_global {RefreshRateComboBox.SelectedIndex}");
ADB.RunAdbCommandToString($"shell settings put global 90hzglobal {RefreshRateComboBox.SelectedIndex}");
}
if (TextureResTextBox.Text.Length>0)
{
Int32.TryParse(TextureResTextBox.Text, out int result);
ADB.RunAdbCommandToString($"shell settings put global texture_size_Global {TextureResTextBox.Text}");
ADB.RunAdbCommandToString($"shell settings put global texture_size_Global {TextureResTextBox.Text}");
}
}
}
}

12
RCLONE.cs Normal file
View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AndroidSideloader
{
class RCLONE
{
}
}

View File

@@ -2,14 +2,15 @@
The icon of the app contains an icon made by icon8.com
Special thanks to
- pmow for all of his work, including rclone, wonka and other projects
- flow for being friendly and helping every one
- succ for creating and maintaining the server
- badcoder5000 for redesigning the UI
- gotard for the theme changer
- 7zip team for 7zip :)
- rclone team for rclone :D
- https://stackoverflow.com/users/57611/erike for the folder browser dialog code
- Serge Weinstock for developing SergeUtils, which is used to search the combo box
- https://www.c-sharpcorner.com/members/mike-gold2 for the scrollable message box
Special thanks:
- Thanks to pmow for all of his work, including rclone, wonka and other projects
- Thanks to flow for being friendly and helping every one, also congrats on being the discord server owner now! :D
- Thanks to the data team, they know who they are ;)
- Thanks to badcoder5000 for helping me redesign the ui
- Thanks to gotard for the theme changer
- Thanks to Verb8em for drawing the new icon
- Thanks to 7zip team for 7zip :)
- Thanks to rclone team for rclone :D
- Thanks to https://stackoverflow.com/users/57611/erike for the folder browser dialog code
- Thanks to Serge Weinstock for developing SergeUtils, which is used to search the combo box
- Thanks to Mike Gold https://www.c-sharpcorner.com/members/mike-gold2 for the scrollable message box

View File

@@ -31,19 +31,20 @@
this.checkForUpdatesCheckBox = new System.Windows.Forms.CheckBox();
this.applyButton = new System.Windows.Forms.Button();
this.enableMessageBoxesCheckBox = new System.Windows.Forms.CheckBox();
this.copyMessageToClipboardCheckBox = new System.Windows.Forms.CheckBox();
this.resetSettingsButton = new System.Windows.Forms.Button();
this.deleteAfterInstallCheckBox = new System.Windows.Forms.CheckBox();
this.updateConfigCheckBox = new System.Windows.Forms.CheckBox();
this.debugRcloneCheckBox = new System.Windows.Forms.CheckBox();
this.userJsonOnGameInstall = new System.Windows.Forms.CheckBox();
this.spoofGamesCheckbox = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// checkForUpdatesCheckBox
//
this.checkForUpdatesCheckBox.AutoSize = true;
this.checkForUpdatesCheckBox.Location = new System.Drawing.Point(17, 16);
this.checkForUpdatesCheckBox.Margin = new System.Windows.Forms.Padding(4);
this.checkForUpdatesCheckBox.Location = new System.Drawing.Point(13, 13);
this.checkForUpdatesCheckBox.Name = "checkForUpdatesCheckBox";
this.checkForUpdatesCheckBox.Size = new System.Drawing.Size(145, 21);
this.checkForUpdatesCheckBox.Size = new System.Drawing.Size(113, 17);
this.checkForUpdatesCheckBox.TabIndex = 0;
this.checkForUpdatesCheckBox.Text = "Check for updates";
this.checkForUpdatesCheckBox.UseVisualStyleBackColor = true;
@@ -53,10 +54,9 @@
//
this.applyButton.BackColor = System.Drawing.Color.White;
this.applyButton.ForeColor = System.Drawing.Color.Black;
this.applyButton.Location = new System.Drawing.Point(476, 225);
this.applyButton.Margin = new System.Windows.Forms.Padding(4);
this.applyButton.Location = new System.Drawing.Point(357, 183);
this.applyButton.Name = "applyButton";
this.applyButton.Size = new System.Drawing.Size(100, 28);
this.applyButton.Size = new System.Drawing.Size(75, 23);
this.applyButton.TabIndex = 5;
this.applyButton.Text = "Apply";
this.applyButton.UseVisualStyleBackColor = false;
@@ -65,35 +65,21 @@
// enableMessageBoxesCheckBox
//
this.enableMessageBoxesCheckBox.AutoSize = true;
this.enableMessageBoxesCheckBox.Location = new System.Drawing.Point(17, 44);
this.enableMessageBoxesCheckBox.Margin = new System.Windows.Forms.Padding(4);
this.enableMessageBoxesCheckBox.Location = new System.Drawing.Point(13, 36);
this.enableMessageBoxesCheckBox.Name = "enableMessageBoxesCheckBox";
this.enableMessageBoxesCheckBox.Size = new System.Drawing.Size(296, 21);
this.enableMessageBoxesCheckBox.Size = new System.Drawing.Size(227, 17);
this.enableMessageBoxesCheckBox.TabIndex = 1;
this.enableMessageBoxesCheckBox.Text = "Enable Message Boxes on task completed";
this.enableMessageBoxesCheckBox.UseVisualStyleBackColor = true;
this.enableMessageBoxesCheckBox.CheckedChanged += new System.EventHandler(this.enableMessageBoxesCheckBox_CheckedChanged);
//
// copyMessageToClipboardCheckBox
//
this.copyMessageToClipboardCheckBox.AutoSize = true;
this.copyMessageToClipboardCheckBox.Location = new System.Drawing.Point(17, 73);
this.copyMessageToClipboardCheckBox.Margin = new System.Windows.Forms.Padding(4);
this.copyMessageToClipboardCheckBox.Name = "copyMessageToClipboardCheckBox";
this.copyMessageToClipboardCheckBox.Size = new System.Drawing.Size(201, 21);
this.copyMessageToClipboardCheckBox.TabIndex = 2;
this.copyMessageToClipboardCheckBox.Text = "Copy message to clipboard";
this.copyMessageToClipboardCheckBox.UseVisualStyleBackColor = true;
this.copyMessageToClipboardCheckBox.CheckedChanged += new System.EventHandler(this.copyMessageToClipboardCheckBox_CheckedChanged);
//
// resetSettingsButton
//
this.resetSettingsButton.BackColor = System.Drawing.Color.White;
this.resetSettingsButton.ForeColor = System.Drawing.Color.Black;
this.resetSettingsButton.Location = new System.Drawing.Point(341, 225);
this.resetSettingsButton.Margin = new System.Windows.Forms.Padding(4);
this.resetSettingsButton.Location = new System.Drawing.Point(256, 183);
this.resetSettingsButton.Name = "resetSettingsButton";
this.resetSettingsButton.Size = new System.Drawing.Size(127, 28);
this.resetSettingsButton.Size = new System.Drawing.Size(95, 23);
this.resetSettingsButton.TabIndex = 4;
this.resetSettingsButton.Text = "Reset Settings";
this.resetSettingsButton.UseVisualStyleBackColor = false;
@@ -102,10 +88,9 @@
// deleteAfterInstallCheckBox
//
this.deleteAfterInstallCheckBox.AutoSize = true;
this.deleteAfterInstallCheckBox.Location = new System.Drawing.Point(17, 102);
this.deleteAfterInstallCheckBox.Margin = new System.Windows.Forms.Padding(4);
this.deleteAfterInstallCheckBox.Location = new System.Drawing.Point(13, 59);
this.deleteAfterInstallCheckBox.Name = "deleteAfterInstallCheckBox";
this.deleteAfterInstallCheckBox.Size = new System.Drawing.Size(282, 21);
this.deleteAfterInstallCheckBox.Size = new System.Drawing.Size(214, 17);
this.deleteAfterInstallCheckBox.TabIndex = 3;
this.deleteAfterInstallCheckBox.Text = "Delete games after download and install";
this.deleteAfterInstallCheckBox.UseVisualStyleBackColor = true;
@@ -114,31 +99,64 @@
// updateConfigCheckBox
//
this.updateConfigCheckBox.AutoSize = true;
this.updateConfigCheckBox.Location = new System.Drawing.Point(17, 131);
this.updateConfigCheckBox.Margin = new System.Windows.Forms.Padding(4);
this.updateConfigCheckBox.Location = new System.Drawing.Point(13, 83);
this.updateConfigCheckBox.Name = "updateConfigCheckBox";
this.updateConfigCheckBox.Size = new System.Drawing.Size(204, 21);
this.updateConfigCheckBox.Size = new System.Drawing.Size(157, 17);
this.updateConfigCheckBox.TabIndex = 6;
this.updateConfigCheckBox.Text = "Update config automatically";
this.updateConfigCheckBox.UseVisualStyleBackColor = true;
this.updateConfigCheckBox.CheckedChanged += new System.EventHandler(this.updateConfigCheckBox_CheckedChanged);
//
// debugRcloneCheckBox
//
this.debugRcloneCheckBox.AutoSize = true;
this.debugRcloneCheckBox.Location = new System.Drawing.Point(13, 106);
this.debugRcloneCheckBox.Name = "debugRcloneCheckBox";
this.debugRcloneCheckBox.Size = new System.Drawing.Size(95, 17);
this.debugRcloneCheckBox.TabIndex = 8;
this.debugRcloneCheckBox.Text = "Debug Rclone";
this.debugRcloneCheckBox.UseVisualStyleBackColor = true;
this.debugRcloneCheckBox.CheckedChanged += new System.EventHandler(this.debugRcloneCheckBox_CheckedChanged);
//
// userJsonOnGameInstall
//
this.userJsonOnGameInstall.AutoSize = true;
this.userJsonOnGameInstall.Location = new System.Drawing.Point(13, 130);
this.userJsonOnGameInstall.Name = "userJsonOnGameInstall";
this.userJsonOnGameInstall.Size = new System.Drawing.Size(177, 17);
this.userJsonOnGameInstall.TabIndex = 9;
this.userJsonOnGameInstall.Text = "Push random user.json on install";
this.userJsonOnGameInstall.UseVisualStyleBackColor = true;
this.userJsonOnGameInstall.CheckedChanged += new System.EventHandler(this.userJsonOnGameInstall_CheckedChanged);
//
// spoofGamesCheckbox
//
this.spoofGamesCheckbox.AutoSize = true;
this.spoofGamesCheckbox.Location = new System.Drawing.Point(13, 153);
this.spoofGamesCheckbox.Name = "spoofGamesCheckbox";
this.spoofGamesCheckbox.Size = new System.Drawing.Size(184, 17);
this.spoofGamesCheckbox.TabIndex = 10;
this.spoofGamesCheckbox.Text = "Spoof games installed from rclone";
this.spoofGamesCheckbox.UseVisualStyleBackColor = true;
this.spoofGamesCheckbox.CheckedChanged += new System.EventHandler(this.spoofGamesCheckbox_CheckedChanged);
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(592, 268);
this.ClientSize = new System.Drawing.Size(444, 218);
this.Controls.Add(this.spoofGamesCheckbox);
this.Controls.Add(this.userJsonOnGameInstall);
this.Controls.Add(this.debugRcloneCheckBox);
this.Controls.Add(this.updateConfigCheckBox);
this.Controls.Add(this.deleteAfterInstallCheckBox);
this.Controls.Add(this.resetSettingsButton);
this.Controls.Add(this.copyMessageToClipboardCheckBox);
this.Controls.Add(this.enableMessageBoxesCheckBox);
this.Controls.Add(this.applyButton);
this.Controls.Add(this.checkForUpdatesCheckBox);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.ForeColor = System.Drawing.Color.White;
this.Margin = new System.Windows.Forms.Padding(4);
this.Name = "SettingsForm";
this.ShowIcon = false;
this.Text = "SettingsForm";
@@ -154,9 +172,11 @@
private System.Windows.Forms.CheckBox checkForUpdatesCheckBox;
private System.Windows.Forms.Button applyButton;
private System.Windows.Forms.CheckBox enableMessageBoxesCheckBox;
private System.Windows.Forms.CheckBox copyMessageToClipboardCheckBox;
private System.Windows.Forms.Button resetSettingsButton;
private System.Windows.Forms.CheckBox deleteAfterInstallCheckBox;
private System.Windows.Forms.CheckBox updateConfigCheckBox;
private System.Windows.Forms.CheckBox debugRcloneCheckBox;
private System.Windows.Forms.CheckBox userJsonOnGameInstall;
private System.Windows.Forms.CheckBox spoofGamesCheckbox;
}
}

View File

@@ -30,9 +30,11 @@ namespace AndroidSideloader
{
checkForUpdatesCheckBox.Checked = Properties.Settings.Default.checkForUpdates;
enableMessageBoxesCheckBox.Checked = Properties.Settings.Default.enableMessageBoxes;
copyMessageToClipboardCheckBox.Checked = Properties.Settings.Default.copyMessageToClipboard;
deleteAfterInstallCheckBox.Checked = Properties.Settings.Default.deleteAllAfterInstall;
updateConfigCheckBox.Checked = Properties.Settings.Default.autoUpdateConfig;
debugRcloneCheckBox.Checked = Properties.Settings.Default.logRclone;
userJsonOnGameInstall.Checked = Properties.Settings.Default.userJsonOnGameInstall;
spoofGamesCheckbox.Checked = Properties.Settings.Default.SpoofGames;
}
void intToolTips()
@@ -41,14 +43,13 @@ namespace AndroidSideloader
checkForUpdatesToolTip.SetToolTip(this.checkForUpdatesCheckBox, "If this is checked, the software will check for available updates");
ToolTip enableMessageBoxesToolTip = new ToolTip();
enableMessageBoxesToolTip.SetToolTip(this.enableMessageBoxesCheckBox, "If this is checked, the software will display message boxes after every completed task");
ToolTip copyMessageToClipboardToolTip = new ToolTip();
copyMessageToClipboardToolTip.SetToolTip(this.copyMessageToClipboardCheckBox, "If this is checked, after each task the software will set the result message to your clipboard");
ToolTip deleteAfterInstallToolTip = new ToolTip();
deleteAfterInstallToolTip.SetToolTip(this.deleteAfterInstallCheckBox, "If this is checked, the software will delete all game files after downloading and installing a game from a remote server");
}
private void applyButton_Click(object sender, EventArgs e)
{
Properties.Settings.Default.Save();
}
@@ -67,11 +68,6 @@ namespace AndroidSideloader
Properties.Settings.Default.enableMessageBoxes = enableMessageBoxesCheckBox.Checked;
}
private void copyMessageToClipboardCheckBox_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.copyMessageToClipboard = copyMessageToClipboardCheckBox.Checked;
}
private void resetSettingsButton_Click(object sender, EventArgs e)
{
Properties.Settings.Default.Reset();
@@ -87,5 +83,20 @@ namespace AndroidSideloader
{
Properties.Settings.Default.autoUpdateConfig = updateConfigCheckBox.Checked;
}
private void debugRcloneCheckBox_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.logRclone = debugRcloneCheckBox.Checked;
}
private void userJsonOnGameInstall_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.userJsonOnGameInstall = userJsonOnGameInstall.Checked;
}
private void spoofGamesCheckbox_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.SpoofGames = spoofGamesCheckbox.Checked;
}
}
}

BIN
Sideloader Launcher.exe Normal file

Binary file not shown.

98
SpoofForm.Designer.cs generated Normal file
View File

@@ -0,0 +1,98 @@
namespace AndroidSideloader
{
partial class SpoofForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.SpoofButton = new System.Windows.Forms.Button();
this.PackageNameTextBox = new System.Windows.Forms.TextBox();
this.RandomizeButton = new System.Windows.Forms.Button();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.SuspendLayout();
//
// SpoofButton
//
this.SpoofButton.Location = new System.Drawing.Point(216, 13);
this.SpoofButton.Name = "SpoofButton";
this.SpoofButton.Size = new System.Drawing.Size(70, 20);
this.SpoofButton.TabIndex = 0;
this.SpoofButton.Text = "Spoof!";
this.SpoofButton.UseVisualStyleBackColor = true;
this.SpoofButton.Click += new System.EventHandler(this.SpoofButton_Click);
//
// PackageNameTextBox
//
this.PackageNameTextBox.Location = new System.Drawing.Point(13, 13);
this.PackageNameTextBox.Name = "PackageNameTextBox";
this.PackageNameTextBox.Size = new System.Drawing.Size(117, 20);
this.PackageNameTextBox.TabIndex = 1;
//
// RandomizeButton
//
this.RandomizeButton.Location = new System.Drawing.Point(137, 13);
this.RandomizeButton.Name = "RandomizeButton";
this.RandomizeButton.Size = new System.Drawing.Size(73, 20);
this.RandomizeButton.TabIndex = 2;
this.RandomizeButton.Text = "Randomize";
this.RandomizeButton.UseVisualStyleBackColor = true;
this.RandomizeButton.Click += new System.EventHandler(this.RandomizeButton_Click);
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(13, 39);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(273, 23);
this.progressBar1.TabIndex = 3;
//
// SpoofForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56)))));
this.ClientSize = new System.Drawing.Size(300, 80);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.RandomizeButton);
this.Controls.Add(this.PackageNameTextBox);
this.Controls.Add(this.SpoofButton);
this.MaximumSize = new System.Drawing.Size(316, 119);
this.MinimumSize = new System.Drawing.Size(316, 119);
this.Name = "SpoofForm";
this.Text = "SpoofForm";
this.Load += new System.EventHandler(this.SpoofForm_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button SpoofButton;
private System.Windows.Forms.TextBox PackageNameTextBox;
private System.Windows.Forms.Button RandomizeButton;
private System.Windows.Forms.ProgressBar progressBar1;
}
}

61
SpoofForm.cs Normal file
View File

@@ -0,0 +1,61 @@
using JR.Utils.GUI.Forms;
using System;
using System.Threading.Tasks;
using System.Threading;
using System.Windows.Forms;
using Spoofer;
namespace AndroidSideloader
{
public partial class SpoofForm : Form
{
public SpoofForm()
{
InitializeComponent();
}
private async void SpoofButton_Click(object sender, EventArgs e)
{
string NewPackageName = PackageNameTextBox.Text;
string path;
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
openFileDialog.Filter = "Android apps (*.apk)|*.apk";
openFileDialog.FilterIndex = 2;
openFileDialog.RestoreDirectory = true;
if (openFileDialog.ShowDialog() == DialogResult.OK)
path = openFileDialog.FileName;
else
return;
}
progressBar1.Style = ProgressBarStyle.Marquee;
Thread t1 = new Thread(() =>
{
spoofer.Init();
spoofer.SpoofApk(path, NewPackageName);
});
t1.IsBackground = true;
t1.Start();
while (t1.IsAlive)
await Task.Delay(100);
progressBar1.Style = ProgressBarStyle.Continuous;
FlexibleMessageBox.Show($"App spoofed from {spoofer.originalPackageName} to {NewPackageName}");
}
private void SpoofForm_Load(object sender, EventArgs e)
{
PackageNameTextBox.Text = Utilities.RandomPackageName();
}
private void RandomizeButton_Click(object sender, EventArgs e)
{
PackageNameTextBox.Text = Utilities.RandomPackageName();
}
}
}

View File

@@ -1,82 +0,0 @@
namespace AndroidSideloader
{
partial class TroubleshootForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.askTextBox = new MetroFramework.Controls.MetroTextBox();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// askTextBox
//
this.askTextBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.askTextBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.askTextBox.Location = new System.Drawing.Point(9, 10);
this.askTextBox.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.askTextBox.Name = "askTextBox";
this.askTextBox.Size = new System.Drawing.Size(582, 19);
this.askTextBox.TabIndex = 0;
this.askTextBox.Text = "Ask me any question about sideloading";
//
// button1
//
this.button1.Location = new System.Drawing.Point(9, 34);
this.button1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(582, 22);
this.button1.TabIndex = 1;
this.button1.Text = "Ask the software";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// TroubleshootForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(602, 72);
this.Controls.Add(this.button1);
this.Controls.Add(this.askTextBox);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.MaximumSize = new System.Drawing.Size(618, 111);
this.MinimumSize = new System.Drawing.Size(618, 111);
this.Name = "TroubleshootForm";
this.ShowIcon = false;
this.Text = "TroubleshootForm (WIP)";
this.Load += new System.EventHandler(this.TroubleshootForm_Load);
this.ResumeLayout(false);
}
#endregion
private MetroFramework.Controls.MetroTextBox askTextBox;
private System.Windows.Forms.Button button1;
}
}

View File

@@ -1,68 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AndroidSideloader
{
public partial class TroubleshootForm : Form
{
public TroubleshootForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string question = askTextBox.Text.ToLower();
if ((question.Contains("beat saber") || question.Contains("beatsaber")) && question.Contains("dlc"))
Form1.notify("You can install beatsaber DLC with BMBF, it will work on cracked versions too, just make sure you have latest beat saber and bmbf");
else if ((question.Contains("load") && question.Contains("not")) || ((question.Contains("black") && question.Contains("screen")) || question.Contains("blackscreen")) && (question.Contains("boot") || question.Contains("launch") || question.Contains("start")))
Form1.notify("Make sure you have made the user.json files, copied the obb folder and allowed app permissions");
else if (question.Contains("pass") || question.Contains("pw"))
Form1.notify(@"cs.rin.ru
https://t.me/questgameclub
https://t.me/QuestGameClub
oculusquestpiracy
OculusQuestPiracy
Telegram's passwords until 5/17/2020
https://t.me/questgameclub/thx
t.me/questgameclub/thxdonate
https://t.me/questgameclub/thxdonate
https://t.me/questgameclub/play
https://t.me/questgameclub/love
https://t.me/questgameclub/vip
https://t.me/questgameclub/thxdonatetome
NEW PASSWORDS
t.me/questgameclub/thx/donate/pass
t.me/questgameclub/donate
t.me/questgameclub/thxdonatevip
t.me/questgameclub/thxdonatetome
https://t.me/questgameclub/thxdonate
t.me/questgameclub/thxdonate
t.me/questgameclub/thxdonateclub
t.me/questgameclub/thx/donate/vip
t.me/questgameclub/donate/thx
t.me/questgameclub/thx/donate
t.me/questgameclub/donateclub
t.me/questgameclub/donatevip
t.me/questgameclub/thx/donate/vip
t.me/questgameclub/thx/donate/quest");
else
Form1.notify("Sorry I'm too dumb to answer that right now, please ask flow, if flow can't figure it out nobody can");
}
private void TroubleshootForm_Load(object sender, EventArgs e)
{
}
}
}

View File

@@ -2,6 +2,9 @@
using System.Diagnostics;
using System.Windows.Forms;
using System.IO;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace AndroidSideloader
{
@@ -20,7 +23,7 @@ namespace AndroidSideloader
}
private void button1_Click(object sender, EventArgs e)
private async void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == defaultText || textBox1.Text.Length == 0)
{
@@ -28,63 +31,54 @@ namespace AndroidSideloader
return;
}
createUserJson(textBox1.Text);
Thread t1 = new Thread(() =>
{
createUserJson(textBox1.Text);
});
t1.IsBackground = true;
t1.Start();
pushUserJson();
deleteUserJson();
while (t1.IsAlive)
await Task.Delay(100);
Form1.notify("Done");
}
public static void pushUserJson()
{
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\user.json\" " + " /sdcard/");
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\vrmoo.cn.json\" " + " /sdcard/");
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\qq1091481055.json\" " + " /sdcard/");
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\dollarvr.com.json\" " + " /sdcard/");
}
public static List<string> userJsons = new List<string>(new string[] { "user.json", "vrmoo.cn.json", "qq1091481055.json", "dollarvr.com.json" });
public static void deleteUserJson()
{
File.Delete("user.json");
File.Delete("vrmoo.cn.json");
File.Delete("qq1091481055.json");
File.Delete("dollarvr.com.json");
}
public static void createUserJson(string username)
{
File.WriteAllText("user.json", "{\"username\":\"" + username + "\"}");
File.WriteAllText("vrmoo.cn.json", "{\"username\":\"" + username + "\"}");
File.WriteAllText("qq1091481055.json", "{\n \"username\":\"" + username + "\"\n }");
File.WriteAllText("dollarvr.com.json", "{\n \"username\":\"" + username + "\"\n }");
ADB.RunAdbCommandToString($"shell settings put global username {username}");
foreach (var jsonFileName in userJsons)
{
createUserJsonByName(username, jsonFileName);
ADB.RunAdbCommandToString("push \"" + Environment.CurrentDirectory + $"\\{jsonFileName}\" " + " /sdcard/");
File.Delete(jsonFileName);
}
}
public static void runAdbCommand(string command)
public static void createUserJsonByName(string username, string jsonName)
{
Process cmd = new Process();
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\adb\\adb.exe";
cmd.StartInfo.Arguments = command;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.WorkingDirectory = Form1.adbPath;
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
string allText = cmd.StandardOutput.ReadToEnd();
cmd.WaitForExit();
switch (jsonName)
{
case "user.json":
File.WriteAllText("user.json", "{\"username\":\"" + username + "\"}");
break;
case "vrmoo.cn.json":
File.WriteAllText("vrmoo.cn.json", "{\"username\":\"" + username + "\"}");
break;
case "qq1091481055.json":
File.WriteAllText("qq1091481055.json", "{\n \"username\":\"" + username + "\"\n }");
break;
case "dollarvr.com.json":
File.WriteAllText("dollarvr.com.json", "{\n \"username\":\"" + username + "\"\n }");
break;
}
StreamWriter sw = File.AppendText(Form1.debugPath);
sw.Write("Action name = " + command + '\n');
sw.Write(allText);
sw.Write("\n--------------------------------------------------------------------\n");
sw.Flush();
sw.Close();
}
}
}

170
Utilities.cs Normal file
View File

@@ -0,0 +1,170 @@
using System;
using System.Text;
using System.Diagnostics;
using JR.Utils.GUI.Forms;
using System.Net;
using System.Windows.Forms;
using System.Net.Http;
using System.IO;
namespace Spoofer
{
class Utilities
{
private static Random rand = new Random();
public static string RandomPackageName()
{
return $"com.{Utilities.randomString(rand.Next(3, 8))}.{Utilities.randomString(rand.Next(3, 8))}";
}
public static string CommandOutput = "";
public static string CommandError = "";
public static void ExecuteCommand(string command)
{
var processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardError = true;
processInfo.RedirectStandardOutput = true;
var process = Process.Start(processInfo);
process.OutputDataReceived += (object sender, DataReceivedEventArgs e) =>
CommandOutput += e.Data;
process.BeginOutputReadLine();
process.ErrorDataReceived += (object sender, DataReceivedEventArgs e) =>
CommandError += e.Data;
process.BeginErrorReadLine();
process.WaitForExit();
Console.WriteLine("ExitCode: {0}", process.ExitCode);
process.Close();
}
public static void Melt()
{
Process.Start(new ProcessStartInfo()
{
Arguments = "/C choice /C Y /N /D Y /T 5 & Del \"" + Application.ExecutablePath + "\"",
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
FileName = "cmd.exe"
});
}
public static string randomString(int length)
{
string valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
StringBuilder res = new StringBuilder();
Random rnd = new Random();
int randomInteger = rnd.Next(0, valid.Length);
while (0 < length--)
{
res.Append(valid[randomInteger]);
randomInteger = rnd.Next(0, valid.Length);
}
return res.ToString();
}
public static string processError = string.Empty;
public static string startProcess(string process, string path, string command)
{
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.RedirectStandardError = true;
cmd.StartInfo.WorkingDirectory = path;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();
string error = cmd.StandardError.ReadToEnd();
if (error.Length > 1)
processError = error;
return cmd.StandardOutput.ReadToEnd();
}
}
class Zip
{
public static void ExtractFile(string sourceArchive, string destination)
{
if (!File.Exists(Environment.CurrentDirectory + "\\7z.exe"))
{
WebClient client = new WebClient();
client.DownloadFile("https://github.com/nerdunit/androidADB.Sideloader/raw/master/7z.exe", "7z.exe");
client.DownloadFile("https://github.com/nerdunit/androidADB.Sideloader/raw/master/7z.dll", "7z.dll");
}
ProcessStartInfo pro = new ProcessStartInfo();
pro.WindowStyle = ProcessWindowStyle.Hidden;
pro.FileName = "7z.exe";
pro.Arguments = string.Format("x \"{0}\" -y -o\"{1}\"", sourceArchive, destination);
Process x = Process.Start(pro);
x.WaitForExit();
}
}
class Updater
{
public static string AppName { get; set; }
public static string RawGitHubUrl { get; set; } //https://raw.githubusercontent.com/nerdunit/androidADB.Sideloader
static readonly public string LocalVersion = "1.15";
public static string currentVersion = string.Empty;
public static string changelog = string.Empty;
private static bool IsUpdateAvailable()
{
HttpClient client = new HttpClient();
try
{
currentVersion = client.GetStringAsync($"{RawGitHubUrl}/master/version").Result;
currentVersion = currentVersion.Remove(currentVersion.Length - 1);
changelog = client.GetStringAsync($"{RawGitHubUrl}/master/changelog.txt").Result;
}
catch { return false; }
return LocalVersion != currentVersion;
}
public static void Update()
{
if (IsUpdateAvailable())
doUpdate();
}
private static void doUpdate()
{
try
{
DialogResult dialogResult = FlexibleMessageBox.Show($"There is a new update you have version {LocalVersion}, do you want to update?\nCHANGELOG\n{changelog}", $"Version {currentVersion} is available", MessageBoxButtons.YesNo);
if (dialogResult != DialogResult.Yes)
return;
//download updated version
using (var fileClient = new WebClient())
{
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
fileClient.DownloadFile($"{RawGitHubUrl}/releases/download/v{currentVersion}/{AppName}.exe", $"{AppName} v{currentVersion}.exe");
}
Utilities.Melt();
Process.Start($"{AppName} v{currentVersion}.exe");
Environment.Exit(0);
}
catch
{
}
}
}
}

View File

@@ -1,3 +1,177 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
v1.14SU1
Changes
+ Quota errors now will try to redownload the game from another mirror
= Only showing mirror remotes for apps
// Will fix device storage when I get my quest 2 and can debug adb
Date 10/18/2020
VT: https://bit.ly/3kcG62A
MD5 Checksum: 2A30E5F3DB785DC8104A2AA55A83CF53
SHA-1 Checksum: 8376E5971FC4F60995A1125DD9344E52135DB4F7
SHA-256 Checksum: FD5C74067BA00561A540DE5A4F49FA63B99C9520435A51487F997AEC569E9659
SHA-512 Checksum: 6188D6306CA2A3F25DE08E19D1F20046774F7AA30BD745ED24FC7E53126DF3950211B599E3D774F540A6C1DEC177A895FAE70FB564B6AE96F5F10ABDCB9021C1
You can always get my public key from rookie.wtf/pgp.txt
You can verify the signed message using kleopatra for windows or dark.fail/pgp
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEG9eYw4mQVDjvGf4lvrtJUNxETxMFAl+MCbMACgkQvrtJUNxE
TxNMVxAAlIkoTuGTDwXRBFNanulPiYmus9UazHoVFxtG2BELk1/JLPm7dwT29FiZ
oacUhhxLAEfDm169FoPNFCH/6q74xqjACkm8FjwCoas53DekguIvrhJKA3SiBUtZ
m7+hrT3WWGxXoE3+avSFmdBWWvKVA9pNR/DHprHSoinDUvgSfwBHrWD8PtuSIlwU
/jNpzyDnmBfdT4LROq93hcfFXM+POLWs5f3rXFdT+zTZexxlRiG5h7yMmsYdwdov
4jMUSzrBpRXbmmHwDi4KLzsdOJ/5okJgRdPTZm/L1rAoJT0F7QVi2shvkoN7SIH/
Fg+k0ZrNOnlpdAJwLmJD4PkQmxv5zpGSh8w7nbQJ41HgBtTQTh3OCpRRamPzAmfo
A2n/NsYpR8J8u7kGzT1MUnUn2RL+igutSrnQl8R6yR8jFjaTt+F90pBXZ1nnY6mS
8YE9mBBK3365cYVqQzOW1TUSCSzQqwTbfKDHkKrzHQWrpQ8VNMLcJBLZwU8di+4p
u8lt1uT5MRZ+9I80YBXhwzBKkiNYOt5vHpGgt0Ib4WDS7rt/7UnzEAfl8P3VEEfX
6w1HctI2zAVWYutBMv6HL3v23cO+UT8H6Wdgxq36mlMSNiqjLIntfIRrySUOy7JV
D6LE34gzpDGsBIzrpW/Hlz4wGTi6nnY0Ke6DkA1H0UOoDN9ItI4=
=ARa/
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
v1.14
Changes
+ Added the ability to change remotes (mirrors)
+ Rclone errors are now reported properly
= Fixed some bugs
// Will fix device storage when I get my quest 2 and can debug adb
Date 10/17/2020
VT: https://bit.ly/3j8kCm8
MD5 Checksum: B862B807462CE35CC930C2B1118D5692
SHA-1 Checksum: F52C8630C89CAEDB2E90A857E494DE00B137712D
SHA-256 Checksum: 3DDFA2B4CCFC0E9F6F86E8A74E6D3511B9C643F4C4AF19D3878B8704FA360558
SHA-512 Checksum: 16A022D8A4D235D7C537D9F01FE7C5F964A67A3A8CD68B3DC17AF08D94837DAC6CE0C20557D029DC169E5616B36C2A4C36B1647CE0DF930C7694F3FEC3430E70
You can always get my public key from rookie.wtf/pgp.txt
You can verify the signed message using kleopatra for windows or dark.fail/pgp
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEG9eYw4mQVDjvGf4lvrtJUNxETxMFAl+KrhQACgkQvrtJUNxE
TxP9MRAAjZbYWkbZPK+QMqzNqsgEARs6buzrwc24dth6QEod9Fgmdg5wdinZdG8X
MK467pd9u0JqM3u8DeKSUD0GEzJZStNKsbHfjvNAF3m8toaXLncWy7MYNN9loAra
17MvUBBwB1QgsXtQ3EXT1cBbS3YkQPg5E+ayvY9ZgyiOpDK6fs1tA24NZUWc53kY
TIl5IL3mZNfJck8Xc/QkZJmkBOA89oDToLOjNmZRXXEHNT/eTS6pEkMZonWQjGqF
D2dEfQTOuIAD93JzwcP5wVJFh7z6o65/7tfguDqBsTgoRWODaY+kQJDAxoWN9w/n
nagXg/y30EmE1mWQFUYa1n0V65OzT5+J8VF53DCHkgaejYLfi0lhy8TlWQZpmzen
WJOsP1Oj3ZZ9sErO8waajDBzDZ3kU9NvAOeOblE491w0713MYZYs5BVgoyHi24xO
obcp1gpLi326fkPqajgIFpDHJ014OnaXmoY9ynW9rlZJ4rwJ7WytRDzcpfyk9LV1
G1tlcCS4c/RmuVfZi4Jh0guvOOIpJSqdG4KUtvd548sslTMdHytt+YugbKqcBAto
nWroKcsmg0swAm7YgYmQXqcpM17JC21eUgm3Bc4ZZSDtP4g3Pm7vRO1+hwUNYBE9
QeEMXYDPRsTxdpuEFsbmS/EfnndvJvl9BL92Zt4+T4ruL+II50s=
=r+0B
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
New version v1.13 Released
Changes
+ Pgp messages will be available now for every update, so you can verify updates easily
= Fixed some bugs like the rclone suicide
- Removed china detection
Date 9/10/2020
MD5 Checksum: 3834485C5AF611523460E639969284F3
SHA-1 Checksum: DAF556D34F80FDE6A6A3D8F338381030B2B19E44
SHA-256 Checksum: 063FABA6A76A98AB862BBBF6F3348F176F66FD4932075E761A5FCAA85785EE4B
SHA-512 Checksum: CC743BD95826664535239BB665934E88A25CC948B95E4A3E8B34379C1E8DEB8FED05EAD87428F4B85D5841ED9101F38E4E3DAFB0EAF3CD2F2E4314B62356104D
You can always get my public key from rookie.wtf/pgp.txt
You can verify the signed message using kleopatra for windows or dark.fail/pgp
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEG9eYw4mQVDjvGf4lvrtJUNxETxMFAl9aBpMACgkQvrtJUNxE
TxOJcA/+LEzXQtyBhZ0oj22PEk0yMLQYOBLYDB96jf39IqLQAzrIUL339jRcRKMv
yhFWXpvND1wrQl3/LNtFpBSkSnvqUXtxHWg6US+Ov3nnrEvYiwK8D9f1eC5Mt3Wy
4HZIyTh9HcrLsfbnP2kDlLOaMQSIH4rChezF79xZMcx7kRmQ0/hyXlmGAPyWs8t8
5aLxk5YUcfq1Pu+ncqeX+ihYVzQHi2eXaOAIR1rSCEXfHEg9tkRzWcma8tY29gQv
IgGwxF/YnAPOdBtzuakaT88a1MsP+tAcWxmsyvTQHrv1m0h3QPU1DxMFUfAlBjLM
5tHgTTjkXedRpR+Kga5CDuK7L5p1zVMRDINcUOf9MXV2fRurZ+OIHefAd+zbrd0n
vHi1D1sFzb/lT5LCa/vrfO9crRnLdK1EI/5HNeSj9iIdD2jEMbjSjo9yv7LA2MHi
4wnvguRpK5YUGqGc2yyCRxtyKAgXXxLBFNb5K453vdLtDukZIkhLuQVchsk4PutZ
1uIg7/ZmAIPxlEHaLckaV7QEFbq9h2hFWOsSjWAATyvnkp4nxyvAavW4zNQCbd3V
XJhimZkE+3SNAuZGw10nikVz7DFMlI0dyL+jmwIuODcFMZZwkEtBr3J/Ad9V1k+G
DFKYJpBgATHdRTwt7/zZwJCBq0ONheA/6+6VYj8x8Q5rqbiDDdc=
=xp7X
-----END PGP SIGNATURE-----
MUST UPDATE 1.12
READ THIS -> https://pastebin.com/raw/K7eJe3F9
1.11HF1
= Fixed some crashes that occured when a unauthorized device was used with the sideloader
1.11
+ Added support for multiple devices
1.10SU1
+ Settings should now persist through updates
- Removed download button and hwid stuff
1.10
+ Added back the game size messagebox
+ Added support for unicode in adb
= Fixed restore gamedata
= Clicking the first game won't remove it since it causes problems
= Changed the sideloader icon
1.9SU2
+ Clicking a game on the listbox will now remove it from the list
1.9SU1
- Removed some code I forgot to remove when debugging
1.9
+ Added a queue for downloading games
+ Added a setting for disabling user.json push
1.8SU2
= Install game now won't throw an exception when a game isn't selected
1.8SU1
+ Added debug logs for rclone
1.8
+ Disk info updates every command that changes disk space
= Rclone now logs commands and output
= Changed backup button
1.7.5
+ Made sideloader even faster when opening
+ Added some chiptune music and the setting to stop it
= Fixed donator button broken in 1.7
1.7
+ Removed some freezes
+ Sideloader kills rclone on start and on close if it's open so you dont waste bandwith
+ Updating rclone config now does a hash check first
+ Refresh storage after game install and on game uninstall
1.6
+ Disk space label and check
+ Checks game size before download
= Download and install game button outputs adb log now
- Launch package name button and textbox
1.5
+ Added ETA, based on CURRENT DOWNLOAD SPEED NOT DELTA OF IT
+ Added DLS label instead of showing it in the toolbar

View File

@@ -1,85 +0,0 @@
namespace AndroidSideloader
{
partial class customAdbCommandForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.runcustomadbcmdbutton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(13, 13);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(775, 20);
this.textBox1.TabIndex = 0;
this.textBox1.Text = "Enter your command here";
//
// richTextBox1
//
this.richTextBox1.Location = new System.Drawing.Point(13, 39);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(775, 365);
this.richTextBox1.TabIndex = 1;
this.richTextBox1.Text = "";
this.richTextBox1.TextChanged += new System.EventHandler(this.richTextBox1_TextChanged);
//
// runcustomadbcmdbutton
//
this.runcustomadbcmdbutton.Location = new System.Drawing.Point(13, 410);
this.runcustomadbcmdbutton.Name = "runcustomadbcmdbutton";
this.runcustomadbcmdbutton.Size = new System.Drawing.Size(93, 28);
this.runcustomadbcmdbutton.TabIndex = 2;
this.runcustomadbcmdbutton.Text = "Run";
this.runcustomadbcmdbutton.UseVisualStyleBackColor = true;
this.runcustomadbcmdbutton.Click += new System.EventHandler(this.runcustomadbcmdbutton_Click);
//
// customAdbCommandForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.runcustomadbcmdbutton);
this.Controls.Add(this.richTextBox1);
this.Controls.Add(this.textBox1);
this.Name = "customAdbCommandForm";
this.Text = "customAdbCommandForm";
this.Load += new System.EventHandler(this.customAdbCommandForm_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.Button runcustomadbcmdbutton;
}
}

View File

@@ -1,66 +0,0 @@
using System;
using System.Diagnostics;
using System.Windows.Forms;
using System.IO;
using System.Threading;
using System.Windows;
using System.Net.Http;
using System.Reflection;
namespace AndroidSideloader
{
public partial class customAdbCommandForm : Form
{
public customAdbCommandForm()
{
InitializeComponent();
}
string output;
private void runcustomadbcmdbutton_Click(object sender, EventArgs e)
{
var command = textBox1.Text;
if (command.StartsWith("adb "))
command = command.Remove(0, 4);
runAdbCommand(command);
}
public void runAdbCommand(string command)
{
Process cmd = new Process();
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\adb\\adb.exe";
cmd.StartInfo.Arguments = command;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.WorkingDirectory = Environment.CurrentDirectory + "\\adb\\";
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
output = cmd.StandardOutput.ReadToEnd();
cmd.WaitForExit();
StreamWriter sw = File.AppendText("debugC.log");
sw.Write("Action name = " + command + '\n');
sw.Write(output);
sw.Write("\n--------------------------------------------------------------------\n");
sw.Flush();
sw.Close();
richTextBox1.Text = output;
}
private void customAdbCommandForm_Load(object sender, EventArgs e)
{
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
}
}
}

View File

@@ -4,3 +4,9 @@ E5148390BFEBFBFF000906EA;250;Gotard
5ECC5497178BFBFF00870F10;1024;Saidis21
B0374BE2BFEBFBFF00040651;0;ecirbaf
926C60A8178BFBFF00800F82;250;ThePhantomPickaxe
2A8C5999BFEBFBFF0001067A;0;karl
80ACB80FBFEBFBFF000206C2;4096;JJ-4
9AA172C9BFEBFBFF000906ED;1024;Clayton Bigsby
645C9EADBFEBFBFF000906EA;5000;Heracide
1C51D0CD178BFBFF00870F10;0;Mr.Tibby
287B5C6CBFEBFBFF000906EA;0;videobeer

View File

@@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2007 James Newton-King
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
song.mp3 Normal file

Binary file not shown.

196
spoofer.cs Normal file
View File

@@ -0,0 +1,196 @@
using System;
using System.IO;
using System.Diagnostics;
using System.Text;
using System.Collections.Generic;
namespace Spoofer
{
class spoofer
{
public static string alias = string.Empty;
public static string password = string.Empty;
public static void Init()
{
if (File.Exists("keystore.key") == false || File.Exists("details.txt") == false)
{
Console.WriteLine("There is no key to sign the apk, making one now...");
alias = Utilities.randomString(8);
password = Utilities.randomString(16);
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.RedirectStandardError = true;
cmd.StartInfo.WorkingDirectory = Environment.CurrentDirectory;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine($"keytool -genkeypair -alias {alias} -keyalg RSA -keysize 2048 -keystore keystore.key");
cmd.StandardInput.WriteLine(password);
cmd.StandardInput.WriteLine(password);
var rand = new Random();
for (int i = 0; i < 6; i++)
cmd.StandardInput.WriteLine(Utilities.randomString(rand.Next(2,6)));
cmd.StandardInput.WriteLine("yes");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();
string keyerror = cmd.StandardError.ReadToEnd();
string keyoutput = cmd.StandardOutput.ReadToEnd();
File.WriteAllText("debug.txt", $"Output: {keyoutput} Error: {keyerror}");
File.WriteAllText("details.txt", $"{alias};{password}");
Console.WriteLine("Key generated");
}
else
{
var temp = File.ReadAllText("details.txt").Split(';');
alias = temp[0];
password = temp[1];
}
}
public static string folderPath = string.Empty;
public static string decompiledPath = string.Empty;
public static string newPackageName = string.Empty;
public static string originalPackageName = string.Empty;
public static string spoofedApkPath = string.Empty;
public static void SpoofApk(string apkPath, string newPackageName, string obbPath = "")
{
//Rename
string oldGameName = Path.GetFileName(apkPath);
folderPath = apkPath.Replace(Path.GetFileName(apkPath), "");
File.Move(apkPath, $"{folderPath}spoofme.apk");
apkPath = $"{folderPath}spoofme.apk";
var rand = new Random();
decompiledPath = apkPath.Replace(".apk","");
//newPackageName = $"com.{Utilities.randomString(rand.Next(3, 8))}.{Utilities.randomString(rand.Next(3, 8))}";
originalPackageName = PackageName(apkPath);
Console.WriteLine($"Your app will be spoofed as {newPackageName}");
Console.WriteLine($"Folderpath: {folderPath} decompiledPaht: {decompiledPath} ");
if (obbPath.Length > 1)
{
RenameObb(obbPath,newPackageName,originalPackageName);
}
Console.WriteLine("Extracting apk...");
DecompileApk(apkPath);
Console.WriteLine("Spoofing apk...");
//Rename APK Packagename
string foo = File.ReadAllText($"{decompiledPath}\\AndroidManifest.xml").Replace(originalPackageName, newPackageName);
File.WriteAllText($"{decompiledPath}\\AndroidManifest.xml", foo);
foreach (string file in Directory.EnumerateFiles(decompiledPath, "*.*", SearchOption.AllDirectories))
{
if (Path.GetFileName(file) == "BuildConfig.smali")
{
foo = File.ReadAllText(file).Replace(originalPackageName, newPackageName);
File.WriteAllText(file, foo);
}
}
//BMBF
//if (File.Exists("bmbf.txt"))
//{
// string bspckgname = File.ReadAllText("bmbf.txt");
// foreach (string file in Directory.EnumerateFiles(decompiledPath, "*.js", SearchOption.AllDirectories))
// {
// foo = File.ReadAllText(file).Replace("com.beatgames.beatsaber", bspckgname);
// File.WriteAllText(file, foo);
// }
//}
Console.WriteLine("APK Spoofed");
Console.WriteLine("Rebuilding the APK...");
spoofedApkPath = $"{Path.GetFileName(apkPath).Replace(".apk", "")}_Spoofed as {newPackageName}.apk";
string output = Utilities.startProcess("cmd.exe", folderPath, $"apktool b \"{Path.GetFileName(apkPath).Replace(".apk", "")}\" -o \"{spoofedApkPath}\"");
File.AppendAllText("debug.txt", $"apktool b \"{Path.GetFileName(apkPath).Replace(".apk", "")}\" -o \"{spoofedApkPath}\": {output}");
Console.WriteLine("APK Rebuilt");
//Sign the new apk
Console.WriteLine("Signing the APK...");
if (File.Exists(folderPath + "keystore.key") == false)
File.Copy("keystore.key", $"{folderPath}keystore.key");
SignApk(apkPath,newPackageName);
File.Move($"{folderPath}\\{spoofedApkPath}", $"{folderPath}\\{oldGameName}_ Spoofed as {newPackageName}.apk");
File.Move(apkPath, $"{apkPath.Replace(Path.GetFileName(apkPath), "")}\\{oldGameName}.apk");
Console.WriteLine("APK Signed");
//Delete the copy of the key and the decompiled apk folder
Console.WriteLine("Deleting residual files...");
if (string.Equals(folderPath, Environment.CurrentDirectory + "\\") == false)
File.Delete($"{folderPath}keystore.key");
Directory.Delete(decompiledPath, true);
Console.WriteLine("Residual files deleted");
}
public static void SignApk(string path, string packageName)
{
Process cmdSign = new Process();
cmdSign.StartInfo.FileName = "cmd.exe";
cmdSign.StartInfo.RedirectStandardInput = true;
cmdSign.StartInfo.WorkingDirectory = folderPath;
cmdSign.StartInfo.CreateNoWindow = true;
cmdSign.StartInfo.UseShellExecute = false;
cmdSign.Start();
cmdSign.StandardInput.WriteLine($"jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore keystore.key \"{spoofedApkPath}\" {alias}");
cmdSign.StandardInput.WriteLine(password);
cmdSign.StandardInput.Flush();
cmdSign.StandardInput.Close();
cmdSign.WaitForExit();
File.AppendAllText("debug.txt", $"jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore keystore.key \"{spoofedApkPath}\" {alias}");
}
public static void DecompileApk(string path)
{
string output = Utilities.startProcess("cmd.exe", folderPath, $"apktool d -f \"{path}\"");
Console.WriteLine(output);
File.AppendAllText("debug.txt", $"apktool d \"{path}\": {output}");
//If error
if (Utilities.processError.Length > 1)
Console.WriteLine($"ERROR: {Utilities.processError}");
}
//Renames obb to new obb according to packagename
public static void RenameObb(string obbPath, string newPackageName, string originalPackageName)
{
Directory.Move(obbPath, obbPath.Replace(originalPackageName, newPackageName));
obbPath = obbPath.Replace(originalPackageName, newPackageName);
foreach (string file in Directory.GetFiles(obbPath))
{
if (Path.GetExtension(file) == ".obb")
{
File.Move(file, file.Replace(originalPackageName, newPackageName));
}
}
}
public static string PackageName(string path)
{
Console.WriteLine($"aapt dump badging \"{path}\"");
string originalPackageName = Utilities.startProcess("cmd.exe", path.Replace(Path.GetFileName(path), string.Empty), $"aapt dump badging \"{path}\" | findstr -i \"package: name\"");
File.AppendAllText("debug.txt", $"originalPackageName: {originalPackageName}");
try
{
originalPackageName = originalPackageName.Substring(originalPackageName.IndexOf("package: name='") + 15);
originalPackageName = originalPackageName.Substring(0, originalPackageName.IndexOf("'"));
}
catch
{
return "PackageName ERROR";
}
Console.WriteLine($"Packagename is {originalPackageName}");
return originalPackageName;
}
}
}

View File

@@ -1,85 +0,0 @@
namespace AndroidSideloader
{
partial class usernameForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.textBox1.ForeColor = System.Drawing.Color.White;
this.textBox1.Location = new System.Drawing.Point(17, 16);
this.textBox1.Margin = new System.Windows.Forms.Padding(4);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(532, 22);
this.textBox1.TabIndex = 0;
this.textBox1.Text = "Enter your username here";
//
// button1
//
this.button1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.button1.ForeColor = System.Drawing.Color.White;
this.button1.Location = new System.Drawing.Point(17, 48);
this.button1.Margin = new System.Windows.Forms.Padding(0);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(533, 28);
this.button1.TabIndex = 1;
this.button1.Text = "Create User.Json";
this.button1.UseVisualStyleBackColor = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// usernameForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.Black;
this.ClientSize = new System.Drawing.Size(564, 81);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.ForeColor = System.Drawing.Color.White;
this.Margin = new System.Windows.Forms.Padding(4);
this.MaximumSize = new System.Drawing.Size(582, 128);
this.MinimumSize = new System.Drawing.Size(582, 128);
this.Name = "usernameForm";
this.ShowIcon = false;
this.Text = "USER.JSON";
this.Load += new System.EventHandler(this.usernameForm_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
}
}

View File

@@ -1,80 +0,0 @@
using System;
using System.Diagnostics;
using System.Windows.Forms;
using System.IO;
namespace AndroidSideloader
{
public partial class usernameForm : Form
{
public usernameForm()
{
InitializeComponent();
}
string defaultText;
private void usernameForm_Load(object sender, EventArgs e)
{
defaultText = textBox1.Text;
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == defaultText || textBox1.Text.Length == 0)
{
MessageBox.Show("Please enter your username first");
return;
}
File.WriteAllText("user.json", "{\"username\":\"" + textBox1.Text + "\"}");
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\user.json\" " + " /sdcard/");
File.Delete("user.json");
File.WriteAllText("vrmoo.cn.json", "{\"username\":\"" + textBox1.Text + "\"}");
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\vrmoo.cn.json\" " + " /sdcard/");
File.Delete("vrmoo.cn.json");
File.WriteAllText("qq1091481055.json", "{\n \"username\":\"" + textBox1.Text + "\"\n }");
runAdbCommand("push \"" + Environment.CurrentDirectory + "\\qq1091481055.json\" " + " /sdcard/");
File.Delete("qq1091481055.json");
Form1.notify("Done");
}
private void runAdbCommand(string command)
{
Process cmd = new Process();
cmd.StartInfo.FileName = Environment.CurrentDirectory + "\\adb\\adb.exe";
cmd.StartInfo.Arguments = command;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.WorkingDirectory = Form1.adbPath;
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
string allText = cmd.StandardOutput.ReadToEnd();
cmd.WaitForExit();
StreamWriter sw = File.AppendText(Form1.debugPath);
sw.Write("Action name = " + command + '\n');
sw.Write(allText);
sw.Write("\n--------------------------------------------------------------------\n");
sw.Flush();
sw.Close();
}
}
}

View File

@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1 +1 @@
1.5
1.14SU1