## Thread: iOS .ARTWORK file Extractor (with Tutorial)

is a discussion within the

### Skinning / Themes Discussion

forums, a part of the

#### Design and Media For the iPhone / iPod Touch

section; ...
1. iOS .artwork File Extractor Tutorial (Theme w/o Winterboard!)
This is a tutorial on how to theme UIImages WITHOUT Winterboard. (Mac and Windows support)

First of all, I'll explain what this is all about. This tutorial explains in detail how to modify the main .artwork file on your iDevice. This .artwork file is loaded with images that make up the UI (User Interface, so graphics) of your iDevice. With this tutorial you learn how to access these images in the .artwork file, so you can modify them. Then you recompile the .artwork with your new "themed" images, put the file back into your iDevice, reboot, and boom you have a customized UI without Winterboard. The advantage of this is that there is NO LAG whatsoever but you need to be CAREFUL when modifying the images because they need to remain the same size and dimension.

You’ll be using the following tools:
Python 2.7.x
Pillow 2.0.0 (PIL)
iOS Artwork Extractor by developer Dave Peck
OpenSSH available from Cydia
SSH Client recommended: Windows: WinSCP, Mac: Cyberduck OR
Command Prompt/Terminal for entering python commands.

The .ARTWORK extractor works on iOS 2 - 6. It’s been tested personally on my iPod 4G and iPhone 4 and by others on other devices. According to Dave Peck it works on most .artwork files including, Shared, Shared@2x, Keyboard-Emoji@2x, GameKit@2x etc, EVEN Shared~ipad and Shared@2x~ipad. For this tutorial the [email protected] will be used for examples because it’s the most common out of all of the .artwork files. To read more about Dave Peck's extractor click HERE.

Overview: Gets needed tools, SSH into iDevice and get a .artwork file from /System/Library/Frameworks/Ulkit.framework/ and copy it to your Computer. Use Dave's Extractor to extract the files within the .ARTWORK file, edit the extracted files and then recompile them and put it back into your iDevice.

STOCK iOS 5 and 6 .ARTWORK FILES DOWNLOADS AT THE BOTTOM OF THIS POST!

STEP 1: Getting the Tools
Download and Install a SSH Client (Windows: WinSCP, Mac: Cyberduck) OR iFunBox.
Download iOS Artwork Extractor by clicking the "Downloads" button and select download as zip. Open the folder "davepeck-iOS-artwork-xxxxxx" inside and extract all its contents to your Python installation folder (default Python Installation folder is C:\Python27 for Windows and /usr/local/bin/python for Mac).

STEP 2: Getting the .artwork file(s)
Using your SSH Client or iFunBox, go into /System/Library/Frameworks/Ulkit.framework/ in your iDevice. Copy a .artwork file onto your Desktop (Main file is [email protected] for Retina iDevice and Shared.artwork for non-Retina iDevices).

STEP 3: Editing Environment Variables/bash_script
Windows 8, 7 and Vista: Open start menu and search "environment variables" and click the first result. If Variable “Path” is already there, select it and click “Edit” and add “;C:\Python27” and close the window. If not, click "New..." and for Variable Name put "Path", for Variable Value put "%PATH%;C:\Python27" then click “Ok” and “ok” again.

Windows XP: Everything is the same except you need to right click My Computer in the start menu and click properties. After this click "Environment Variables" and continue using the instructions above.

Mac: Open terminal and type
Code:
cd ~/
edit .bash_script
Now find $PATH, and add ":/usr/local/bin/python" at the end of the line. If$PATH doesn’t exist, go to bottom of the file and add
Code:
PATH=\$PATH:/usr/local/bin/python
export PATH
Now Save and type
Code:
. .bash_profile
STEP 4: Exporting and Editing .artwork files
Windows: Run Command Prompt as Administrator and enter
Code:
chdir C:\Python27
Mac: Open terminal and enter
Code:
cd /usr/local/bin/python
NOW BEFORE DOING ANYTHING WITH THE .artwork FILE, CREATE A BACKUP ON iDevice AND COMPUTER

Windows & Mac: enter the following command but read the detail below first.
Code:
python iOS-artwork.py export -a \path\to\artwork_file.artwork -d \path\to\export_directory\
"\path\to\artwork_file.artwork" means write the directory or place where you have the .artwork file saved and the "artwork_file.artwork" means write the name of the .artwork file (e.g. "C:\artwork\[email protected]").

"\path\to\export_directory\" means enter the path of the place where you want the extracted .png files to go (e.g. "C:\artwork\pngs\" )

Remember, the edited .png files need to have the same dimensions and size as the originals to work properly.

STEP 5: Importing and Testing
Windows: Open Command Prompt as Administrator and enter the command
Code:
chdir C:\Python27
Mac: Open terminal and enter:
Code:
cd /usr/local/bin/python
Windows & Mac: enter command but read details below first.
Code:
python iOS-artwork.py create -a \path\to\original_artwork_file.artwork -d \path\to\import_directory\ -c created_artwork_file.artwork

"\path\to\original_artwork_file.artwork" means path to the original .artwork file (e.g. C:\artwork\[email protected]).

"\path\to\import_directory\" is the path to the place where you have all the .pngs that will be created into the new .artwork file (meaning your edited ones and the other .png files that you didn't edit)... (e.g. C:\artwork\editedPNG\ ).

"created_artwork_file.artwork" means make a name for this new .artwork file you are creating (hint make it something like Shared2@2x and then edit the name after the file is created.

The new file will be in your Python Installation directory (C:\Python27 for Windows /usr/local/bin/python for Mac).

STEP 6: Finishing Up
Now you are done, just place the new .artwork file into /System/Library/Frameworks/Ulkit.framework/ (replacing the original). BTW keep the original .artwork file in that directory too (name it ___OLD.artwork), in case you can’t get into your phone. Keep both original and edited .artwork files on your PC too.

Thanks for reading, hope this helped you. I am not responsible for any problems that arise due editing your .ARTWORK files and EDIT THESE FILES AT YOUR OWN RISK. Please leave suggestions, questions and if i made a mistake, point out errors. Thanks,

Good Luck :D

Stock iOS 6.1.2 .artwork files:

AssistantMic@2x
Shared@2x
Shared@2x~iphone
GameKit@2x
GameKit@2x~iphone

Stock iOS 5.1.1 .artwork files:

AssistantMic (iPhone 4S Only)
Shared@2x
Shared@2x~iphone
Shared
Shared~iphone

Stock iOS 5.0.1 .artwork files:

AssistantMic (iPhone 4S Only)
Shared@2x
Shared@2x~iphone
Shared
Shared~iphone
Keyboard-Emoji@2x
Keyboard-Emoji

Special Thanks to:

Dave Peck (for Extractor and support), elementalgodz11 (for AssistantMic.artwork fix and other contributions), Christoph Gohlke (for Python extension packages), Jato_BZ (for AssistantMic.artwork contributions, Shared@2x~ipad, other contributions AND for being a motivation), MilkyTech (for modded .artwork files and idea to upload stock .artwork files), Capp (for all those .artwork files, bearing with my impatience and putting in time to help out)

2. ## The Following 43 Users Say Thank You to CrAcKzZZ For This Useful Post:

Alfroggy (12-27-2012), Bacardi85 (02-22-2014), Bellcross (02-26-2013), bjbinc (07-06-2012), bk_763 (02-12-2013), BoubakAy (03-02-2013), chevymusclecar (05-25-2014), cukhiem (06-18-2013), Dacal (03-29-2013), Daniel0592 (03-10-2013), dsg (06-07-2013), elementalgodz11 (02-29-2012), EmmaJhonsson (04-13-2013), EricB78 (04-23-2013), FringeMän (04-09-2012), GPowere36 (02-28-2013), GUNNY29 (05-25-2012), iskariotA (08-30-2012), izzi (03-18-2014), Jahooba (05-28-2012), Jato_BZ (08-12-2012), jayjOka (08-17-2012), King_O_Hill (04-23-2013), kristatos (05-04-2014), MastahRiz (06-04-2012), MasterCAPS (06-22-2012), MilkyTech (02-18-2012), Newbee123 (02-06-2012), nmushkin (03-16-2013), omfg59o (08-09-2013), Phatmartino (06-09-2012), phuocpeter19 (06-16-2013), pioneer88 (05-10-2014), rasputin007 (02-12-2012), redtide (01-30-2013), siemprelisto (04-22-2013), Sk37cH (02-10-2013), Smitbeat (09-13-2013), SpaceTime97 (03-07-2012), stratnik (01-05-2014), TCcentex (09-04-2013), ulysseleviet (03-01-2013), Zomdark (09-04-2013)

3. Thank you very much for the tutorial, CrAcKzzZ.
When I run this command:

CPython27>python iOS-artwork.py export -a \path\to\Cartwork\[email protected] -d \path\to\Cnewartwork

I got this error:

python: can't open file 'iOS-artwork.py': [Errno 2] No such file or directory

I know that the file "iOS-artwork.py" is not in Python27 folder.

My question is that how can I get iOS-artwork.py?
Thanks again for great tutorial.

4. Go to this link https://github.com/davepeck/iphone-t...er/iOS-artwork and click "Downloads" and download as zip, open the folder inside and extract components to your Python Installation folder. I guess missed that part in the tutorial :P

5. ## The Following 3 Users Say Thank You to CrAcKzZZ For This Useful Post:

EricB78 (04-23-2013), Newbee123 (02-07-2012), Sk37cH (02-10-2013)

6. Originally Posted by CrAcKzZZ

Thank you, CrAcKzZZ. I'll try again tonight.

7. ## The Following User Says Thank You to Newbee123 For This Useful Post:

CrAcKzZZ (02-07-2012)

8. No problem man, i like to help out as much as i can . Btw there may an official tutorial coming out for this extractor which would be cool :P Also i think i need to work on the mac instructions, dont know much about how to work with Mac Environment Variables. Any idea what your gonna do after you extract them? i put together a clean Black version of the original UI, found no problems importing so far :P

9. ## The Following 2 Users Say Thank You to CrAcKzZZ For This Useful Post:

Newbee123 (02-07-2012), Sk37cH (02-10-2013)

10. Yeahhhh, I got it. Unpack and repack without any problem.
Now, I can mod my i4s without using winterboard.
Million thankssssssss, CrAcKzZZ. You know what, it took me almost a month just try to change the color signal bar. With your help, now, I got it. I'm really appreciate that Bro.

11. I followed this, but found that the PIL (Python Imaging Libraries) would not install as it could not find Python on my Windows OS.
The reason was that I installed the Python-64bit version on my Windows7-64, but the PIL are 32-bit only.
So uninstalled Python-64 and installed Python-32bit, now the PIL would install.
Now it works perfectly fine.
Thanks

12. No problem guys, im glad i could help out . Also im starting to dual boot my Win 7 and Mac OS X Lion and ill try to update the amc instructions. @Newbie123 LOL after i extracted the file i used Photoshop and edited was mad sooo much easier :P

13. ## The Following User Says Thank You to CrAcKzZZ For This Useful Post:

Sk37cH (02-10-2013)

14. yea no problem stahlpaz, tell me if you need anything else

15. ## The Following User Says Thank You to CrAcKzZZ For This Useful Post:

Sk37cH (02-10-2013)

16. It would be awesome if someone really smart would compile a gui for this :-)
Still I am going to give this a shot today [fingers crossed]

17. Sick!
Oh HELL Yeah!! that worked beautifully. iOS 5.0.1
Finally able to customize my statusbar icons

Thanks a million to CrAcKzZZ
Thanks to DavePeck
Thanks to the Python Software Foundation

18. ## The Following 2 Users Say Thank You to MilkyTech For This Useful Post:

Alfroggy (12-27-2012), CrAcKzZZ (02-26-2012)

19. Congratz took me sometime to pull up all this info so im glad this helping other

Happy Modding,
CrAcKzZZ

20. ## The Following 2 Users Say Thank You to CrAcKzZZ For This Useful Post:

Alfroggy (12-27-2012), Sk37cH (02-10-2013)

21. can some one help please having bother

CUsers\chdir cPython27

cPython27>export-a cart\UIKit.framework\Shared@2x~iphone.artwork -d cartwo
rk\pngs
'export-a' is not recognized as an internal or external command,
operable program or batch file.

cPython27>Python iOS -artwork.py export-a cart\UIKit.framework\Shared@2x~iph
one.artwork -d cartwork\pngs
Python: can't open file 'iOS': [Errno 2] No such file or directory

cPython27>Shared@2x~iphone.artwork export-a cart\UIKit.framework\Shared@2x~i
phone.artwork -d cartwork\pngs
'Shared@2x~iphone.artwork' is not recognized as an internal or external command,

operable program or batch file.

cPython27>Shared@2x export-a cart\UIKit.framework\Shared@2x~iphone.artwork -
d cartwork\pngs
'Shared@2x' is not recognized as an internal or external command,
operable program or batch file.

cPython27>

22. ## The Following User Says Thank You to ProfessorJack For This Useful Post:

jayjOka (08-17-2012)

Code:
code tags
The tutorial is really straight forward. If you follow it word for word you should be fine. I was able to do it and I am definitely a noob with command line.
if you install Python 2.7.2, by default it will be on the root of your c drive. make sure it is the 32 bit version, the first one on the python download page: Python 2.7.2 Windows Installer (Windows binary -- does not include source). then install the PIL Python Imaging Library 1.1.7 for Python 2.7 (Windows only). Then dowload DavePecks iPhone tidbits and copy the contents of the iOS-artwork folder to the python installation folder. Then create a folder for your extracted artwork (i put mine inside the python27 folder and called it "extract@2x" since the file you want to extract is [email protected]k. the other .artwork files are kinda useless). then I like to place the original .artwork file to be extracted inside a folder called "orig" inside the Python27 folder also. Then you are ready to go. open the Start menu in windows and then Run. if you don't see Run, then you need to go to the start menu properties and customize and put a check next to Run. when you get the Run window open, type cmd to bring up the windows command prompt window. then start your command line instructions. get into the python directory
Code:
chdir c:\Python27
. If you set up your folders like I just described, your next command should look like this (make sure all of your spaces are in the proper place):

Code:
c:\Python27>python iOS-artwork.py export -a \Python27\orig\[email protected]
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
-d \Python27\extract@2x
notice the spaces! if you did all of that properly, your extracted images should now be inside the extract@2x folder. edit as necessary, then when you are ready to recompile, your next command should look like this:

Code:
c:\Python27>python iOS-artwork.py create -a \Python27\orig\[email protected]
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
-d \Python27\extract@2x\ -c Shared@2x_mod1.artwork
This will compile and place the new Shared@2x_mod1.artwork file inside the python installation folder. You will obviously need to rename it to [email protected]k after you transfer it back to the UIKit.framework folder on your phone.

Sorry for basically regurgitating most of crackzzz's tutorial, but sometimes you just need to hammer the point home!

24. ## The Following 4 Users Say Thank You to MilkyTech For This Useful Post:

elementalgodz11 (03-12-2012), gengstapo (07-04-2013), jayjOka (08-17-2012), omfg59o (08-09-2013)

25. Here are a couple of completed mods if anyone wants them:

Orange Statusbar icons plus more
Pink Statusbar icons plus more

Put the pink on your girls phone and she will do things for you that you never imagined possible

unrar and use the READ ME.txt files for instructions on where to copy the files to.

iPhone 4 cdma iOS 5.0.1

26. Originally Posted by MilkyTech
Here are a couple of completed mods if anyone wants them:

Orange Statusbar icons plus more
Pink Statusbar icons plus more

Put the pink on your girls phone and she will do things for you that you never imagined possible

unrar and use the READ ME.txt files for instructions on where to copy the files to.

iPhone 4 cdma iOS 5.0.1
Good to know people are getting the hang of things and good job with the mods ProfessorJack, if you still haven't gotten the hang of things feel free to ask more questions

27. ## The Following User Says Thank You to CrAcKzZZ For This Useful Post:

Sk37cH (02-10-2013)

28. I edited the OP hopefully its more easier to read now, all suggestions are welcome

29. ## The Following User Says Thank You to CrAcKzZZ For This Useful Post:

Sk37cH (02-10-2013)

30. Thank you so much CrAcKzZZ for posting this awesome tutorial. I have read so many guides but found them confusing or hard. I have probably been trying to figure this out for over 8 hours. But with this it took me 30 minutes and bam.

Any idea what I need to modify using an iPhone 4 iOS 5.0.1 though?

I have 4 files - [email protected]k, Shared.artwork, Shared~iphone.artwork, Shared@2x~iphone.artwork

Which ones would I need to modify for everything to apply?

Spoke too soon:

Using a custom UI Revamped Theme.

31. I followed the exact tutorial but whenever i hit enter to execute the extract command all i get is a bunch of stuff telling me what -a and -d and all that stuff means

32. Originally Posted by elementalgodz11
Thank you so much CrAcKzZZ for posting this awesome tutorial. I have read so many guides but found them confusing or hard. I have probably been trying to figure this out for over 8 hours. But with this it took me 30 minutes and bam.

Any idea what I need to modify using an iPhone 4 iOS 5.0.1 though?

I have 4 files - [email protected]k, Shared.artwork, Shared~iphone.artwork, Shared@2x~iphone.artwork

Which ones would I need to modify for everything to apply?

Spoke too soon:
Attachment 569768

Using a custom UI Revamped Theme.
Ok sorry about the late reply I posted my reply couple days ago but it's not here?? Anyway, What happened here is that you either resized the image when modding it or you saved the image with the wrong name. My suggestion is that you find the original (stock) image named GradientFill@2x and see what's different between your edited and the stock image and try to fix the image from there. Good luck, hope all goes well

Originally Posted by StarKnuckles
I followed the exact tutorial but whenever i hit enter to execute the extract command all i get is a bunch of stuff telling me what -a and -d and all that stuff means
Can you provide a screenshot from iDevice? I would like to know exactly what it says

33. ## The Following User Says Thank You to CrAcKzZZ For This Useful Post:

Sk37cH (02-10-2013)

Posting Permissions
• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts