[HOWTO] Create custom bundles. (It has pretty pictures!)

Discussion in 'Pwnage and Winpwn Discussions' started by consume1, Apr 15, 2008.

  1. consume1

    consume1 New Member

    Joined:
    Dec 18, 2007
    Messages:
    1,050
    Likes Received:
    6
    Device:
    4G iPod touch
    [HOWTO] Create custom bundles in Pwnage 1.1 (It has pretty pictures!)

    First right click the PwnageTool.
    Second, Click "Show package contents
    When the Folder opens, Navigate to Contents>Resources>InternalPackages

    Please Register or Log in to view images


    Create a new folder and rename it to whatever you want.

    Open the folder and create a folder called "files"

    Please Register or Log in to view images




    Inside here, anything you put that relates to the firmware's filesystem will be added to the firmware. (Ex : Creating files>Applications>chat.app will install the mobile chat application into your firmware. For roms, it would be files>var>mobile>Media>ROMs>GBA,NES...etc. (You have to make these folders inside your bundles))

    Next, you need to actually tell the PwnageTool that you have made your own custom package. To do this, you need to create an Info.plist telling the program what to do. You can do this by taking this "clean" Info.plist and adding the information you need to :


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Commands(Only needed if you need to chmod or set permissions for a specfic file)</key>
    <array/>
    <key>Description</key>
    <string>XXX XXX XXX(What the description will be in the pwnage tool)</string>
    <key>Identifier</key>
    <string>com.XXX.XXX(not really sure what this is for, works even if you don't have one here)</string>
    <key>Name</key>
    <string>XXX(What the bundle will be called inside the pwnage tool)</string>
    <key>Size</key>
    <integer>XXXXX(The bundle size in bytes)</integer>
    <key>SupportedFirmware(Pretty Obvious. This tells the pwnage tool which firmwares can use this bundle)</key>
    <array>
    <string>iPhone1,1_1.1.4_4A102</string>
    <string>iPod1,1_1.1.4_4A102</string>
    </array>
    </dict>
    </plist>

    Now Save that in a text file and rename it to Info.plist. Edit it to your liking to get your desired result. Once it is saved as Info.plist, navigate to your folder you created and drop the Info.plist next to the files folder (not inside). When you have added everything, rename the folder you created to (insert name here).bundle.

    If all works, you should see this when trying to install custom packages in the PwnageTool.

    Please Register or Log in to view images



    If my explanation of the Info.plist wasn't clear, here is an example from my AppPack bundle :
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Commands</key>
    <array/>
    <key>Description</key>
    <string>Applications that are useful!</string>
    <key>Identifier</key>
    <string>com.TIMBO.apple</string>
    <key>Name</key>
    <string>AppPack</string>
    <key>Size</key>
    <integer>18224179</integer>
    <key>SupportedFirmware</key>
    <array>
    <string>iPhone1,1_1.1.4_4A102</string>
    <string>iPod1,1_1.1.4_4A102</string>
    </array>
    </dict>
    </plist>
    1 person likes this.
  2. jimbeam

    jimbeam Active Member

    Joined:
    Nov 19, 2007
    Messages:
    3,694
    Likes Received:
    12
    Device:
    iPhone 3G (Black)
    Looks pretty strait forward. I give it a shot in a few day. Im waiting on a new iphone and i dont feel like screwing with the ipod. About the plists can i just copy one from another bundle and edit it to do what i want and how big of a bundle can you make?
  3. consume1

    consume1 New Member

    Joined:
    Dec 18, 2007
    Messages:
    1,050
    Likes Received:
    6
    Device:
    4G iPod touch
    Yup, that's what I did. I would have put that in the tut but i figured people would get confused.
  4. jimbeam

    jimbeam Active Member

    Joined:
    Nov 19, 2007
    Messages:
    3,694
    Likes Received:
    12
    Device:
    iPhone 3G (Black)
    This is great. It looks alot simpler the the old way. What about symlinks and the space limit?
    With 1.0 i figured out how to get around that. But with this method it could be more complex.
  5. consume1

    consume1 New Member

    Joined:
    Dec 18, 2007
    Messages:
    1,050
    Likes Received:
    6
    Device:
    4G iPod touch
    Well you can always resize the root filesystem partition (by changing the plist in each firmware bundle) but the custom installer package will always read that you have 25mb left. Not sure how to do it in this one. Actually, if you resize the filesystem to 400 and just fake the actual size of your package, it might work. Not sure about symlinks though.
  6. jimbeam

    jimbeam Active Member

    Joined:
    Nov 19, 2007
    Messages:
    3,694
    Likes Received:
    12
    Device:
    iPhone 3G (Black)
    I wounder what would happen if you created the file system with links just like you would in 1.0 and bundled it. Would you have to modify the plist to match it.
  7. chucky3456

    chucky3456 New Member

    Joined:
    Apr 7, 2008
    Messages:
    3
    Likes Received:
    0
    hmm can't seem to get it to recognize the new bundles... here is the code i've got (and i've tried a couple others, they didn't work either...) am i doing something wrong?

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    	<key>Name</key>
    	<string>App Pack 1</string>
    	<key>Identifier</key>
    	<string>com.apptapp.Installer</string>
    	<key>Description</key>
    	<string>Collection of apps like Solitare. Includes GBA and NES roms.</string>
    	<key>SupportedFirmware</key>
    	<array>
    		<string>iPhone1,1_1.1.4_4A102</string>
    		<string>iPod1,1_1.1.4_4A102</string>
    	</array>
    	<key>Size</key>
    	<integer>75656396</integer>
    </dict>
    </plist>
  8. Teslanaut

    Teslanaut Well-Known Member

    Joined:
    Sep 16, 2007
    Messages:
    15,588
    Likes Received:
    177
    Device:
    4G iPod touch
    This is gonna take a while to learn

    Please Register or Log in to view images

  9. Samy

    Samy New Member

    Joined:
    Apr 1, 2008
    Messages:
    80
    Likes Received:
    0
    how do you get hands on apps (as opposed to have them installed via installer)?
  10. consume1

    consume1 New Member

    Joined:
    Dec 18, 2007
    Messages:
    1,050
    Likes Received:
    6
    Device:
    4G iPod touch
    Did you try restarting the pwnage tool?
    I just tried it and it worked for me.

    Please Register or Log in to view images

Share This Page