Quantcast
Channel: 睿论坛 - 最新话题
Viewing all articles
Browse latest Browse all 5702

APP开启bitcode,生成.xcarchive文件,对.xcarchive文件做混淆加固

$
0
0

@WangBeiCheng wrote:

静态库文件可以用张总的Hikari做加固,但却不知道如何对开启bitcode的app的.xcarchive做混淆加固。

静态库

静态库重新编译bitcode的步骤:

1、拿到libWJNetwork.a中的.o文件:

ar -x libWJNetwork.a

目录下会生成两个文件:

WJNetwork.o
__.SYMDEF SORTED

2、终端输入命令,处理WJNetwork.o文件,生成result.bc文件,就是bitcode文件。

segedit WJNetwork.o -extract “__LLVM” “__bitcode” result.bc

3、使用Hikari处理bitcode文件,生成.o文件:

/path_to/Hikari.xctoolchain/usr/bin/clang -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs -fobjc-arc -c result.bc -mllvm -enable-cffobf -mllvm -enable-bcfobf -o result.o

4、生成.a文件:

rm __.SYMDEF\ SORTED
ar -crs result.a result.o
ranlib result.a

混淆加固完成。

开启bitcode的app

APP开启bitcode,生成.xcarchive文件,对.xcarchive文件做混淆加固。
测试的APP项目名为 TestBitCode

1、把TestBitCode二进制文件中的bitcode分离出来,得到一个.bc文件

segedit TestBitCode -extract “__LLVM” “__bundle” result.bc

2、执行编译混淆

/path_to/Hikari.xctoolchain/usr/bin/clang -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs -fobjc-arc -c result.bc -mllvm -enable-cffobf -mllvm -enable-bcfobf -o result.o

报错:

error: expected top-level entity

xar!<U+0000><U+001C><U+0000><U+0001><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+000B><9A><U+0000>…

^

1 error generated.

对app这样操作,应该是不行。
请问各位大佬,有没有做过类似的对开启bitcode的APP做过类似的加固处理,能指点我一下。
对开启bitcode的APP的.xcarchive文件,应该用怎样的步骤呢?????

Posts: 2

Participants: 2

Read full topic


Viewing all articles
Browse latest Browse all 5702

Trending Articles