iOS: 从ipa提取图片资源文件及从iOS设备提取ipa文件的方法
来源:互联网 发布:药学网络本科 编辑:程序博客网 时间:2024/06/09 17:41
原文地址:http://blog.csdn.net/huanghr_1/article/details/7857211
由于操作比较简单,就不上截图了,简单说一下:
1)从ipa提取图片资源文件。
>> 解压ipa(其实ipa也是一种压缩格式的文件,改名为zip即可解压),解压后,有个Payload目录,里面有个“应用名.app”(其实是个目录);
>> 打开终端命令行,cd 到 ***/***/应用名.app 目录
>> 创建一个ruby脚本(mac可以直接执行ruby脚本),该脚本用来将ipa包内的png文件反优化”成可以浏览的图片文件,命令:vi uncrush.rb
- <span style="font-size:18px;"> 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 </span>
>> 保存并执行脚本:ruby uncrush.rb ,在当前目录的 "uncrushed"文件夹,你可以找到原始的png文件,很酷吧。
2)从iOS设备提取ipa文件
方法一:使用iTunes,备份ipa到本地目录(由于同步规则复杂,我们用第二种,最简单的)
方法二:使用iTools,可以看成一个与Apple帐号无关的iTunes,支持MAC和Windows(据说是QQ二把手创业的作品),连接后可以把已安装的ipa逐个备份到本地,也可以查看应用内的数据库及产生的图片,文档等。同样,对一些需要付费的软件,你可以备份到本地,然后安装到其它越狱的iOS设备。
(完)
=========补充1=========
mac 默认不隐藏文件后缀名及隐藏文件,可以通过一下命名设置为显示,设置完成后需要 Force Quit 【Finder】。
显示Mac隐藏文件的命令:
defaults write com.apple.finder AppleShowAllFiles -bool true
隐藏Mac隐藏文件的命令:
defaults write com.apple.finder AppleShowAllFiles -bool false
=========补充2=========
执行时可能会提示pngcrush 无法找到,不同的电脑Xcode安装目录有所不同,进入 Application -> Xcode -> 右键 Show Package Contents -> 邮件 Get Info,查看所在的绝对路径,替换即可。某些资源文件如果在打包时没有设置decode的话,是不用执行pngcrush的。以下是我的xcode 安装路径
- /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
xcrun -sdk iphoneos -find pngcrush
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
- iOS: 从ipa提取图片资源文件及从iOS设备提取ipa文件的方法
- iOS: 从ipa提取图片资源文件及从iOS设备提取ipa文件的方法
- iOS: 从ipa提取图片资源文件及从iOS设备提取ipa文件的方法
- 从ipa提取图片资源文件
- iOS获取ipa素材、提取ipa资源图片文件
- ios提取ipa安装文件里面的资源图片
- Ipa 资源文件提取
- 如何从ipa提取图片资源
- 怎样从ipa中提取PNG文件
- ios通过ipa快速提取里面的图片资源
- 如何提取ipa中的图片; iphone ios 如何制作越狱ipa安装文件
- Unity3D 从 ipa 中提取游戏资源
- 提取.ipa和.apk文件中的图片资源
- 怎样从ipa中提取PNG文件(iPhoneGeek)
- 提取ipa里面的资源图片
- 提取ipa里面的资源图片
- 提取ipa里面的资源图片
- 提取ipa里面的资源图片
- extern “C”的作用
- alpha透明兼容代码生成
- ubuntu-E:Encountered a section with no Package: header的解决办法
- iOS自定义推送音效
- Java设计模式之外观模式(Facade)
- iOS: 从ipa提取图片资源文件及从iOS设备提取ipa文件的方法
- 一步一步实现一个简单的OS(环境搭建)
- 三种页面跳转技巧
- Win7 64bit系统安装matplotlib
- WIFI DFS测试介绍
- ComponentOne 2016 年产品规划
- 对象序列化插件
- 并发数确定
- 产品设计中框图的使用