Share Source Code Geeksn0w jailbreak Tethered IOS 7.1 cho ACE nào muốn hướng tới lập trình. Đầu tiên mở tool Geeksn0w 2.6 lên rồi bấm chọn đại cái gì đó cũng được và nó đã được tạo source trong >>>>> C:\ProgramData\geeksn0w. Vậy là chúng ta có tất cả các Source rồi và bây giờ chúng ta có Code để sào nấu theo ý muốn thôi. CODE đây: Mã:namespace com.blackgeek.geeksn0w_gui { using com.blackgeek.geeksn0w_gui.My; using Microsoft.VisualBasic; using Microsoft.VisualBasic.CompilerServices; using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.IO; using System.Net; using System.Runtime.CompilerServices; using System.Windows.Forms; [DesignerGenerated] public class iphone4cdma : Form { [AccessedThroughProperty("Button1")] private Button _Button1; [AccessedThroughProperty("Button2")] private Button _Button2; [AccessedThroughProperty("Button3")] private Button _Button3; [AccessedThroughProperty("Button4")] private Button _Button4; [AccessedThroughProperty("GroupBox1")] private GroupBox _GroupBox1; [AccessedThroughProperty("GroupBox2")] private GroupBox _GroupBox2; [AccessedThroughProperty("jb")] private Button _jb; [AccessedThroughProperty("Label1")] private Label _Label1; [AccessedThroughProperty("Label10")] private Label _Label10; [AccessedThroughProperty("Label2")] private Label _Label2; [AccessedThroughProperty("Label3")] private Label _Label3; [AccessedThroughProperty("Label4")] private Label _Label4; [AccessedThroughProperty("Label7")] private Label _Label7; [AccessedThroughProperty("Label8")] private Label _Label8; [AccessedThroughProperty("Label9")] private Label _Label9; [AccessedThroughProperty("LinkLabel1")] private LinkLabel _LinkLabel1; [AccessedThroughProperty("LinkLabel2")] private LinkLabel _LinkLabel2; [AccessedThroughProperty("LinkLabel3")] private LinkLabel _LinkLabel3; [AccessedThroughProperty("LinkLabel4")] private LinkLabel _LinkLabel4; [AccessedThroughProperty("ProgressBar1")] private ProgressBar _ProgressBar1; private IContainer components; public iphone4cdma() { base.Load += new EventHandler(this.iphone4cdma_Load); this.InitializeComponent(); } private void btnSelectFile_Click(object sender, EventArgs e) { this.jb.Enabled = false; if (!MyProject.Computer.FileSystem.DirectoryExists(@"C:\Program Files (x86)\Java\jre7")) { MessageBox.Show("Warning! It seems you don't have Java JRE7 installed on your computer. Without this component, the Jailbreak could fail. Are you sure to continue?"); } this.Label3.Text = "Put your iPhone in DFU Mode to continue"; Process process3 = new Process(); try { process3.StartInfo.UseShellExecute = false; process3.StartInfo.FileName = "C:/ProgramData/geeksn0w/ufd.exe"; process3.StartInfo.CreateNoWindow = true; process3.Start(); } catch (Exception exception1) { ProjectData.SetProjectError(exception1); Exception exception = exception1; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.FileExists("C:/ProgramData/dfu.exe")) { this.Delay(1.0); } MyProject.Computer.FileSystem.DeleteFile("C:/ProgramData/dfu.exe"); Directory.SetCurrentDirectory("C:/ProgramData/geeksn0w/res"); this.ProgressBar1.Value = 10; this.Label3.Text = "Exploiting with limera1n (this could take a while)"; Process.Start("C:/ProgramData/geeksn0w/ssh.bat"); this.Delay(10.0); this.ProgressBar1.Value = 15; this.Label3.Text = "Starting SSH connection"; Process process6 = new Process(); try { process6.StartInfo.UseShellExecute = false; process6.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/engine0.bat"; process6.StartInfo.CreateNoWindow = true; process6.Start(); } catch (Exception exception11) { ProjectData.SetProjectError(exception11); Exception exception2 = exception11; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.DirectoryExists("C:/ProgramData/geeksn0w/Res/done")) { this.Delay(1.0); } Directory.Delete("C:/ProgramData/geeksn0w/Res/done", true); this.ProgressBar1.Value = 30; this.Label3.Text = "Mounting root_fs as r/w"; Process process7 = new Process(); try { process7.StartInfo.UseShellExecute = false; process7.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/engine1.bat"; process7.StartInfo.CreateNoWindow = true; process7.Start(); } catch (Exception exception12) { ProjectData.SetProjectError(exception12); Exception exception3 = exception12; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.DirectoryExists("C:/ProgramData/geeksn0w/Res/done")) { this.Delay(1.0); } Directory.Delete("C:/ProgramData/geeksn0w/Res/done", true); this.ProgressBar1.Value = 40; this.Label3.Text = "Injecting Jailbreak data"; Process process8 = new Process(); try { process8.StartInfo.UseShellExecute = false; process8.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/engine2.bat"; process8.StartInfo.CreateNoWindow = true; process8.Start(); } catch (Exception exception13) { ProjectData.SetProjectError(exception13); Exception exception4 = exception13; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.DirectoryExists("C:/ProgramData/geeksn0w/Res/done")) { this.Delay(1.0); } Directory.Delete("C:/ProgramData/geeksn0w/Res/done", true); Process process9 = new Process(); try { process9.StartInfo.UseShellExecute = false; process9.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/engine3.bat"; process9.StartInfo.CreateNoWindow = true; process9.Start(); } catch (Exception exception14) { ProjectData.SetProjectError(exception14); Exception exception5 = exception14; ProjectData.ClearProjectError(); } this.ProgressBar1.Value = 60; this.Label3.Text = "Rebooting device"; while (!MyProject.Computer.FileSystem.DirectoryExists("C:/ProgramData/geeksn0w/Res/done")) { this.Delay(1.0); } Directory.Delete("C:/ProgramData/geeksn0w/Res/done", true); foreach (Process process11 in Process.GetProcessesByName("javaw")) { process11.Kill(); } this.Delay(10.0); this.Label3.Text = "Put your iPhone in DFU Mode to continue"; Process process4 = new Process(); try { process4.StartInfo.UseShellExecute = false; process4.StartInfo.FileName = "C:/ProgramData/geeksn0w/ufd.exe"; process4.StartInfo.CreateNoWindow = true; process4.Start(); goto Label_0404; } catch (Exception exception15) { ProjectData.SetProjectError(exception15); Exception exception6 = exception15; ProjectData.ClearProjectError(); goto Label_0404; } Label_03F5: this.Delay(1.0); Label_0404: if (!MyProject.Computer.FileSystem.FileExists("C:/ProgramData/dfu.exe")) { goto Label_03F5; } MyProject.Computer.FileSystem.DeleteFile("C:/ProgramData/dfu.exe"); this.ProgressBar1.Value = 70; this.Label3.Text = "Booting with opensn0w"; Process process = new Process(); try { process.StartInfo.UseShellExecute = false; process.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/boot33.bat"; process.StartInfo.CreateNoWindow = true; process.Start(); goto Label_04A0; } catch (Exception exception16) { ProjectData.SetProjectError(exception16); Exception exception7 = exception16; ProjectData.ClearProjectError(); goto Label_04A0; } Label_0491: this.Delay(1.0); Label_04A0: if (!MyProject.Computer.FileSystem.DirectoryExists("C:/ProgramData/geeksn0w/Res/done")) { goto Label_0491; } Directory.Delete("C:/ProgramData/geeksn0w/Res/done", true); this.Label3.Text = "Waiting for the device to be ready (this will take a lot)"; this.ProgressBar1.Value = 0x55; Process process10 = new Process(); try { process10.StartInfo.UseShellExecute = false; process10.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/rdetector.exe"; process10.StartInfo.CreateNoWindow = true; process10.Start(); goto Label_0538; } catch (Exception exception17) { ProjectData.SetProjectError(exception17); Exception exception8 = exception17; ProjectData.ClearProjectError(); goto Label_0538; } Label_0529: this.Delay(1.0); Label_0538: if (!MyProject.Computer.FileSystem.DirectoryExists("C:/iboot")) { goto Label_0529; } Directory.Delete("C:/iboot", true); this.Label3.Text = "Done! Put your iPhone in DFU Mode to continue"; this.ProgressBar1.Value = 90; Process process5 = new Process(); try { process5.StartInfo.UseShellExecute = false; process5.StartInfo.FileName = "C:/ProgramData/geeksn0w/ufd.exe"; process5.StartInfo.CreateNoWindow = true; process5.Start(); goto Label_05D0; } catch (Exception exception18) { ProjectData.SetProjectError(exception18); Exception exception9 = exception18; ProjectData.ClearProjectError(); goto Label_05D0; } Label_05C1: this.Delay(1.0); Label_05D0: if (!MyProject.Computer.FileSystem.FileExists("C:/ProgramData/dfu.exe")) { goto Label_05C1; } MyProject.Computer.FileSystem.DeleteFile("C:/ProgramData/dfu.exe"); this.ProgressBar1.Value = 0x5f; this.Label3.Text = "Booting with opensn0w"; Process process2 = new Process(); try { process2.StartInfo.UseShellExecute = false; process2.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/boot33.bat"; process2.StartInfo.CreateNoWindow = true; process2.Start(); goto Label_066C; } catch (Exception exception19) { ProjectData.SetProjectError(exception19); Exception exception10 = exception19; ProjectData.ClearProjectError(); goto Label_066C; } Label_065D: this.Delay(1.0); Label_066C: if (!MyProject.Computer.FileSystem.DirectoryExists("C:/ProgramData/geeksn0w/Res/done")) { goto Label_065D; } Directory.Delete("C:/ProgramData/geeksn0w/Res/done", true); this.Label3.Text = "Done!"; this.ProgressBar1.Value = 100; this.jb.Enabled = false; this.Button4.Enabled = true; } private void Button1_Click(object sender, EventArgs e) { this.GroupBox1.Text = "Put your iPhone in DFU Mode to continue"; Process process2 = new Process(); try { process2.StartInfo.UseShellExecute = false; process2.StartInfo.FileName = "C:/ProgramData/geeksn0w/ufd.exe"; process2.StartInfo.CreateNoWindow = true; process2.Start(); } catch (Exception exception1) { ProjectData.SetProjectError(exception1); Exception exception = exception1; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.FileExists("C:/ProgramData/dfu.exe")) { this.Delay(1.0); } MyProject.Computer.FileSystem.DeleteFile("C:/ProgramData/dfu.exe"); Directory.SetCurrentDirectory("C:/ProgramData/geeksn0w/res"); this.GroupBox1.Text = "Booting with opensn0w"; Process process = new Process(); try { process.StartInfo.UseShellExecute = false; process.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/boot31.bat"; process.StartInfo.CreateNoWindow = true; process.Start(); } catch (Exception exception3) { ProjectData.SetProjectError(exception3); Exception exception2 = exception3; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.DirectoryExists("C:/ProgramData/geeksn0w/Res/done")) { this.Delay(1.0); } Directory.Delete("C:/ProgramData/geeksn0w/Res/done", true); this.GroupBox1.Text = "Done!"; } private void Button2_Click(object sender, EventArgs e) { this.GroupBox1.Text = "Put your iPhone in DFU Mode to continue"; Process process2 = new Process(); try { process2.StartInfo.UseShellExecute = false; process2.StartInfo.FileName = "C:/ProgramData/geeksn0w/ufd.exe"; process2.StartInfo.CreateNoWindow = true; process2.Start(); } catch (Exception exception1) { ProjectData.SetProjectError(exception1); Exception exception = exception1; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.FileExists("C:/ProgramData/dfu.exe")) { this.Delay(1.0); } MyProject.Computer.FileSystem.DeleteFile("C:/ProgramData/dfu.exe"); Directory.SetCurrentDirectory("C:/ProgramData/geeksn0w/res"); this.GroupBox1.Text = "Booting with opensn0w"; Process process = new Process(); try { process.StartInfo.UseShellExecute = false; process.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/boot33.bat"; process.StartInfo.CreateNoWindow = true; process.Start(); } catch (Exception exception3) { ProjectData.SetProjectError(exception3); Exception exception2 = exception3; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.DirectoryExists("C:/ProgramData/geeksn0w/Res/done")) { this.Delay(1.0); } Directory.Delete("C:/ProgramData/geeksn0w/Res/done", true); } private void Button3_Click(object sender, EventArgs e) { this.GroupBox1.Text = "Put your iPhone in DFU Mode to continue"; Process process2 = new Process(); try { process2.StartInfo.UseShellExecute = false; process2.StartInfo.FileName = "C:/ProgramData/geeksn0w/ufd.exe"; process2.StartInfo.CreateNoWindow = true; process2.Start(); } catch (Exception exception1) { ProjectData.SetProjectError(exception1); Exception exception = exception1; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.FileExists("C:/ProgramData/dfu.exe")) { this.Delay(1.0); } MyProject.Computer.FileSystem.DeleteFile("C:/ProgramData/dfu.exe"); Directory.SetCurrentDirectory("C:/ProgramData/geeksn0w/res"); this.GroupBox1.Text = "Booting with opensn0w"; Process process = new Process(); try { process.StartInfo.UseShellExecute = false; process.StartInfo.FileName = "C:/ProgramData/geeksn0w/Res/boot32.bat"; process.StartInfo.CreateNoWindow = true; process.Start(); } catch (Exception exception3) { ProjectData.SetProjectError(exception3); Exception exception2 = exception3; ProjectData.ClearProjectError(); } while (!MyProject.Computer.FileSystem.DirectoryExists("C:/ProgramData/geeksn0w/Res/done")) { this.Delay(1.0); } Directory.Delete("C:/ProgramData/geeksn0w/Res/done", true); } private void Button4_Click(object sender, EventArgs e) { this.MdiParent.Close(); } public static bool CheckForInternetConnection() { bool flag; try { using (WebClient client = new WebClient()) { using (client.OpenRead("http://www.google.com")) { return true; } } } catch (Exception exception1) { ProjectData.SetProjectError(exception1); flag = false; ProjectData.ClearProjectError(); } return flag; } public void Delay(double dblSecs) { DateAndTime.Now.AddSeconds(1.1574074074074074E-05); DateTime time = DateAndTime.Now.AddSeconds(1.1574074074074074E-05).AddSeconds(dblSecs); while (DateTime.Compare(DateAndTime.Now, time) <= 0) { Application.DoEvents(); } } [DebuggerNonUserCode] protected override void Dispose(bool disposing) { try { if (disposing && (this.components != null)) { this.components.Dispose(); } } finally { base.Dispose(disposing); } } [DebuggerStepThrough] private void InitializeComponent() { this.LinkLabel2 = new LinkLabel(); this.LinkLabel1 = new LinkLabel(); this.GroupBox2 = new GroupBox(); this.Label4 = new Label(); this.Label7 = new Label(); this.Label9 = new Label(); this.Label10 = new Label(); this.GroupBox1 = new GroupBox(); this.Button3 = new Button(); this.Button2 = new Button(); this.Button1 = new Button(); this.Label3 = new Label(); this.Label2 = new Label(); this.jb = new Button(); this.ProgressBar1 = new ProgressBar(); this.LinkLabel3 = new LinkLabel(); this.Label8 = new Label(); this.Button4 = new Button(); this.LinkLabel4 = new LinkLabel(); this.Label1 = new Label(); this.GroupBox2.SuspendLayout(); this.GroupBox1.SuspendLayout(); this.SuspendLayout(); this.LinkLabel2.AutoSize = true; Point point2 = new Point(0x1a5, 0x13c); this.LinkLabel2.Location = point2; this.LinkLabel2.Name = "LinkLabel2"; Size size2 = new Size(0x39, 13); this.LinkLabel2.Size = size2; this.LinkLabel2.TabIndex = 0x11; this.LinkLabel2.TabStop = true; this.LinkLabel2.Text = "Follow me!"; this.LinkLabel1.AutoSize = true; point2 = new Point(1, 0x13b); this.LinkLabel1.Location = point2; this.LinkLabel1.Name = "LinkLabel1"; size2 = new Size(0x2a, 13); this.LinkLabel1.Size = size2; this.LinkLabel1.TabIndex = 0x10; this.LinkLabel1.TabStop = true; this.LinkLabel1.Text = "Donate"; this.GroupBox2.Controls.Add(this.Label4); this.GroupBox2.Controls.Add(this.Label7); this.GroupBox2.Controls.Add(this.Label9); this.GroupBox2.Controls.Add(this.Label10); point2 = new Point(12, 230); this.GroupBox2.Location = point2; this.GroupBox2.Name = "GroupBox2"; size2 = new Size(0x1c5, 0x4a); this.GroupBox2.Size = size2; this.GroupBox2.TabIndex = 15; this.GroupBox2.TabStop = false; this.GroupBox2.Text = "Credits:"; this.Label4.AutoSize = true; point2 = new Point(6, 0x38); this.Label4.Location = point2; this.Label4.Name = "Label4"; size2 = new Size(0x6d, 13); this.Label4.Size = size2; this.Label4.TabIndex = 0x20; this.Label4.Text = "Savi0r for the website"; this.Label7.AutoSize = true; point2 = new Point(6, 0x2b); this.Label7.Location = point2; this.Label7.Name = "Label7"; size2 = new Size(0x9d, 13); this.Label7.Size = size2; this.Label7.TabIndex = 0x1f; this.Label7.Text = "Matteo Piccina for the Mac GUI"; this.Label9.AutoSize = true; point2 = new Point(6, 0x1d); this.Label9.Location = point2; this.Label9.Name = "Label9"; size2 = new Size(0xaf, 13); this.Label9.Size = size2; this.Label9.TabIndex = 30; this.Label9.Text = "mfstguy and DevBug for ssh_rd tool"; this.Label10.AutoSize = true; point2 = new Point(6, 0x10); this.Label10.Location = point2; this.Label10.Name = "Label10"; size2 = new Size(110, 13); this.Label10.Size = size2; this.Label10.TabIndex = 0x1d; this.Label10.Text = "winocm for opensn0w"; this.GroupBox1.Controls.Add(this.Button3); this.GroupBox1.Controls.Add(this.Button2); this.GroupBox1.Controls.Add(this.Button1); point2 = new Point(12, 0xa3); this.GroupBox1.Location = point2; this.GroupBox1.Name = "GroupBox1"; size2 = new Size(0x1c5, 0x3d); this.GroupBox1.Size = size2; this.GroupBox1.TabIndex = 14; this.GroupBox1.TabStop = false; this.GroupBox1.Text = "Boot Tethered:"; point2 = new Point(0xa7, 0x19); this.Button3.Location = point2; this.Button3.Name = "Button3"; size2 = new Size(0x76, 0x17); this.Button3.Size = size2; this.Button3.TabIndex = 2; this.Button3.Text = "iPhone 4 Rev A"; this.Button3.UseVisualStyleBackColor = true; point2 = new Point(0x138, 0x19); this.Button2.Location = point2; this.Button2.Name = "Button2"; size2 = new Size(0x76, 0x17); this.Button2.Size = size2; this.Button2.TabIndex = 1; this.Button2.Text = "iPhone 4 CDMA"; this.Button2.UseVisualStyleBackColor = true; point2 = new Point(0x15, 0x19); this.Button1.Location = point2; this.Button1.Name = "Button1"; size2 = new Size(0x76, 0x17); this.Button1.Size = size2; this.Button1.TabIndex = 0; this.Button1.Text = "iPhone 4 GSM"; this.Button1.UseVisualStyleBackColor = true; this.Label3.AutoSize = true; point2 = new Point(12, 0x6c); this.Label3.Location = point2; this.Label3.Name = "Label3"; size2 = new Size(0xf7, 13); this.Label3.Size = size2; this.Label3.TabIndex = 13; this.Label3.Text = "Connect your iPhone 4 and click Jailbreak to begin"; this.Label2.AutoSize = true; this.Label2.Font = new Font("Microsoft Sans Serif", 9f, FontStyle.Regular, GraphicsUnit.Point, 0); point2 = new Point(9, 0x23); this.Label2.Location = point2; this.Label2.Name = "Label2"; size2 = new Size(0x19e, 30); this.Label2.Size = size2; this.Label2.TabIndex = 12; this.Label2.Text = "Copyright 2014 Andrea Bentivegna (BlackGeekTutorial). All rights reserved. \r\nNot for commercial use."; this.jb.Font = new Font("Microsoft Sans Serif", 6.75f, FontStyle.Regular, GraphicsUnit.Point, 0); point2 = new Point(0x17d, 0x7c); this.jb.Location = point2; this.jb.Name = "jb"; size2 = new Size(0x54, 0x15); this.jb.Size = size2; this.jb.TabIndex = 11; this.jb.Text = "Jailbreak"; this.jb.UseVisualStyleBackColor = true; point2 = new Point(13, 0x7c); this.ProgressBar1.Location = point2; this.ProgressBar1.Name = "ProgressBar1"; size2 = new Size(0x16a, 0x15); this.ProgressBar1.Size = size2; this.ProgressBar1.TabIndex = 10; this.LinkLabel3.AutoSize = true; point2 = new Point(250, 0x13b); this.LinkLabel3.Location = point2; this.LinkLabel3.Name = "LinkLabel3"; size2 = new Size(0x3b, 13); this.LinkLabel3.Size = size2; this.LinkLabel3.TabIndex = 0x21; this.LinkLabel3.TabStop = true; this.LinkLabel3.Text = "beiphone.it"; this.Label8.AutoSize = true; point2 = new Point(0xa8, 0x13b); this.Label8.Location = point2; this.Label8.Name = "Label8"; size2 = new Size(0x56, 13); this.Label8.Size = size2; this.Label8.TabIndex = 0x20; this.Label8.Text = "Visit our website:"; this.Button4.Font = new Font("Microsoft Sans Serif", 6.75f, FontStyle.Regular, GraphicsUnit.Point, 0); point2 = new Point(0x17d, 0x7c); this.Button4.Location = point2; this.Button4.Name = "Button4"; size2 = new Size(0x54, 0x15); this.Button4.Size = size2; this.Button4.TabIndex = 0x22; this.Button4.Text = "Exit"; this.Button4.UseVisualStyleBackColor = true; this.Button4.Visible = false; this.LinkLabel4.AutoSize = true; point2 = new Point(290, 11); this.LinkLabel4.Location = point2; this.LinkLabel4.Name = "LinkLabel4"; size2 = new Size(0x1c, 13); this.LinkLabel4.Size = size2; this.LinkLabel4.TabIndex = 0x24; this.LinkLabel4.TabStop = true; this.LinkLabel4.Text = "here"; this.LinkLabel4.Visible = false; this.Label1.AutoSize = true; this.Label1.Font = new Font("Microsoft Sans Serif", 9f, FontStyle.Regular, GraphicsUnit.Point, 0); point2 = new Point(9, 9); this.Label1.Location = point2; this.Label1.Name = "Label1"; size2 = new Size(0x111, 15); this.Label1.Size = size2; this.Label1.TabIndex = 0x23; this.Label1.Text = "Welcome! This is the latest version of GeekSn0w!"; SizeF ef2 = new SizeF(6f, 13f); this.AutoScaleDimensions = ef2; this.AutoScaleMode = AutoScaleMode.Font; size2 = new Size(0x1dd, 0x14d); this.ClientSize = size2; this.Controls.Add(this.LinkLabel4); this.Controls.Add(this.Label1); this.Controls.Add(this.LinkLabel2); this.Controls.Add(this.LinkLabel1); this.Controls.Add(this.GroupBox2); this.Controls.Add(this.GroupBox1); this.Controls.Add(this.LinkLabel3); this.Controls.Add(this.Label3); this.Controls.Add(this.Label8); this.Controls.Add(this.Label2); this.Controls.Add(this.jb); this.Controls.Add(this.ProgressBar1); this.Controls.Add(this.Button4); this.FormBorderStyle = FormBorderStyle.None; this.Name = "iphone4cdma"; this.StartPosition = FormStartPosition.CenterScreen; this.Text = "iphone4cdma"; this.GroupBox2.ResumeLayout(false); this.GroupBox2.PerformLayout(); this.GroupBox1.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); } private void iphone4cdma_Load(object sender, EventArgs e) { if (CheckForInternetConnection()) { string left = Conversions.ToString((double) 2.6); using (WebClient client = new WebClient()) { string right = client.DownloadString("http://www.geeksn0w.it/cvergeeksn0w.txt"); if (Operators.CompareString(left, right, false) < 0) { this.Label1.Text = "A new version of GeekSn0w is avaible! Download it "; this.LinkLabel4.Visible = true; } else { this.Label1.Text = "Welcome! This is the latest version of GeekSn0w!"; } } } else { this.Label1.Text = "I wasn't able to check for updates. Check your internet connection!"; } } private void Label4_Click(object sender, EventArgs e) { } private void LinkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Process.Start("http://www.twitter.com/blackgeektuto"); } private void LinkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Process.Start("http://www.beiphone.it"); } private void LinkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Process.Start("http://www.geeksn0w.it/GeekSn0w/Releases/Windows/latest/geeksn0w.zip"); } internal virtual Button Button1 { get { return this._Button1; } [MethodImpl(MethodImplOptions.Synchronized)] set { EventHandler handler = new EventHandler(this.Button1_Click); if (this._Button1 != null) { this._Button1.Click -= handler; } this._Button1 = value; if (this._Button1 != null) { this._Button1.Click += handler; } } } internal virtual Button Button2 { get { return this._Button2; } [MethodImpl(MethodImplOptions.Synchronized)] set { EventHandler handler = new EventHandler(this.Button2_Click); if (this._Button2 != null) { this._Button2.Click -= handler; } this._Button2 = value; if (this._Button2 != null) { this._Button2.Click += handler; } } } internal virtual Button Button3 { get { return this._Button3; } [MethodImpl(MethodImplOptions.Synchronized)] set { EventHandler handler = new EventHandler(this.Button3_Click); if (this._Button3 != null) { this._Button3.Click -= handler; } this._Button3 = value; if (this._Button3 != null) { this._Button3.Click += handler; } } } internal virtual Button Button4 { get { return this._Button4; } [MethodImpl(MethodImplOptions.Synchronized)] set { EventHandler handler = new EventHandler(this.Button4_Click); if (this._Button4 != null) { this._Button4.Click -= handler; } this._Button4 = value; if (this._Button4 != null) { this._Button4.Click += handler; } } } internal virtual GroupBox GroupBox1 { get { return this._GroupBox1; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._GroupBox1 = value; } } internal virtual GroupBox GroupBox2 { get { return this._GroupBox2; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._GroupBox2 = value; } } internal virtual Button jb { get { return this._jb; } [MethodImpl(MethodImplOptions.Synchronized)] set { EventHandler handler = new EventHandler(this.btnSelectFile_Click); if (this._jb != null) { this._jb.Click -= handler; } this._jb = value; if (this._jb != null) { this._jb.Click += handler; } } } internal virtual Label Label1 { get { return this._Label1; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._Label1 = value; } } internal virtual Label Label10 { get { return this._Label10; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._Label10 = value; } } internal virtual Label Label2 { get { return this._Label2; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._Label2 = value; } } internal virtual Label Label3 { get { return this._Label3; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._Label3 = value; } } internal virtual Label Label4 { get { return this._Label4; } [MethodImpl(MethodImplOptions.Synchronized)] set { EventHandler handler = new EventHandler(this.Label4_Click); if (this._Label4 != null) { this._Label4.Click -= handler; } this._Label4 = value; if (this._Label4 != null) { this._Label4.Click += handler; } } } internal virtual Label Label7 { get { return this._Label7; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._Label7 = value; } } internal virtual Label Label8 { get { return this._Label8; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._Label8 = value; } } internal virtual Label Label9 { get { return this._Label9; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._Label9 = value; } } internal virtual LinkLabel LinkLabel1 { get { return this._LinkLabel1; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._LinkLabel1 = value; } } internal virtual LinkLabel LinkLabel2 { get { return this._LinkLabel2; } [MethodImpl(MethodImplOptions.Synchronized)] set { LinkLabelLinkClickedEventHandler handler = new LinkLabelLinkClickedEventHandler(this.LinkLabel2_LinkClicked); if (this._LinkLabel2 != null) { this._LinkLabel2.LinkClicked -= handler; } this._LinkLabel2 = value; if (this._LinkLabel2 != null) { this._LinkLabel2.LinkClicked += handler; } } } internal virtual LinkLabel LinkLabel3 { get { return this._LinkLabel3; } [MethodImpl(MethodImplOptions.Synchronized)] set { LinkLabelLinkClickedEventHandler handler = new LinkLabelLinkClickedEventHandler(this.LinkLabel3_LinkClicked); if (this._LinkLabel3 != null) { this._LinkLabel3.LinkClicked -= handler; } this._LinkLabel3 = value; if (this._LinkLabel3 != null) { this._LinkLabel3.LinkClicked += handler; } } } internal virtual LinkLabel LinkLabel4 { get { return this._LinkLabel4; } [MethodImpl(MethodImplOptions.Synchronized)] set { LinkLabelLinkClickedEventHandler handler = new LinkLabelLinkClickedEventHandler(this.LinkLabel4_LinkClicked); if (this._LinkLabel4 != null) { this._LinkLabel4.LinkClicked -= handler; } this._LinkLabel4 = value; if (this._LinkLabel4 != null) { this._LinkLabel4.LinkClicked += handler; } } } internal virtual ProgressBar ProgressBar1 { get { return this._ProgressBar1; } [MethodImpl(MethodImplOptions.Synchronized)] set { this._ProgressBar1 = value; } } } } Và iPhone 4 GSM >>> iPhone 4 REv A Cũng làm tương tự như vậy. Và sau này Apple có ra FW mới thì Support SSH.jar là đã jailbreak Tethered rồi.Chúc các bạn thành công.