`
mmdev
  • 浏览: 12844659 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

【幻灯片分享】揭开IPA文件的灰沙 -- 通过静态分析工具了解IPA实现 | 友盟 张超 | iOS DevCamp

 
阅读更多

逆向工程技术详解:《揭开IPA文件的灰沙 -- 通过静态分析工具了解IPA实现》 | iOS DevCamp | 7月27日 北京

话题简介:在AppStore中经常会出现各种令人耳目一新的App,他们是如何实现那些效果的?他们又是使用哪些公共组件来完成自己的功能的呢?在本次演讲中将对如何探索那些封藏在IPA文件后面的实现进行简单的分析,将会针对其中的一些工具进行具体的演示和介绍。

讲师简介:张超,资深iOS 专家,iOS创业者。2009年在深圳第一次创业,主要从事iPhone应用的开发,完成了从技术到产品设计以及团队运营管理等全流程角色的转换,积累了丰富的iOS创业经验,熟稔App store的规则及流程,了解开发者的需求,并掌握了创业项目的全程运作能力。目前在国内移动互联网统计分析平台——友盟,担任iOS Team Leader。是创新工场和友盟的早期团队成员。

推荐指数:5星

推荐理由:讲逆向有一点炫技之嫌,而该演讲无论是从Slides的设计到演讲本身,还是从现场和会后大家的反馈,都体现了讲师是有技可炫的。

不足之处:没有安排实际操作的演示,尽管演讲过程中说有,但因为时间原因取消了。

现场评分:4.3


【讲师现场靓照】


【幻灯片在线观看】*:

<iframe src="http://www.slideshare.net/slideshow/embed_code/13828737" width="597" height="486" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen=""></iframe>

备注:* 因为炫姐姐对SlideShare这一平台的偏爱,尽管需要使点小技巧才能上传分享,但是炫姐姐还是坚持选择了这一功能强大却简洁好用的平台。一来对国外这些开发出优秀的工具和平台、造福于互联网和人类的团队表示致敬,二来则是对国内对于这些优秀的工具和平台的限制表示一下立场。读者如果不能正常浏览,那么需要像炫姐姐一样用点小技巧。而对于那些还是不知道炫姐姐在说什么的小白读者,可以移步到这里查询原因。


【幻灯片下载页面】: iOS DevCamp幻灯片下载:逆向工程技术详解:揭开IPA文件的灰沙 -- 通过静态分析工具了解IPA实现 -来自CSDN下载频道(不需要积分,自由下载)


【幻灯片内容纲要】:

  • 1. iOS DevCampProduced by CSDN
  • 2. 揭开IPA的灰纱 通过分析工具了解App实现技巧 友盟 张超 微博:iAladdin 电邮:aladdin@umeng.com
  • 3. 什么是IPA?“ipa后缀的文件是iOS系统的软件包,全称为iPhone application archive.通常情况下,ipa文件都是使用苹果公司的FairPlay DRM技术进行加密保护的。每个IPA文件都是ARM架构的可执行文件以及该应用的资源文件的打包文件,只能安装在iPhone,iPod Touch 或iPad上。该文件可以通过修改后缀名为zip后,进行解压缩,查看其软件包中的内容。 ”
  • 4. IPA的物理结构 iTunesMetadata. xxx.AppiTunesArtwork plist
  • 5. IPA的文件分类
  • 6. 资源文件 [resource]
  • 7. PNG NormalizerUIKit-Artwork-Extractorhttps://github.com/0xced/UIKit-Artwork-ExtractorCrunchhttp://www.pragmaticcode.com/crunch/pngcrush 命令pngcrush -revert-iphone-optimizations -q OptimizedPNG.png RevertedPNG.pngRuby实现https://github.com/swcai/iphone-png-normalizerPython实现http://www.axelbrz.com.ar/?mod=iphone-png-images-normalizerObjective-C实现
  • 8. pngcrush
  • 9. UIKit-Artwork-Extractor
  • 10. Crunch
  • 11. 原理及其他其他语言实现Ruby实现https://github.com/swcai/iphone-png-normalizerPython实现http://www.axelbrz.com.ar/?mod=iphone-png-images-normalizerObjective-C实现原理资料http://iphonedevwiki.net/index.php/CgBI_file_format
  • 12. PVR/PVRTC/PVR.CCZ TexturePacker -- pvr/pvrtc/pvr.ccz http://www.codeandweb.com/texturepacker/ quickpvr -- pvr/pvrtc http://www.limbic.com/quickpvr.html
  • 13. TexturePacker
  • 14. quickpvr
  • 15. App中的数据 运行时产生Bundle内 沙箱内 网络交互
  • 16. 网络数据 [network]
  • 17. Charles
  • 18. Charles原理在网络交互中,通过充当代理的角色,从而获取到所有的请求和返回值,作为中间层来实现抓包的过程。- 模拟器配置- 真机配置
  • 19. HTTP请求抓取
  • 20. HTTPS请求抓取
  • 21. 特殊网络模拟
  • 22. IPA状态 [ipa’s status]
  • 23. 自签名工具
  • 24. IPA的状态
  • 25. 沙箱数据 [sandbox] Artwork iTunesMetadata xxx.app .plist 6A2FCEEC-591E-4B85-B625-26F1AA3B2A4E Documents Library tmp
  • 26. 常用命令catfile
  • 27. 二进制文件 [binary] 静态分析工具 otool nm strings class-dump系列 运行时分析工具 Cycript 逆向分析工具 Hopper IDA Pro
  • 28. otool
  • 29. nm
  • 30. strings
  • 31. Class-dump系列
  • 32. CycriptSSH到iOS系统中安装:a.通过Cydia安装,搜索Cycript安装b.dpkg -i cycript_0.9.450-1_iphoneos-arm.deb使用:a.# cycriptb.# cycript -p processID配合console
  • 33. IDA Pro
  • 34. iOS App
  • 35. Hopper
  • 36. iOS App
  • 37. Mac App
  • 38. 写在最后
  • 39. 参考资料Books-《Binary Hacks》-《IDA Pro 权威指南》-《Hacking and Securing iOSApplications》-《iOS Hacker’s Handbook》
  • 40. 参考资料URL- http://iphone.freecoder.org/classdump_en.html- http://www.cycript.org- http://iphonedevwiki.net/index.php/CgBI_file_format
  • 41. 联系方式Email: aladdin@umeng.comGithub: iAladdinWeibo: iAladdin

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics