Static_obfuscation

静态混淆,使用宏进行替换字符串,或者解析mach-o中对应的section进行类名和方法名的替换

Posted by kunnan on August 17, 2018

前言

本人最终喜欢的马甲包混淆方案是用Hikari,具体的用法看这里

  • 本文的重点是讲解最原始的方法:字符串替换
    • 宏定义,这里有更详细的讲解iOSobfuscation
      • [ios-class-guard:Simple Objective-C obfuscator for Mach-O executables
        • 此项目是class-dump的fork,过滤系统库符号,生成需要混淆的符号
    • 修改二进制文件对应的section
  • other
    • https://github.com/zhangkn/WHC_ConfuseSoftware

宏定义的例子请看这

二进制文件修改

__TEXT,objc_classname__TEXT,objc_methname 中读取对应的类名和方法名。

静态分析防护 小结

  • 1.对抗hopper和ida的分析可以修改macho文件的某些偏移量, 让hopper和ida无法分析造成闪退
  • 2.对抗class-dump 和工具分析可以方法名类名混淆,混淆方案大致三种
    • 1).编译前用脚本批量做宏定义替换
    • 2).LLVM混淆
    • 逻辑混淆(花指令)
    • 3).对Mach-O__objc_classnamehe __objc_methname

See Also

/Users/devzkn/bin//knpost Static_obfuscation 静态混淆,使用宏进行替换字符串,或者解析mach-o中对应的section进行类名和方法名的替换 -t security
#原来""的参数,需要自己加上""

转载请注明: > Static_obfuscation