iOS應用之逆向防護

iOS的逆向步驟一般為:

  • 脫殼可執(zhí)行文件
  • 使用IDE或Hopper反編譯分析代碼邏輯
  • 使用class-dump加logify輸出調用日志
  • 使用lldb動態(tài)調試
  • 使用tweak或iOSOpenDev寫函數(shù)或方法鉤子
  • 打包成deb插件或重簽名ipa

防御措施:

  • mach-o中加入__restrict的section,防止dylib注入
  • 調用ptrace防止動態(tài)調試
  • 字符串使用異或加密防止反編譯被看到,從而跟蹤到關鍵函數(shù)
  • 對類名方法名函數(shù)名加密
  • 使用llvm混淆編譯增加代碼流程復雜度
  • 使用md5文件自檢,防止對二進制文件直接進行修改
  • 對可疑的越獄設備判斷,可查找關鍵文件比如debugserver
  • 退出程序不要使用exit或abort可使用無限alloc等方式
  • xcode配置strip編譯時刪除符號表
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容