小谷秃头合集html
简单阐述
下混淆与加固
,具体怎么用仍是看兄弟们怎么作(小谷公司的项目其实已经写成脚本了,关键的也是这几个方法)咱们日常分析代码的时候,用class-dump
会把header文件
生成出来。并且这些类和函数名
,好多都是见名知意
的。markdown
这个时候对分析
你应用的boy(逆向工程师)
太舒服了函数
这个是咱们
demo
里面的函数名
工具
混淆函数名
咱们简单的方法就是
#define
oop
#define ConfuseTest xgsufehdfdakldfgs
#define test sdsdsdsdsjhhfbsgh
复制代码
这样就能够达到
混淆函数名
的目的了post
注:一些分析你应用的逆向工程师
都不是软柿子,都有2把刷子的! 若是看到有混淆的函数名
,他们就会很兴奋
。而后断点,看函数调用栈
!!或者看汇编静态分析
!!加密
建议: 小谷这里有些建议:若是混淆函数名
的话。小谷建议尽可能混淆那些不重要的
!这样逆向工程师分析的时候--就是浪费他的时间
。他们可能会吐血!(先跟逆向工程师说声对不起~)spa
对称加密
吧。咱们能够用这个把本身重要的字符串加密
!小谷用的CCCrypt
这个其实没有啥好说的。
加密解密
呗code
小谷可能也是给个思路。兄弟们也能够给小谷些建议orm
异或加密
Inline内联
static inline NSData * encodeData(NSData *sourceData) __attribute__ ((always_inline));
Inline 内联
是防止咱们调用函数bl
后,逆向工程师能够打断点看函数调用栈和参数
使用Inline内联
后。会把代码直接拷贝到调用的地方
。这样!逆向大佬们就不是那么容易发现了
!
兄得们能够看下
Inlinehook
。不过这篇博客就不讲如何在__TEXT__ 段
改东东了~
小谷这里只推荐一波吧。
原先
混淆比较有名的是obfuscator-llvm
,不过只支持到Xcode8
,如今基本也用不了了
如今用的多的通常是网易网盾
和ZFJObsLib
不够如今大公司的混淆估计都是大佬们本身搞的
咱们能够研究下ZFJObsLib
是怎么作的,本身能够搞得简单点练练手~
小谷如今也没有太多的时间研究混淆和加固
了。最近工做实在是太忙了~
混淆和加固
,小谷感受只有用在项目中才有参考性
!!
但愿有朝一日兄弟们能够写出本身满意的混淆工具
。
但愿这篇博客对兄弟们有些帮助吧。😆