iOS逆向:【代码混淆】1、基于编译器混淆静态库(StaticLib)2、字符串加密:使用clang-c接口将源代码转换成抽象语法树,并对抽象语法树进行遍历和分析,分析代码中的字符串,并进行加密处理。

124 篇文章 370 订阅 ¥99.90 ¥299.90
34 篇文章 286 订阅 ¥49.90 ¥99.00
本文介绍了iOS逆向工程中使用LLVM进行代码混淆和字符串加密的方法。通过分析编译过程,特别是使用clang和libclang进行语法分析,以及在编译时替换Xcode编译器以实现混淆。详细阐述了从源代码到混淆后的静态库的步骤,包括预处理、AST转换、LLVM IR生成和静态库混淆。
摘要由CSDN通过智能技术生成

前言

  • 原理:在编译器处理分析生成代码的时候,来 增加一些无用的代码、拆分代码块、使代码扁平化,进而提升静态分析的难度。

  • Chris Lattner

Chris Lattner 生于 1978 年,2005年加入苹果,将苹果使用的 GCC 全面转为 LLVM。2010年开始主导开发 Swift 语言。

  • Xcode的编译器前端 clang
    clang是llvm的一部分;而llvm本身是开源的,基于llvm 进行代码混淆的工具中,本人最终喜欢的马甲包混淆方案是用Hikari,具体的用法看这里

Clang 是 LLVM 的子项目,是 C,C++ 和 Objective-C 编译器

其中的 clang static analyzer 主要是进行语法分析,语义分析和生成中间代码,当然这个过程会对代码进行检查,出错的和需要警告的会标注出来。

lld 是 Clang / LLVM 的内置链接器,clang

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iOS逆向

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值