iPhone Privacy Patcher utility released: Stop sending your IMEI to Apple!

Posted by on under tin foil, imei, iphone, seeing eye, phe, wi fi, apps, stocks, weather, apple, command line utility |

So now that it's out that Apple is spying on you, people have been clamoring for a way to hide your IMEI from the all-seeing eye of Apple's Stocks and Weather applications. These apps send your IMEI as well as your iPhone firmware version to Apple for their nefarious usage statistic processing.

This is a big deal, because the IMEI is sent in plaintext, over any Wi-fi network you may currently be connected to. So anyone listening on that network will be able to grab your IMEI and do stuff with it, like, um, yeah, I'm not sure they can do anything with it.

Until now you just had to avoid the Stocks and Weather apps and/or wrap your phone in tin foil to prevent them from reading your thoughts.

Concomitantly, I have produced a simple command-line utility to patch out the nefarious code from Stocks and Weather allowing you to check your portfolio and the weather without worrying about...

Read the rest of this post


Tagi: tin foil, imei, iphone, seeing eye, phe, wi fi, apps, stocks, weather, apple, command line utility

How to tether your iPhone 3G and browse the web using your 3G connection

Posted by on under jay freeman, iphe, 3proxy, proxy program, open terminal, iphone, wi fi, rundown, firefox, 3g, emergencies, safari, amp, web page |

Thanks to the excellent work of the iPhone Dev Team and the porting work of Jay Freeman as well as the authors of 3Proxy, it is now possible to "tether" your iPhone 3G and use its Internet connection on your laptop.

Warning - Tethering your iPhone is against the iPhone data plan terms. AT&T could slap you with huge fees if you overuse this. I recommend only using it during emergencies.

Here's the basic rundown:
- Jailbreak your iPhone 3G
- Install 3Proxy and Terminal
- Create an ad-hoc Wi-fi network using your laptop
- Join the network with your iPhone
- Find the iPhone's IP address
- Open Terminal and run the proxy program
- Open Safari on your iPhone and open a web page
- Configure your browser to use the proxy

I will be using a Mac and Firefox to demonstrate,...

Read the rest of this post


Tagi: jay freeman, iphe, 3proxy, proxy program, open terminal, iphone, wi fi, rundown, firefox, 3g, emergencies, safari, amp, web page

Infineon, we have a problem

Posted by George Hotz on under rsa keys, bootrom, bootloaders, unsigned code, interactive mode, baseband, eep, fls, wi fi, datasheet, rae, firmware, 3g, kernel, checks, memory, gold |

The 3G bootloader is sig checked by the bootrom. So even removing the NOR and patching the bootloader(to remove main fw sig checks) and main firmware doesn't work for an unlock. Big thanks to TA_Mobile for dumping the NOR and confirming this. You have some real skills.

The X-Gold 608 is the chip used. The lame "datasheet" infineon gives us shows the hardware RSA and the secure bootrom. So we have a real problem. Even if we find an unsigned code exploit, which wasn't done for the previous two bootloaders in software(we found tricks to play with the nor), we still can't unlock.

Even though the bootloader isn't available for download, theres really nothing there. This bootloader doesn't contain any of the interactive mode functions, just a stub which is very similar to the old bootrom(but with sig checking). The interactive loader is tacked on to the end of every fls and eep file, and is loaded at 0x86000. BBUpdaterExtreme contains several ramloaders as well, but I believe the one used is from the update file itself. You do not need the bootloader to work on the baseband, you just need the files off the ramdisk. Also interesting to note, the 2 rsa keys the bootloaders use haven't changed since 3.9 or 4.6 So you have these too.

Killing CommCenter on 2.0 kills the wi-fi, which will make working with the baseband a bit harder. Entering interactive mode is now done with a call to the kernel to raise an I/O pin before resetting.

The first step to tackling this is dumping the bootrom. We need some exploit, I don't care where, to dump arbitrary memory. Then we can dump 0x400000, which is the new "secure" bootrom.
Tagi: rsa keys, bootrom, bootloaders, unsigned code, interactive mode, baseband, eep, fls, wi fi, datasheet, rae, firmware, 3g, kernel, checks, memory, gold

Porting an OS

Posted by planetbeing on under clock timer, iphe, day clock, versis, linux kernel, cpu x86, boot menu, linux drivers, mmu, android, opti, whirl, wi fi, graft, spi, knowledge gained from, many things, timers, vic, clocks |

I've been getting a lot of questions from people that seem to reflect a basic misunderstanding of what it takes to port an operating system onto a new platform. People seem to think that just by writing, say, a boot menu, means that we can stick Android or Windows or whatever onto a device because we can have a menu option for it.

Here's what it takes for an operating system to run on a device:
  • The code must be designed for the right CPU. (x86, ARM, PPC)
  • The code must be able to interact with the hardware in the way it expects.
Now, there are versions of Linux compiled in ARM (which the iPhone uses), there are even versions of Windows Mobile that are compiled in ARM. Why can't I, then, just stick Windows Mobile or Android (or another flavor of Linux) onto the iPhone and give it a whirl?

Because the code cannot interact with the hardware! That is, there are no Linux drivers or Windows Mobile drivers for the hardware that's on the iPhone. We're not even talking about things like the wi-fi won't work or anything silly like that. We're talking about big things, like not being able to start because it doesn't uncompress itself into RAM properly. We're talking about freezing the first time it has to wait for something to happen because it doesn't know how to run the hardware clocks and timers (which is CRITICAL for computers) and doesn't know when to start again.

Thus , if I tried to take some distribution of Linux or Windows or whatever, stick it in memory and start it, absolutely nothing will happen. That's right: nothing. There will be no output because it doesn't know how to run the display, or the USB, or serial. It probably won't even get to the first line of code that tells it to output something because so many things are broken.

So how can we get Linux to boot on the iPhone?

By teaching it how to run the hardware. We take the knowledge gained from getting that boot menu to display and graft it into the Linux kernel. It took an unbelievable amount of devices just to get the boot menu display: clock, timer, vic, mmu, spi, i2c, gpio, system controller, pmu, nor, uart, usb, lcd, buttons. Some of those may seem obvious to you, some work in the background to support the other devices. But all of those had to be reverse engineered and all of them will have to transplanted into the Linux kernel to even get something half-assed booting.

If all of those devices were required to get something as simple as boot menu up, can you imagine what would happen if you tried to boot an operating system that did not know how to run ANY of those devices?

We cannot modify the Windows Mobile kernel because it's closed source, and so there's no way to get it to run on the iPhone.

The critical misunderstanding, I think, is that people think somehow that the OS "sits on top" of the boot menu, and talks to the hardware through the boot menu. Therefore, you can have an "emulation layer" that lets Windows or Linux or whatever talk to the hardware, without having to alter Windows or Linux itself. This is completely false. An operating system, by definition, has direct access to the hardware. Nothing sits between it and the hardware. Once iBoot has loaded the iPhone OS, you can go ahead and wipe it clean from the NOR and the OS will keep running as usual. It's not "running", it's not used or loaded in any way except during the boot process.

The iPhone will never run Windows Mobile directly (virtualization would be possible albeit it would crawl on the iPhone). It will run Linux once we write the drivers for it based on our knowledge of the hardware. Android uses the Linux kernel, though they do modify it to a certain extent. Since the only really hardware dependent parts of an OS is in the kernel, presumably once we install the necessary drivers, Android will run just as well as Linux runs. However, not having even looked at Android's source yet, I really don't have a truly educated opinion at the moment, but let's just say that it's one of this project's primary goals.

Sorry this is so long, but intelligent explanations tend to be long.

P.S. Another question people ask a lot is how long will it take. I can't truly give a good answer to that, because it's sort of dependent on the schedules of the people who work on it, and it also depends on how fast it'll take to write the Linux drivers, and how many unexpected problems crop up. It could go really unexpectedly fast, or we could hit a roadblock. I think outside observers, just reading the commit logs and reading the blog has as much information as I do on how fast things are progressing, so you're free to come up with your own conclusions on how long it will take.
Tagi: clock timer, iphe, day clock, versis, linux kernel, cpu x86, boot menu, linux drivers, mmu, android, opti, whirl, wi fi, graft, spi, knowledge gained from, many things, timers, vic, clocks

i2Reader Pro 3.0

Posted by on under pdf rtf, mac os x, iphe, txt formats, compani, russian market, russian books, reas, epub, ebook reader, x box, fullscreen, os x, mdash, landscape, modes, libraries, xml, wi fi |

There's one our product that is probably not much known outside of Russian market — i2Reader Pro. It is an eBook reader for the iPhone supporting most of the features you'd anticipate from the reader — autoscroll, landscape and fullscreen modes, changeable styles, tap zones, and so on.

The reason it was not nearly as popular as on the Russian market is because it only supported FB2, an XML-derived book format in use by most Russian eBook libraries. So after a significant amount of work i2Reader now supports EPUB, PDF, RTF and DOC in addition to FB2 and TXT formats — which should make it possible for most people to actually use it.

It also includes a nifty built-in Wi-Fi server to share your books with other devices on the same Wi-Fi network as well as with your Mac OS X box running i2Librarian, a free app we made as a companion to i2Reader.

It also features a bunch of other Network services it missed in version 2.x - such as a built-in Web browser so you can instantly download books, and i2Scribe, our own online store (currently mostly featuring Russian books, but we're working on getting English content in there as well).

It has a 3 day trial, so why not give it a try — it is available in Icy/Cydia and Installer near you.

More info…


Tagi: pdf rtf, mac os x, iphe, txt formats, compani, russian market, russian books, reas, epub, ebook reader, x box, fullscreen, os x, mdash, landscape, modes, libraries, xml, wi fi