Hikari开启字符串加密乱码

如题,各位大佬有无类似经验,可否传授与我,感谢在先!

sorry 有一点没描述清楚,使用了张总的hikari,并且指定了-mllvm -enable-strcry参数,完整参数为:-mllvm -enable-bcfobf -mllvm -enable-cffobf -mllvm -enable-indibran -mllvm -enable-strcry -mllvm -enable-funcwra

1 个赞

strcry的问题吧 ,关掉试试

谢张总回复,关掉之后确实没事,但是我需要这个字符加密能力 :joy:

strcry的识别一直不太好做, 可以用个单独的函数取字符串, 然后只对那个函数开启strcry

没用过Swift, 大致C的写法是这个意思:

static char* str="字符串";
static const char* get_string() __attribute((__annotate__(("strcry")))) {
  return str;
}
void 原始业务逻辑(....){
  ....
 const char* 字符串= get_string();
 .....
}

已经明白,谢张总!

是不是swift相关函数里的字符串会,OC的不会?

跟strcry的字符串引用分析算法有关. 这个算法的作用是分析函数引用了哪些类型为字符串的全局变量, 而这比较容易出错, 也没有特别好的解决方法

并不是,相关字符串内容在oc代码中,出现乱码也是,目前的hikari版本不支持Swift的字符串混淆。

拉胯------

1 个赞

你是对的。字数补丁

2 个赞