Page 40 of 50 FirstFirst ... 303839404142 ... LastLast
Results 781 to 800 of 993

Your favorite Apple, iPhone, iPad, iOS, Jailbreak, and Cydia site.


Thread: iOS .ARTWORK file Extractor (with Tutorial)

  1. #781
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    Quote Originally Posted by Deadbass View Post
    I think someone may have asked this already.
    But when I type in "CPython34>python iOS-artwork.py export -a \CPython34\[email protected]" I ended up getting a Syntax error.

    This will sound stupid but what's a syntax error?
    Are u using Python 3.4.X? This tutorial is aimed at 2.7.X. I have no idea if it is compatible on 3X Python.

    Are u on Mac OSX or Windows?

    Best to post a screenshot of the terminal/CMD window if you can.
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  2. The Following User Says Thank You to Jato_BZ For This Useful Post:

    dsg (07-17-2014)

  3. #782
    Quote Originally Posted by Deadbass View Post
    I think someone may have asked this already.
    But when I type in "CPython34>python iOS-artwork.py export -a \CPython34\[email protected]" I ended up getting a Syntax error.

    This will sound stupid but what's a syntax error?
    Syntax error

    @Jato I'd say he's on windows, going by the backslash in the commands
    Last edited by dsg; 07-17-2014 at 04:39 PM.
    privacy isn't about having something to hide

    look here all grammar police, indulge me.

  4. The Following User Says Thank You to dsg For This Useful Post:

    vXBaKeRXv (07-17-2014)

  5. #783
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    True, I missed that...thanks
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  6. The Following User Says Thank You to Jato_BZ For This Useful Post:

    dsg (07-17-2014)

  7. #784
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    I posted a few days ago I have been in discussions with Dave Peck to provide some clarity & direction with the emojis.

    I got another email from Dave this morning. He usually takes a few days to reply (if he does at all) as this .artwork stuff is not priority for him at all.

    I fully understand this hence why I have taken it upon myself to maintain the iOS-artwork tool for some of the .artwork files not supported.

    Anyways this was the reply I got which kinda confirms my suspicion that Zlib will need to be built before PIL is. This is probably a set back IMO as installing the necessary software can be tricky for end users as it is.

    On the net it all points to PIL not having sufficient png support hence why Zlib is needed.

    Hi Matt,

    Ah, that makes sense. Yes, I'd imagine that in order for the PIL to actually support PNG compression (or, for that matter, any other kind of common image compression) it will need to be built with zlib support too. Actually your message kind of surprises me: I just assumed that the PIL would be built with zlib by default because image compression is so so common!

    In any case, it sounds like maybe you're on Windows? I've got to believe that the default PIL installer comes with zlib. Is that not the case? Hrm... that I dunno if I can help you with.

    Cheers,
    Dave

    I'm going to go back to Dave with a query around the current .artwork data & is the png structure on the .artwork export handled by PIL. At a guess I would say yes, the .artwork byte data is read into PIL & outputted as a standard png file which includes the iHDR, iDAT & iEND sections. These also exist in the emoji compressed pngs so it's about deflating the image byte data which is where Zlib is necessary but PIL to handle the png structuring on export.
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  8. The Following 5 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-17-2014), King_O_Hill (07-17-2014), Krima (07-17-2014), NewdestinyX (07-17-2014), vXBaKeRXv (07-17-2014)

  9. #785
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    Well ill be damned! I worked out how to decrypt the 3rd set of emojis in the emoji .ttf file!

    I had hex edited out the first compressed image as I thought, turns out I was missing one "crucial" starting byte "89".

    Once I added this to the start of the png data I noticed that the image then appeared as a black png in my comp like when we SSH out pngs that doesn't apply or remove the pincrush/png crush to the pngs so they are black in our computer.

    I quickly SSH'ed the test compressed png back into my iDevice then dragged it to my desktop via iFunbox...

    The result? The iPad Retina Keypad Emoji "Hash" key as per below!

    ImageUploadedByModMyi1405688333.386695.jpg

    Not sure i want to manually hex edit every png but at least it's a step in the right direction!

    I'd just finished sending off Dave a huge email too!

    Boh!
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  10. The Following 5 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-18-2014), King_O_Hill (07-18-2014), menard_00 (07-18-2014), thazsar (07-18-2014), vXBaKeRXv (07-18-2014)

  11. #786
    Huge jump there bro!

    👍👊

    Check out WW2 for iOS 8 - Widget-Weather 2.0

  12. The Following 2 Users Say Thank You to King_O_Hill For This Useful Post:

    dsg (07-18-2014), Jato_BZ (07-18-2014)

  13. #787
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    Quote Originally Posted by King_O_Hill View Post
    Huge jump there bro!

    👍👊
    Thanks dude! Getting there! Now that I know what I'm dealing with its just the tool that has to be built!

    No ETA either!

    ><
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  14. The Following 2 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-18-2014), King_O_Hill (07-18-2014)

  15. #788
    Default iOS .ARTWORK file Extractor (with Tutorial)
    Quote Originally Posted by Jato_BZ View Post
    Not sure i want to manually hex edit every png...
    another perfect job for a script…
    Here to help if I can. If I can't I know someone who can!

  16. #789
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    Quote Originally Posted by NewdestinyX View Post
    another perfect job for a script…
    Of course. Are u going to write it?

    Anyways...

    The 3 sets of emoji from a "[email protected]" file

    Smallest = Text Input emojis (iPhone)
    Medium = Keypad emojis (iPhone)
    Largest = Keypad emojis (iPad)

    ImageUploadedByModMyi1405694071.034796.jpg
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  17. The Following 3 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-18-2014), King_O_Hill (07-18-2014), vXBaKeRXv (07-18-2014)

  18. #790
    Quote Originally Posted by Jato_BZ View Post
    Of course. Are u going to write it?
    My point was only that adding a single starting block 89 to all files is a 1 line script. Unless I misunderstood what you discovered. And what you'd need to do, Jato. You're way deeper into this that I am, bro. But the way you described it - it sounded like a very simple script.. But again I may not know the larger picture..
    Here to help if I can. If I can't I know someone who can!

  19. #791
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    Quote Originally Posted by NewdestinyX View Post
    My point was only that adding a single starting block 89 to all files is a 1 line script. Unless I misunderstood what you discovered. And what you'd need to do, Jato. You're way deeper into this that I am, bro. But the way you described it - it sounded like a very simple script.. But again I may not know the larger picture..
    No there is a lot A LOT more to it than that one byte.

    First of all the 3rd set of 846 emojis are structured differently. My thoughts are for ease of testing & file management is to hex edit off this last set as one chunk of byte data. Possibly before the 3rd ToC (Table of Contents) to the png image offsets.

    That means I won't be facing issues with the prior two sets of .artwork based emojis.

    But you still need to write a script that iterates over every block of that png data. YES there is a tag/pointer before each png so that is what ill be looking to trigger the script to firstly dump the data as I have been png by png. They will still be encrypted but my thoughts IS to dump out the 846 png images instead of me doing it manually.

    The encryption still needs to be decrypted so from what I've read up & what dsg has thrown my way there is two ways to remove the encryption. Either get the .py script to run "pngcrush" (installed separately) to remove the optimisation applied to them (which maybe easier), OR as I've suggested run zlib support at the time of the png dump for every image. I've read this could take time.

    I'm about to start on reading in the data with Python today.

    Here are the 67 iPad keypad emoji icons ill be sending to ChrisGraphix to port the Ironman emojis as he has done with the other two sets.

    ImageUploadedByModMyi1405744991.278494.jpg

    I've also asked him to "Ironman" the fistbump emojis too. A 2.0 ironman emoji set if I had to call it something - with iPad Keypad Retina support.
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  20. The Following 4 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-19-2014), King_O_Hill (07-19-2014), NewdestinyX (07-19-2014), vXBaKeRXv (07-18-2014)

  21. #792
    Good News!
    Almost there where anyone can edit them!

  22. #793
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    Quote Originally Posted by vXBaKeRXv View Post
    Good News!
    Almost there where anyone can edit them!
    Getting closer, the biggest challenge now is to optimise (compress) the themed emojis (iPad keypad set) as the iOS expects. That in itself also creates another issue, the ToC to the emoji image offsets will need to re-authored depending on the emoji png image supplied. This was easy to keep in check in the 6X .artwork header I re-authored but it doesn't appear to be so easy in the emoji .ttf file. It just isn't the same.
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  23. The Following 3 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-19-2014), NewdestinyX (07-19-2014), vXBaKeRXv (07-19-2014)

  24. #794
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    I had a look tonight at Python stuff but couldn't find the code I'm after to start reading in & dumping a specified range of byte data.

    So weighing up, I can either hunt (possibly forever) for the code OR hex out the png data & create a FINAL emoji zip for the iComm.

    In order to aid things I opened up the Excel S/S just to keep track of everything. Information is good right?
    I decided to rejig the Excel sheet for the 3rd set (png compressed set) of emojis.

    Took a bit of mucking around cos I dont want to be entering to much info. Make the excel formulas do the work for you huh. I wanted the excel sheet to work out all the info with only the Hex Image offset from emoji .ttf file entered.

    I actually managed to work out the hex offsets declared in the ToC before the 3rd set of emoji byte data.

    Check out the pic below.

    ImageUploadedByModMyi1405771083.947081.jpg

    Column F (Hex offset) is the actual Hex offset declared in the emoji .ttf file. Originally I thought this was the offset to the next image in a cumulative sense. It kinda is but what I've managed to figure out is, the difference between the second to the first offset declared is actually the image byte data allocation cluster.

    34E8 = 13544 ( byte range 452 - 13996 & includes the ToC & first emoji image)
    534B = 21323 ( byte range 13996 - 21775)

    You will notice the decimal offsets (of the declared hex offset) are out of sync now, or are they?

    Closer inspection sees in Column H a difference total Ive done for the decimal offsets but a count back essentially.

    21323 - 13544 = 7779 (Col H)

    Column B, Row 3 also shows 7779

    What's with the 7779? What I've managed to decipher IS, the iOS is expecting from Col H emoji image byte data allocation clusters at that size noted. The actual image data includes but disregards the 4 byte "png " pointer at the start of the perceived emoji image byte data allocation cluster & then the PNG signature is declared as per png specs. At the other end of it image allocation cluster is a 4 byte null padding (before the next "png " pointer)

    I've noted the PNG signature in Col C & also the PNG iEND finishing byte in Col D. Between that byte range is the actual image data needed to dump out the encrypted png.

    So now things make a bit more sense! U stare at something long enough the answers to tend to come forth!

    So if I ever get Python up to the task ill need to use the "png " OR "70 6E 67 20" as a trigger to identify "yes this is a valid image we need to dump but start 4 bytes after"

    The same will apply to the iEND hex declared value too!

    Will keep trucking!
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  25. The Following 3 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-19-2014), King_O_Hill (07-19-2014), vXBaKeRXv (07-21-2014)

  26. #795
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    200 iPad Keypad emojis extracted today...1892 emojis in total extracted so far from a maximum 2538!! What a huge file!

    ImageUploadedByModMyi1405854711.526004.jpg
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  27. The Following 5 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-20-2014), King_O_Hill (07-20-2014), menard_00 (07-22-2014), NewdestinyX (07-21-2014), vXBaKeRXv (07-21-2014)

  28. #796
    Quote Originally Posted by Jato_BZ View Post
    I had a look tonight at Python stuff but couldn't find the code I'm after to start reading in & dumping a specified range of byte data.

    So weighing up, I can either hunt (possibly forever) for the code OR hex out the png data & create a FINAL emoji zip for the iComm.

    In order to aid things I opened up the Excel S/S just to keep track of everything. Information is good right?
    I decided to rejig the Excel sheet for the 3rd set (png compressed set) of emojis.

    Took a bit of mucking around cos I dont want to be entering to much info. Make the excel formulas do the work for you huh. I wanted the excel sheet to work out all the info with only the Hex Image offset from emoji .ttf file entered.

    I actually managed to work out the hex offsets declared in the ToC before the 3rd set of emoji byte data.

    Check out the pic below.

    ImageUploadedByModMyi1405771083.947081.jpg

    Column F (Hex offset) is the actual Hex offset declared in the emoji .ttf file. Originally I thought this was the offset to the next image in a cumulative sense. It kinda is but what I've managed to figure out is, the difference between the second to the first offset declared is actually the image byte data allocation cluster.

    34E8 = 13544 ( byte range 452 - 13996 & includes the ToC & first emoji image)
    534B = 21323 ( byte range 13996 - 21775)

    You will notice the decimal offsets (of the declared hex offset) are out of sync now, or are they?

    Closer inspection sees in Column H a difference total Ive done for the decimal offsets but a count back essentially.

    21323 - 13544 = 7779 (Col H)

    Column B, Row 3 also shows 7779

    What's with the 7779? What I've managed to decipher IS, the iOS is expecting from Col H emoji image byte data allocation clusters at that size noted. The actual image data includes but disregards the 4 byte "png " pointer at the start of the perceived emoji image byte data allocation cluster & then the PNG signature is declared as per png specs. At the other end of it image allocation cluster is a 4 byte null padding (before the next "png " pointer)

    I've noted the PNG signature in Col C & also the PNG iEND finishing byte in Col D. Between that byte range is the actual image data needed to dump out the encrypted png.

    So now things make a bit more sense! U stare at something long enough the answers to tend to come forth!

    So if I ever get Python up to the task ill need to use the "png " OR "70 6E 67 20" as a trigger to identify "yes this is a valid image we need to dump but start 4 bytes after"

    The same will apply to the iEND hex declared value too!

    Will keep trucking!
    WOW!!! To much for my brain to consume at once. LOL

  29. #797
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    Quote Originally Posted by vXBaKeRXv View Post
    WOW!!! To much for my brain to consume at once. LOL
    Heh! Yuh it's a bit to get your head around! I pretty much just poke around & then eventually I manage to join the dots.

    I'm working on pulling out the remaining emojis up to 300 extracted ATM. But also searching how to "optimise" the pngs for recompile purposes. Looks like Xcode does this quite easily so ill be looking at "optimising" the new ironman 2.0 emojis Chris is working on.

    If that's successful it does leave one hurdle to overcome...updating the 3rd ToC of hex offsets in the emoji .ttf.

    With the first two sets both the first & second set of ToC hex offsets do not change. But the 3rd set will as its directly proportional to the image being compressed NOT relative to canvas size - 96x96px.

    I've worked out in mind how to do this in code once I'm at that stage = previous bytes written plus new bytes added etc. but for testing purposes ill need to manually update ALL 846 hex offsets...

    Shivers!

    Name:  ImageUploadedByModMyi1405985547.302022.jpg
Views: 131
Size:  2.8 KB
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  30. The Following 2 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-22-2014), King_O_Hill (07-21-2014)

  31. #798
    .artwork assassin Jato_BZ's Avatar
    Join Date
    Jan 2012
    Location
    New Zealand
    Posts
    3,169
    Thanks
    3,315
    Thanked 6,514 Times in 2,146 Posts

    I meant to say, I had a brief conversation with @0xced last nite via Twitter. I've spoke to him a few times altho he keeps it rather brief.

    ImageUploadedByModMyi1405993410.543236.jpg

    ImageUploadedByModMyi1405993421.664247.jpg

    As most of you know, he built the dedicated iOS UI extractor that works via Xcode. Dave Peck also advised the iCommunity moving forward last year that @0xced's Xcode extractor was going to be the best tool to extract out the UI for 7X.

    The reason I reached out to him was dsg pushed a .py script that I think is really going to help with the 3rd set of emojis. It's named ipin.py & specifically deals with iOS optimised pngs! That is pretty much what I am looking for!

    Here is a link to @0xced's Github if u want to take a look at the code. It makes sense most of it.

    https://github.com/0xced/crippng/blob/master/ipin.py

    My thoughts are to hack Dave's .artwork .py script & @0xced's ipin.py script & we might almost have the code to extract/recompile emoji .ttf's as we please!

    @0xced is fine with me using his code as he borrowed it anyway & ill have a word to Dave. As long as there is credits in the script hopefully that will keep all parties happy!

    Interesting to see I was on the $$$ about needing zlib to be incorporated to help extract out the optimised pngs!
    Twitter ID: @Jato_BZ
    .artwork Assassin / Emoji Extractor

  32. The Following 5 Users Say Thank You to Jato_BZ For This Useful Post:

    dsg (07-22-2014), JohnnyBlueJ (07-22-2014), King_O_Hill (07-21-2014), menard_00 (07-22-2014), xmatrex (07-21-2014)

  33. #799
    What's Jailbreak?
    Join Date
    Jul 2014
    Posts
    1
    Thanks
    0
    Thanked 3 Times in 1 Post
    Thumbs up Awesome Tutorial
    Thank you so much for taking the time to make this tutorial. You are awesome.

  34. The Following 3 Users Say Thank You to iUpdateOS For This Useful Post:

    dsg (07-23-2014), Jato_BZ (07-22-2014), menard_00 (07-23-2014)

  35. #800
    I just had to say how awesome this tut was! Not only was it easy, but the follow up that Jato gave was awesome. You are truly a great man and thanks for helping a guy working on his first theme!

  36. The Following 5 Users Say Thank You to JohnnyBlueJ For This Useful Post:

    dsg (07-23-2014), Jato_BZ (07-22-2014), menard_00 (07-23-2014), RKO1195 (07-27-2014), thazsar (07-23-2014)

Page 40 of 50 FirstFirst ... 303839404142 ... LastLast
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •