【iOS逆向工程】脱壳入门

  • 只要APP发布到了AppStore, AppStore都对APP进行了加壳操作
  • 【【iOS逆向工程】脱壳入门】PP助手上下载的APP,都是已经破解过的APP
  • 什么是加壳?
    利用特殊的算法,对可执行文件的编码进行改变(比如压缩、加密),以达到保护程序代码的目的
脱壳
  • 摘掉壳程序,将未加密的可执行文件还原出来
脱壳工具
  • Clutch:https://github.com/KJCracks/Clutch
  • dumpdecrypted:https://github.com/stefanesser/dumpdecrypted/
  • AppCrackr、Crackulous
如何验证可执行文件是否已经脱壳?
  • 使用MachView打开可执行文件,来查看LC_ENCRYPTION_INFO_64 下的 Crypt ID 的类型
  • 使用 otool -l XXX | grep XXXX
wdeiMac:~ www1$ otool -l WeChat | grep crypt cryptoff 16384 cryptsize 55721984 cryptid 1

注:以上所说的 cryptid 对应着下面图中的宏定义
【iOS逆向工程】脱壳入门
文章图片
image

    推荐阅读