iOS逆向 应用脱壳

什么是壳?

iOS开发者可以到这么一个现象,上传App Store之前应用大小可能为50M,但是审核通过后去下载发现到了70M.说明在上传之后App Store对应用做了修改.这其中就包括给应用加壳.
加壳实际就是利用特殊的算法,对可执行文件的编码进行改变(比如加密),以达到保护程序代码的目的

脱壳

硬脱壳(静态脱壳)
动态脱壳

硬脱壳--->Clutch

工具配置

  • 将版本号去掉并将Clutch文件拷贝到iPhone的/usr/bin目录
  • 如果在iPhone上执行Clutch指令,权限不够,赋予“可执行的权限”


    赋与权限
  • 完成操作

Clutch指令

1.列出已安装的APP

$ Clutch -i
指令图片

2.输入APP序号或者Bundle Id进行脱壳操作:Clutch -d APP序号或BundleId

$ Clutch -d 1
完成脱壳
脱壳后得应用

动态脱壳--->dumpdecrypted

工具配置

  • 下载地址

  • 下载后执行make命令生成动态库


    生成动态库
  • 将dylib文件拷贝到iPhone上(如果是root用户,建议放/var/root目录)

动态脱壳指令

DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可执行文件路径

$ DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/BCB902ED-C406-4E58-ABCF-7CDCD783FFFF/aisiweb.app/aisiweb
脱壳命令
  • 完成脱壳


    脱壳后文件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。