- 浏览: 83776 次
- 性别:
- 来自: 珠海
-
文章分类
最新评论
-
kennyluo:
网页上发布的代码上缺少了"//",注意&q ...
apply a Texture Image to a Cube -
kyng:
图片放到目录下。。。修改对应名称 。。怎么还出错!!!
Ex ...
apply a Texture Image to a Cube
iOS 开发过程中,在code和测试阶段结束后,你需要用xcode将程序打包成.ipa文件,然后上传到app store进行审批。在xcode将app打包成.ipa文件过程中,xcode会将文件压缩。我们知道这个打包过程简单来说就是一个压缩过程,如果你将ipa文件的名字改为.zip,然后再解压缩,你就可以看到ipa中包含的文件了。下面以我写的EZ Chapel Hill Transit 为例演示如何从ipa中提取图片。
Demo of un-zip ipa file
如上图所示,将ipa文件改名为.zip再解压后,可以看到一个名为EZ Chapel Hill Transit.ipa的文件夹,进入文件夹之后,可以看到一个叫Payload的文件夹,进入文件夹后,可以看到一个叫EZ Chapel Hill Transit.app的文件,这就是在iOS上可执行的app了,而要看app里的内容,可以右键该app,在菜单里选中Show Package Contents,进入后,就能看到app中包含的文件了。
Show Package Contents
但是,细细一看,就会发现app中包含的图片文件,虽然可以看到如”xxx.png”的图片,但是却不能打开浏览。
Package Contents: cannot open image files
这是因为在xcode打包ipa过程中,将图片使用pngcrush程序优化过了,具体的技术细节可以参看Apple的官方技术文档(英文)和Pngcrush的官方网站(英文)。那要如何将这些被优化过的图片“反优化”成可以浏览的图片文件呢?Apple的技术文档中给了相应的方法:
In iPhone SDK 3.2 and later, the pngcrush tool supports a command line option, -revert-iphone-optimizations, that undoes the optimizations done during the Xcode build process. So, to view an optimized PNG file, you should first undo the optimization and then open it with Preview.
方法就是,如果你使用的iOS SDK版本在3.2之后,在terminal里执行以下命令:
$ /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush\ -revert-iphone-optimizations -q Local.png Local-standard.png
当然,你也可以写一个script或者将script封装成一个Mac OS app来简化工作。不过,Github上已经有别人写好的,你只需要下载下来使用即可。 以上便是如何从封装好的ipa文件中提取图片文件的方法。
批量还原png的脚本如下,把以下代码复制,保存为“ruby uncrush.rb”文件,放置你的目标文件夹中,并运行,它会创建一个"uncrushed"文件夹,还原的png将放置在这里。
files = Dir.glob("*.png") puts "Creating directory: uncrushed" if File.directory?("uncrushed") puts "Directory already exists... delete and proceed? (y/n)" input = gets.strip if input == "y" deletefiles = Dir.glob("uncrushed/*.png") deletefiles.each do |f| File.delete(f) end Dir.delete("uncrushed") else abort end else end Dir.mkdir("uncrushed") files.each do |f| puts "Found file: #{f}... uncrushing it because we street!" `/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush -revert-iphone-optimizations -q #{f} uncrushed/#{f}` puts "Creating new file: #{f}" end
发表评论
-
FastReport问题整理
2012-06-09 19:58 3322部分来自网上,部分 ... -
关于C# WinForm FastReport Studio的使用方法:
2012-06-09 19:56 2405using System; using System. ... -
FastReport studio 动态加载数据集 (zhuan)
2012-06-09 19:56 1349测试使用的FastReport S ... -
[转载]了解IL反编译工具Ildasm.exe
2012-05-29 22:06 0Ildasm.exe 的使用方法 示例: 在应用 ... -
PHP缓存技术:memcache函数详解之一
2012-02-14 04:59 1007Memcache函数库是在PECL( ... -
PHP缓存技术:memcache函数详解之二
2012-02-14 04:56 1330memcache::debug bool memcac ... -
PHP企业级应用之常见缓存技术篇
2012-02-14 04:50 1252php的缓冲器: 有eaccelerator, apc ... -
php缓存技术详解
2012-02-14 04:48 945一、缓存技术: 有些信息比方经常不变的,但是还是 ... -
PHP企业级应用之常见缓存技术篇
2012-02-14 04:47 867别每天OO,这个配置怎么改,这段代码哪错了,没劲,好的程 ... -
FreeFileSync 文件比较同步系统
2012-02-04 00:06 1260http://sourceforge.net/proj ... -
[图文]Openfiler应用篇(五)Accounts之AD认证
2012-02-03 20:16 1274一、Win2003服务器域控制器准备 首先 ... -
[图文]Openfiler应用篇(四) FTP和Quota
2012-02-03 20:14 2303本篇我们讨论openfiler FTP ... -
[图文]Openfiler应用篇(三) Accounts
2012-02-03 20:12 981openfiler帐户(Accounts)设置,是openfi ... -
[图文]Openfiler应用篇(二) SMB/CIFS server
2012-02-03 20:12 1366一、建立share-1逻辑卷 本篇我们讨论openfile ... -
[图文]Openfiler应用篇(一)iSCSI
2012-02-03 20:11 1338本文主要讲解Openfile iSCSI 设置和应用,首 ... -
手机产品交互设计样式
2012-01-28 15:51 864很多人都说,手机产品交互限制因素很多,过小的屏幕分辨率, ... -
Domain Locking SWFs
2011-08-12 14:05 839By domain locking (or site lock ... -
CentOS系统下如何打开端口
2011-07-21 10:48 1153在CentOS系统使用中,我们会遇到很多的问题。例如CentO ... -
基于角色管理的系统访问控制(2)
2010-02-21 11:24 1158方案设计 3.1. 安全保护 ... -
基于角色管理的系统访问控制(1)
2010-02-21 11:24 1065安全管理系统核心思想是在基于角色控制思想的基础上提取改进而来的 ...
相关推荐
总的来说,要从IPA文件中提取并解码PNG图片,需要熟悉Java的文件操作、压缩包处理、图像解码等相关知识。这个过程涉及到了多个技术层面,通过合理利用Java提供的API和第三方库,我们可以实现跨平台的图像处理,使得...
这个源代码是用于从IPA文件中提取并还原PNG图片的工具。 【描述】中的知识点: 1. IPA格式:IPA是苹果公司为iOS设备应用设计的一种打包格式,用于存储应用的二进制文件、资源文件、证书和元数据等。用户通常通过...
4. **解压与提取图片**:一旦IPA文件被加载,"Extract.app"会识别并解压Payload目录下的.app文件,接着提取所有包含的PNG图片。这个过程可能需要一些时间,取决于应用的大小和图片数量。 5. **查看和导出图片**:...
1. **提取文件**:首先,我们需要将IPA文件解压,获取到包含`info.plist`的 Payload 文件夹。 2. **读取二进制数据**:使用编程语言(如Java)读取`info.plist`的二进制内容。 3. **解密**:根据Apple的加密算法进行...
将IPA文件的后缀名改为.zip后,可以使用任何支持ZIP格式的解压缩工具来打开它,查看并提取应用包内的资源文件。在这些资源文件中,我们通常会遇到PNG格式的图片。PNG图片以其优秀的压缩比和无损压缩特点被广泛用于...
在Android开发领域,APK是应用的安装包文件,相当于iOS中的IPA。了解如何反编译APK对于开发者、安全研究人员或逆向工程爱好者来说至关重要。反编译可以帮助我们查看和学习应用程序的源代码、资源文件,甚至进行二次...