本文参考大量相关博客,甄选出有用的文章,帮助大家远离陷阱,节省时间。
平台说明
window10 64bit
android studio 3.6.1
环境准备
下载OLLVM4.0源码
编译请阅读文章 记录编译OLLVM 4.0 Windows x64
注意事项:
1、如果系统是x64,选择VS2017编译的朋友注意了,我cmake之后并没有生成 sln项目文件,所以考虑用mingw64编译。
2、采用低版本的mingw64编译,我使用的是 x86_64-5.4.0-release-posix-seh-rt_v5-rev0
,最新的8.1.0版本会产生如下编译错误(char与unsigned char 转换的问题):
In file included from C:\Users\lilin\Desktop\obfuscator-llvm-4.0\tools\lli\lli.cpp:30:
C:/Users/lilin/Desktop/obfuscator-llvm-4.0/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h: In member function 'llvm::Expected<std::vector<char> > llvm::orc::remote::OrcRemoteTargetClient<ChannelT>::readMem(char*, llvm::JITTargetAddress, uint64_t)':
C:/Users/lilin/Desktop/obfuscator-llvm-4.0/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h:696:26: error: could not convert '((llvm::orc::remote::OrcRemoteTargetClient<ChannelT>*)this)->callB<llvm::orc::remote::OrcRemoteTargetRPCAPI::ReadMem>(Src, Size)&#