Jailbreak

Jailbreaking is a process that sets up the
/etc/fstab to mount all iPhone partitions for read and write, giving you full access to the system
and removing the locks imposed by Apple.
With jailbreak, you will have access to packages available through Cydia, such as OpenSSH and themes for customization.
Here I jailbroke an iPhone 3G with iOS 4.2.1. On theiphonewiki.com, I found several programs capable of performing the jailbreak on Windows, I tested two:
Greenpois0n: Despite the iPhone 3G being listed as compatible in the README, it is not compatible.
Redsn0w: Formerly QuickPWN. Quite simple, it is what I used to jailbreak my iPhone.
Redsn0w
Download redsn0w_win_0.9.6rc19.zip or a newer version. Make sure the version performs an untethered jailbreak, so you don’t need to connect the iPhone to the computer after each reboot.
Download the 4.2.1 firmware and restore the iPhone
using iTunes, using this firmware. Since this is the last version for the iPhone 3G, you can restore
normally, and the firmware will be saved in
C:\Users\Julio\AppData\Roaming\Apple Computer\iTunes\iPhone Software\Updates\iPhone1,2_4.2.1_8C148_Restore.ipsw.
Start redsn0w, connect the iPhone via USB, and turn it off. On the first screen, select the
firmware you used in the previous step. On the second screen, check the options Install Cydia,
Enable multitasking, and Enable battery percentage.
Follow the process to enter DFU mode, and the jailbreak will start.
Installing useful programs
After restarting the iPhone, look for the package called OpenSSH in Cydia and install it.
Access the iPhone via SSH from a computer. The username is root and the password is alpine:
julio@julio-acer ~ $ ssh root@10.0.0.3
root@10.0.0.3's password:
Julios-iPhone:~ root#
Change the root password:
Julios-iPhone:~ root# passwd
Changing password for root.
New password:
Retype new password:
Also, change the password for the mobile user:
Julios-iPhone:~ root# passwd mobile
Changing password for mobile.
New password:
Retype new password:
Installing a terminal
The default terminal is MobileTerminal. The version
available in Cydia is incompatible, download the new version from the website and send the .deb
package to the /var/root/Media/Cydia/AutoInstall folder:
julio@julio-acer ~ $ scp MobileTerminal_520-1_iphoneos-arm.deb root@10.0.0.3:/var/root/Media/Cydia/AutoInstall
root@10.0.0.3's password:
MobileTerminal_520-1_iphoneos-arm.deb 100% 232KB 232.4KB/s 00:00
Cydia will automatically install the terminal. Restart the iPhone for the icon to appear.

I’m a Brazilian computer engineer based in Germany, passionate about tech, science, photography, and languages.
I’ve been programming for about two decades already, exploring everything from mobile apps and web development to machine learning. These days I focus on cloud SRE and data engineering.
I volunteer in the open source and Python communities, helping organize PyCon DE and PyData Berlin, mentoring, and contributing with code and translations.
On my blog, I share Linux tips, setup guides, and personal notes I’ve written for future reference. I hope others find them helpful as well. The content is available in multiple languages.
Browse my gallery for some of my photography.
Away from the keyboard, you’ll find me at concerts, playing clarinet, cycling, scuba diving, or exploring new places, cultures, and cuisines.
Always happy to connect! 🙂