【iOS逆向工程】脱壳入门

  • 只要APP发布到了AppStore, AppStore都对APP进行了加壳操作

  • 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逆向工程】脱壳入门_第1张图片
image

你可能感兴趣的:(【iOS逆向工程】脱壳入门)