How I entered the jailbreak scene Aaron Ash @aaronash@aaronash

Preview:

Citation preview

How I entered the jailbreak scene

Aaron Ash @aaronash

I’ve always liked computers...

Popular Tweaks I wrote

Multifl0w Barrel

Tweak making

•It’s not as easy as it looks

•I promise! (always unexpected bugs)

•But it’s also not impossible

•If you work at it, you can do it

How I make tweaks

•Idea

•Hack at it

•Test it

•Share it

•Polish it

•Release it

•Improve it

•I

Idea

•Useful

•Looks cool

•(hopefully both of the above)

•It works well

Sources for ideas

•What can be improved?

•What is annoying?

•What could be given more shine?

•What do people want?

•What do you want?

Hack at it

•class-dump-z the binary

•Hack around with cycript (cycript.org)

•Log stuff to see what’s going on

•Figure out the best places to hook

•Code it (check out Logos/Theos framework by DHowett)

Test it

•Put it on your actual device

•If you can stand it, you’re off to a good start

•If you can’t, try fixing biggest bugs

•If it just won’t work, don’t force it

Share it

•See what your friends think about it

•Show Twitter

•Listen to feedback

Polish it

•Fix as many bugs as you can

•Fix crashes (nobody likes unexpected resprings)

•Double check for memory leaks

•First impression might be your only impression

Release it!

•Write up a clear description

•Maybe make a website

•Submit to a repo (I prefer BigBoss)

Improve it

•Tweet about it on release

•I normally make a YouTube video demonstrating the tweak

•Squash any bugs you missed

•Add features users request

•Repeat! Have fun

Multifl0w

•I had an iPhone, wanted to make stuff

•Was <18, couldn’t join Apple’s program

•Solution: jailbreak!

•Friend in high school had a Palm Pre

•I thought its “cards multitasking” was cool

•Why didn’t iPhone OS have it?

•“hmm, I could try making that”

•Problem: Didn’t have a mac (or money)

•Solution: Install SDK on windows!

•Problem: Couldn’t figure that out

•Solution: Install SDK on linux!

•Instructions are on saurik.com, couldn’t be that hard right?

•Problem: Couldn’t figure that out either (but I think I got close)

•Solution: need to research more...

•Answer: install toolchain on device!

•I used Notepad++ on Windows 7 RC

•Used WinSCP to autosync files and compiled on device through SSH

•Problem: Very little documentation on MobileSubstrate and/or examples + explanation

•Solution: check out open source projects, just keep hacking away at it...

It (kinda) works!

Made a video, put it on YouTube

•Got lots of attention

•Felt lots of pressure to release it

•So I did...

•But I should have waited. It could have used more work.

•Gizmodo article!

•Posts on almost all jailbreaking sites

•Engadget article

•got invited to “the cool” IRC channel

•It’s all good!

•Few weeks later, phone starts ringing...

•Caller ID says “Palm, Inc.”

•uh oh...

How my jailbreak time is normally spent

(estimated)

Icon effects

Barrel!

Barrel

•I wanted to make SpringBoard more fun

•Inspired by Compiz/Beryl

•Made mostly in my Econ class

How it works(in a nutshell)

•Hooks -(void)setContentOffset:(CGPoint)offset

•Calculates percentage between pages

•Uses CATransform3D to retain frame positions

Popular modes

Tweaks that didn’t make the cut

Icon Stack

Icon Stack

Icon Spiral

Multifl0w concepts

Questions?Aaron Ash @aaronash