iOS-砸壳app并导出头文件

AppStore下载的程序都会加壳,这个时候想要拿到程序中的头文件来做分析就需要砸壳,然后才能用classdump来导出头文件。
这里用微信来举例:

  • 1.先定位微信文件位置。
    有很多方法可以定位到微信进程的文件。这里用ps命令来查找(当然你的手机得安装ps工具)。
    Kaitode-iPhone:~ root# ps -e | grep WeChat
     3742 ??         0:11.24 /var/containers/Bundle/Application/5C6E85D3-691F-4C75-A563-4EB426FB60B0/WeChat.app/WeChat
     4113 ttys000    0:00.01 grep WeChat
    
  • 2.使用dumpdecrypted砸壳WeChat
    • dumpdecrypted可以Mac上使用git clone https://github.com/stefanesser/dumpdecrypted.git命令直接下载然后make就会生成dumpdecrypted.dylib文件。
    • 拷贝dumpdecrypted文件到手机上。
      Kaito:dumpdecrypted Kaito$ scp dumpdecrypted.dylib root@192.168.43.162:/tmp
      
    • 获取WeChat沙盒路径。
      这里用到了Cycript工具,先在Cydia上搜索Cycript进行安装。
      Kaitode-iPhone:/tmp root# cycript -p WeChat
      cy# dir = NSHomeDirectory()
      @"/var/mobile/Containers/Data/Application/7BCD8E9F-0783-4668-85C5-243DFCFF6998"
      cy# 
      
    • 进入沙盒Documents文件夹。
      Kaitode-iPhone:/tmp root# cd /var/mobile/Containers/Data/Application/7BCD8E9F-0783-4668-85C5-243DFCFF6998/Documents
      
    • 拷贝dumpdecrypted.dylib到Documents文件夹下。
      cp /tmp/dumpdecrypted.dylib .
      
    • 砸壳(ios9.3.2以上版本先执行su mobile 命令否则会失败报错:kill 9)
      DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/5C6E85D3-691F-4C75-A563-4EB426FB60B0/WeChat.app/WeChat
      
  • 4把砸壳后的WeChat.decrypted拷贝到Mac上
    scp  WeChat.decrypted Kaito@192.168.43.68:/tmp
    
  • 5导出头文件
    这里用到了classdump工具可以将Mach-O文件中的Objective-C运行时的声明的信息导出,即编写OC代码时的 .h文件。安装和详细信息查看可以去官网http://stevenygard.com/projects/class-dump/
    class-dump -s -S -H WeChat.decrypted -o WCHeaders
    

这样在WCHeaders文件下就会有导出的微信头文件了。

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

推荐阅读更多精彩内容

  • 逆向工具集的安装和使用 iOS 逆向工程的工具分类 检查工具如:Reveal(界面分析工具)、tcpdump(抓包...
    Yochi阅读 5,858评论 1 5
  • 文章砸壳使用到了ssh连接手机,Cycript注入进程查看应用的一些路劲,以及越狱的手机,所以在开始对应用进行砸壳...
    James_Gong阅读 6,593评论 0 3
  • 我们需要用到的工作有 dumpdecrypted-github class-dump-github class-d...
    wdsh阅读 2,795评论 0 0
  • 砸壳 class-dump 搭建越狱开发环境 Theos 配置越狱开发调试的 iOS 设备 Theos 环境 动态...
    ampire_dan阅读 5,591评论 0 7
  • one:“如果和我在一起,你会变得如此的不幸,那我选择放手,给你幸福” two:“就算我们是两个世界的人,我也不会...
    cute小小的我阅读 306评论 0 0