rhcp011235 icon

Untitled

rhcp011235 | PRO | 05/31/25 06:54:22 PM UTC | 0 ⭐ | 653 👁️ | Never ⏰ | []
text |

11.64 KB

|

None

|

0 👍

/

0 👎

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Windows.Forms;
using iTips.Ref;
using Microsoft.VisualBasic;
 namespace iTips
{
	// Token: 0x02000006 RID: 6
	[NullableContext(1)]
	[Nullable(0)]
	public class Form1 : Form
	{
		// Token: 0x06000007 RID: 7 RVA: 0x000020FC File Offset: 0x000002FC
		public Form1()
		{
			this.InitializeComponent();
			this.button2.Hide();
			this.APP_UUID();
		}
 		// Token: 0x06000008 RID: 8 RVA: 0x00002148 File Offset: 0x00000348
		private void APP_UUID()
		{
			this.label3.TextAlign = 32;
			string myuuidAsString = Guid.NewGuid().ToString().ToUpper();
			this.label3.Text = "APP_UUID: " + myuuidAsString;
		}
 		// Token: 0x06000009 RID: 9 RVA: 0x00002194 File Offset: 0x00000394
		private void CommonConnectDevice(object sender, DeviceCommonConnectEventArgs args)
		{
			bool flag = args.Message == ConnectNotificationMessage.Connected;
			if (flag)
			{
				this.currentiOSDevice = args.Device;
				base.Invoke(delegate()
				{
					this.button2.Show();
					this.label2.Text = string.Concat(new string[]
					{
						" Device Connected: ",
						this.currentiOSDevice.ProductType,
						" iOS ",
						this.currentiOSDevice.ProductVersion,
						"\n\n IMEI: ",
						this.currentiOSDevice.InternationalMobileEquipmentIdentity,
						" MEID: ",
						this.currentiOSDevice.MobileEquipmentIdentifier,
						"\n\n UDID: ",
						this.currentiOSDevice.UniqueDeviceID,
						" SN: ",
						this.currentiOSDevice.SerialNumber,
						"\n\n\n"
					});
					bool flag3 = this.currentiOSDevice.ActivationState == "Activated";
					if (flag3)
					{
					}
					this.UDID = this.currentiOSDevice.UniqueDeviceID;
				});
			}
			else
			{
				bool flag2 = args.Message == ConnectNotificationMessage.Disconnected;
				if (flag2)
				{
					base.Invoke(delegate()
					{
						this.button2.Hide();
						this.label2.Text = "There is not Device Connected";
						this.UDID = null;
					});
				}
			}
		}
 		// Token: 0x0600000A RID: 10 RVA: 0x000021F4 File Offset: 0x000003F4
		private void RecoveryConnectDevice(object sender, DeviceRecoveryConnectEventArgs args)
		{
			bool flag = args.Message == ConnectNotificationMessage.Connected;
			if (flag)
			{
				base.Invoke(delegate()
				{
				});
			}
			bool flag2 = args.Message == ConnectNotificationMessage.Disconnected;
			if (flag2)
			{
				base.Invoke(delegate()
				{
				});
			}
		}
 		// Token: 0x0600000B RID: 11 RVA: 0x0000226C File Offset: 0x0000046C
		private void ListenError(object sender, ListenErrorEventHandlerEventArgs args)
		{
			bool flag = args.ErrorType == ListenErrorEventType.StartListen;
			if (flag)
			{
				this.Error(args.ErrorMessage);
				throw new Exception(args.ErrorMessage);
			}
		}
 		// Token: 0x0600000C RID: 12 RVA: 0x000022A1 File Offset: 0x000004A1
		private void Error(string msg)
		{
			this.AppendLine(" [ERROR] {0}", Color.FromArgb(182, 29, 28), new object[]
			{
				msg
			});
		}
 		// Token: 0x0600000D RID: 13 RVA: 0x000022C8 File Offset: 0x000004C8
		private void AppendLine(string format, Color foreground, params object[] args)
		{
			base.Invoke(delegate()
			{
				this.AppendLine(format, foreground, args);
			});
			string text = string.Format(format, args);
		}
 		// Token: 0x0600000E RID: 14 RVA: 0x0000231D File Offset: 0x0000051D
		private void label1_Click(object sender, EventArgs e)
		{
		}
 		// Token: 0x0600000F RID: 15 RVA: 0x00002320 File Offset: 0x00000520
		private void label2_Click(object sender, EventArgs e)
		{
		}
 		// Token: 0x06000010 RID: 16 RVA: 0x00002324 File Offset: 0x00000524
		private void Form1_Load(object sender, EventArgs e)
		{
			DropShadow dropShadow = new DropShadow();
			dropShadow.ApplyShadows(this);
			this.DoubleBuffered = true;
			this.manager.CommonConnectEvent += this.CommonConnectDevice;
			this.manager.RecoveryConnectEvent += this.RecoveryConnectDevice;
			this.manager.ListenErrorEvent += new EventHandler<ListenErrorEventHandlerEventArgs>(this.ListenError);
			new Thread(new ThreadStart(this.manager.StartListen))
			{
				IsBackground = true
			}.Start();
		}
 		// Token: 0x06000011 RID: 17 RVA: 0x000023B8 File Offset: 0x000005B8
		public void Start()
		{
			string libPath = "lib";
			string udidFilePath = Path.Combine(libPath, "udid.txt");
			string restoreLogPath = Path.Combine(libPath, "restore_log.txt");
			int udidExitCode = Form1.RunCommand(Path.Combine(libPath, "ideviceinfo.exe"), "-k UniqueDeviceID", udidFilePath);
			bool flag = !File.Exists(udidFilePath) || new FileInfo(udidFilePath).Length == 0L;
			if (flag)
			{
				this.button2.Text = "Failed!";
				Form1.ShowErrorMsg("Error", "UDID file not found or empty.");
			}
			else
			{
				string udidContent = File.ReadAllText(udidFilePath);
				bool flag2 = udidContent.IndexOf("ERROR", 5) >= 0;
				if (flag2)
				{
					this.button2.Text = "Failed!";
					Form1.ShowErrorMsg("Error", udidContent);
				}
				else
				{
					string uuid = udidContent.Trim();
					bool flag3 = string.IsNullOrEmpty(uuid);
					if (flag3)
					{
						this.button2.Text = "Failed!";
						Form1.ShowErrorMsg("UDID Empty", udidContent);
					}
					else
					{
						string args = "restore -u " + uuid + " -s a50b5348f06d8c6528556309344370375eadb495 --system --reboot --settings lib";
						int restoreExitCode = Form1.RunCommand(Path.Combine(libPath, "idevicebackup2.exe"), args, restoreLogPath);
						string restoreLog = File.Exists(restoreLogPath) ? File.ReadAllText(restoreLogPath) : "";
						bool flag4 = restoreLog.IndexOf("ERROR", 5) >= 0;
						if (flag4)
						{
							this.button2.Text = "Failed!";
							Form1.ShowErrorMsg("Restore Error", restoreLog);
						}
						else
						{
							this.button2.Text = "SUCCESSFULLY!";
							Form1.ShowSuccessMsg("Successfully!");
						}
					}
				}
			}
		}
 		// Token: 0x06000012 RID: 18 RVA: 0x00002558 File Offset: 0x00000758
		private static int RunCommand(string exePath, string arguments, string outputFilePath)
		{
			int result;
			try
			{
				using (Process process = new Process())
				{
					process.StartInfo.FileName = exePath;
					process.StartInfo.Arguments = arguments;
					process.StartInfo.RedirectStandardOutput = true;
					process.StartInfo.RedirectStandardError = true;
					process.StartInfo.UseShellExecute = false;
					process.StartInfo.CreateNoWindow = true;
					using (StreamWriter outputStream = new StreamWriter(outputFilePath, false))
					{
						process.OutputDataReceived += delegate(object sender, DataReceivedEventArgs args)
						{
							bool flag = args.Data != null;
							if (flag)
							{
								outputStream.WriteLine(args.Data);
							}
						};
						process.ErrorDataReceived += delegate(object sender, DataReceivedEventArgs args)
						{
							bool flag = args.Data != null;
							if (flag)
							{
								outputStream.WriteLine(args.Data);
							}
						};
						process.Start();
						process.BeginOutputReadLine();
						process.BeginErrorReadLine();
						process.WaitForExit();
						result = process.ExitCode;
					}
				}
			}
			catch (Exception ex)
			{
				File.WriteAllText(outputFilePath, "ERROR: " + ex.Message);
				result = -1;
			}
			return result;
		}
 		// Token: 0x06000013 RID: 19 RVA: 0x00002684 File Offset: 0x00000884
		private static void ShowErrorMsg(string title, string message)
		{
			bool flag = message.Length > 1000;
			if (flag)
			{
				message = message.Substring(0, 1000) + "...";
			}
			Interaction.MsgBox(message, 16, title);
		}
 		// Token: 0x06000014 RID: 20 RVA: 0x000026C7 File Offset: 0x000008C7
		private static void ShowSuccessMsg(string message)
		{
			Interaction.MsgBox(message, 64, "Info");
		}
 		// Token: 0x06000015 RID: 21 RVA: 0x000026D8 File Offset: 0x000008D8
		private void button2_Click(object sender, EventArgs e)
		{
			this.button2.Text = "Processing...";
			this.button2.Enabled = false;
			Thread.Sleep(5000);
			this.Start();
		}
 		// Token: 0x06000016 RID: 22 RVA: 0x0000270C File Offset: 0x0000090C
		protected override void Dispose(bool disposing)
		{
			bool flag = disposing && this.components != null;
			if (flag)
			{
				this.components.Dispose();
			}
			base.Dispose(disposing);
		}
 		// Token: 0x06000017 RID: 23 RVA: 0x00002744 File Offset: 0x00000944
		private void InitializeComponent()
		{
			ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));
			this.button1 = new Button();
			this.label1 = new Label();
			this.label2 = new Label();
			this.label3 = new Label();
			this.button2 = new Button();
			base.SuspendLayout();
			this.button1.Location = new Point(123, 175);
			this.button1.Name = "button1";
			this.button1.Size = new Size(213, 37);
			this.button1.TabIndex = 0;
			this.button1.Text = "button1";
			this.button1.UseVisualStyleBackColor = true;
			this.label1.AutoSize = true;
			this.label1.Font = new Font("Segoe UI", 9.75f, 0, 3);
			this.label1.Location = new Point(74, 28);
			this.label1.Name = "label1";
			this.label1.Size = new Size(72, 17);
			this.label1.TabIndex = 1;
			this.label1.Text = "APP_UUID: ";
			this.label1.TextAlign = 32;
			this.label1.Click += new EventHandler(this.label1_Click);
			this.label2.Dock = 5;
			this.label2.Font = new Font("Segoe UI", 9.75f, 0, 3);
			this.label2.Location = new Point(0, 0);
			this.label2.Name = "label2";
			this.label2.Size = new Size(533, 236);
			this.label2.TabIndex = 2;
			this.label2.Text = "There is not Device Connected";
			this.label2.TextAlign = 32;
			this.label2.Click += new EventHandler(this.label2_Click);
			this.label3.AutoSize = true;
			this.label3.Font = new Font("Segoe UI", 9.75f, 0, 3);
			this.label3.Location = new Point(104, 11);
			this.label3.Name = "label3";
			this.label3.Size = new Size(72, 17);
			this.label3.TabIndex = 3;
			this.label3.Text = "APP_UUID: ";
			this.button2.Cursor = Cursors.Hand;
			this.button2.Location = new Point(140, 161);
			this.button2.Name = "button2";
			this.button2.Size = new Size(259, 23);
			this.button2.TabIndex = 6;
			this.button2.Text = "Start Blocking";
			this.button2.UseVisualStyleBackColor = true;
			this.button2.Click += new EventHandler(this.button2_Click);
			base.AutoScaleDimensions = new SizeF(7f, 15f);
			base.AutoScaleMode = 1;
			base.ClientSize = new Size(533, 236);
			base.Controls.Add(this.button2);
			base.Controls.Add(this.label3);
			base.Controls.Add(this.label2);
			base.Controls.Add(this.label1);
			base.Controls.Add(this.button1);
			base.FormBorderStyle = 2;
			base.Icon = (Icon)resources.GetObject("$this.Icon");
			base.MaximizeBox = false;
			base.Name = "Form1";
			this.Text = "iTips Helper | made with \ud83d\udc96 from @christianmuhi7";
			base.Load += new EventHandler(this.Form1_Load);
			base.ResumeLayout(false);
			base.PerformLayout();
		}
 		// Token: 0x04000004 RID: 4
		private iOSDevice currentiOSDevice;
 		// Token: 0x04000005 RID: 5
		private string UDID = "";
 		// Token: 0x04000006 RID: 6
		private iOSDeviceManager manager = new iOSDeviceManager();
 		// Token: 0x04000007 RID: 7
		[Nullable(0)]
		private IContainer components = null;
 		// Token: 0x04000008 RID: 8
		[Nullable(0)]
		private Button button1;
 		// Token: 0x04000009 RID: 9
		[Nullable(0)]
		private Label label1;
 		// Token: 0x0400000A RID: 10
		[Nullable(0)]
		private Label label2;
 		// Token: 0x0400000B RID: 11
		[Nullable(0)]
		private Label label3;
 		// Token: 0x0400000C RID: 12
		[Nullable(0)]
		private Button button2;
	}
}

Comments