iOS应用之逆向防护

作者: HJaycee | 来源:发表于2017-07-07 15:57 被阅读0次

iOS的逆向步骤一般为:

  • 脱壳可执行文件
  • 使用IDE或Hopper反编译分析代码逻辑
  • 使用class-dump加logify输出调用日志
  • 使用lldb动态调试
  • 使用tweak或iOSOpenDev写函数或方法钩子
  • 打包成deb插件或重签名ipa

防御措施:

  • mach-o中加入__restrict的section,防止dylib注入
  • 调用ptrace防止动态调试
  • 字符串使用异或加密防止反编译被看到,从而跟踪到关键函数
  • 对类名方法名函数名加密
  • 使用llvm混淆编译增加代码流程复杂度
  • 使用md5文件自检,防止对二进制文件直接进行修改
  • 对可疑的越狱设备判断,可查找关键文件比如debugserver
  • 退出程序不要使用exit或abort可使用无限alloc等方式
  • xcode配置strip编译时删除符号表

相关文章

  • iOS应用之逆向防护

    iOS的逆向步骤一般为: 脱壳可执行文件 使用IDE或Hopper反编译分析代码逻辑 使用class-dump加l...

  • iOS逆向之文件系统结构

    上一篇文章地址:iOS逆向之介绍 上一篇文章中,介绍了iOS逆向做了些什么,需要怎样的防护,逆向的流程,提到的工具...

  • iOS 逆向防护(一)

    1、DYLD_INSERT_LIBRARIES 注意:该方法只支持iOS10以下系统并且只防护动态库插入的形式,在...

  • iOS 逆向防护(二)

    白名单检测 上一篇文章中我们解决了iOS10以下系统的防止动态库注入的方式,这篇文章我们通过白名单检测的方式来防止...

  • 一 iOS 逆向工程概述

    1 什么是iOS逆向工程 2 iOS逆向的目的 3 iOS逆向过程以及方法 一 什么是iOS逆向工程 iOS逆向...

  • iOS逆向学习

    参考文章:iOS逆向开发记录:iOS逆向之手机越狱iOS逆向之介绍iOS逆向之文件系统结构iOS逆向之文件权限及类...

  • iOS逆向工程 - 基本防护

    知道了 HOOK 的原理,接下来我们就可以做一些代码的基本防护了。我们今天基本防护要达到的目的是:自己的 Meth...

  • iOS 逆向 -- 动态调试防护

    ptrace debugserver通过ptrace函数调试app ptrace是系统函数,此函数提供一个进程去监...

  • 2021全新iOS学习方向

    iOS逆向安防学习 随着苹果对iOS系统多年的研发,iOS上的安全防护机制也是越来越多,越来越复杂。这对于刚接触i...

  • iOS逆向之反HOOK的基本防护

    iOS逆向之Method Swizzle iOS逆向之fishHook原理探究 iOS逆向之fishHook怎么通...

网友评论

    本文标题:iOS应用之逆向防护

    本文链接:https://www.haomeiwen.com/subject/jowlhxtx.html