Maybe declang won't check config.json
tkmru opened this issue · 3 comments
tkmru commented
declangがconfig.jsonを見てくれないようなので、一度確認してもらえると助かります。ビルドが通るものの難読化が行われず、log.txtは空のままです。
バイナリはRelease-Mac-swift5.4-v1.1.1.zipのものを使っています。macOS上でC言語のコードをビルドして動作確認しています。
ビルドするたびに、DECLANG_HOME/.DeClang/log.txt
が生成されるので、パスは通っていそうです。
config.jsonを次に示します。
$ cat config.json
{
"build_seed": "hello, i am seed",
"enable_obfuscation": 1,
"overall_obfuscation": 100,
"flatten": [
{
"name": ".*main.*",
"seed": "aaaaaaa",
"split_level": 10
}
]
}
ビルドに使ったコードを次に示します。
$ cat test.c
# include <stdio.h>
# include <stdlib.h>
int main(int argc, char *argv[]) {
int a = atoi(argv[1]);
int b = 2;
int sum = a + b;
printf("%d", sum);
return 0;
}
ビルドに使ったコマンドを次に示します。SDKROOTを設定していないとリンク時にエラーが出ます。
$ export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"
$ DECLANG_HOME="/Users/tkmru/code/declang_path/" ./clang test.c
log.txtは生成されるものの常に空です。
funa-tk commented
ご連絡、ありがとうございます。
ちなみに "-O2" 等の最適化オプション付きでビルドするとどうなりますでしょうか?
tkmru commented
うおおお、-O2
をつけると動くようになりました。なるほど、最適化オプションをつけないと難読化パスに処理が渡らないんですね!
funa-tk commented
はい。そうなんです。解決してよかったです!
クローズします!