iOS逆向的一点总结

一张图

之前在http://www.iosre.com/ 上看到的,我觉得整个学习思路非常清晰:

一些常用的工具

  • 砸壳:越狱市场/clutch/dumpdecryted
    • 加壳:对可执行文件的编码进行改变/加密/压缩,达到保护程序代码的目的。App Store下载的ipa包是会加壳的
    • 脱壳/砸壳:将未加密的可执行文件还原出来
  • 头文件:class-dump/MonkeyDev
    • class-dump:将Mach-O文件的.h导出。对Mach-O文件操作
  • 界面分析:reveal,cycript,lldb+chisel,MachOView
    • cycript:可以调试、修改正在运行的app
    • reveal:没了解过逆向的同学应该也知道,但是看身边的开发,用的人其实并不多,个人觉得利用好这个工具对开发效率提升非常显著,特别是对某些组件或者代码并不熟悉的时候,能快速定位view所在的文件及层级结构
  • 架构分离:lipo
    • 通用二进制文件:同时使用多种架构的二进制文件。导出特定架构的独立的二进制文件
  • 静态分析:hopper,ida
    • 将Mach-O的机器语言反编译成汇编代码、OC伪代码 or Swift伪代码
  • 动态调试:lldb,debugserver
    • 对运行中的app进行调试,设置断点、控制流程等
  • 插件开发:Theos-tweak(越狱机直接打包/发布插件即可,非越狱机产出dylib,注入动态库/重签名、打包发布)
    • Theos:越狱开发工具包
  • 重签名:ldid,GUI-iOS App Signer(非越狱机需要)
    • 涉及签名机制:可执行文件一旦破坏,如果需要重新安装就要重签名
  • 动态库注入:insert_dylib(非越狱机需要)
    • theos开发插件时,需要tweak依赖的动态库进行注入,动态库也要重签名
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值