您好,登錄后才能下訂單哦!
obfuscator-llvm 是一個開源的代碼混淆編譯器,能夠使編譯出來的文件添加垃圾代碼和各種跳轉流程,給逆向分析者增加難度。
(1) 下載
目前最新版的是4.0的,下載地址是 https://github.com/obfuscator-llvm/obfuscator/tree/llvm-4.0,也可以用 git 下載。
(2) 安裝 cmake
OSX 下沒有 cmake,需要安裝,不然是不能編譯 obfuscator-llvm 的。下載地址是:http://www.cmake.org/download,我下的版本是3.4.3。下載完成之后,進入到解壓之后目錄下,輸入以下命令進行安裝
sudos ./bootstrap && sudo make && sudo make install
(3) 編譯
git clone -b llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.gitmkdir buildcd buildcmake -DCMAKE_BUILD_TYPE=Release ../obfuscator/make -j7
編譯成功之后 clang 在 build 下的 bin 目錄。
(1) 修改 Info.plist
首先復制一個 Obfuscator.xcplugin:
cd /Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/sudo cp -r Clang\ LLVM\ 1.0.xcplugin/ Obfuscator.xcplugincd Obfuscator.xcplugin/Contents/sudo plutil -convert xml1 Info.plistsudo vim Info.plist
將以下鍵值修改一下:
<string>com.apple.compilers.clang</string> -> <string>com.apple.compilers.obfuscator</string><string>Clang LLVM 1.0 Compiler Xcode Plug-in</string> -> <string>Obfuscator Xcode Plug-in</string>
修改完成,執行以下命令:
sudo plutil -convert binary1 Info.plist
(2) 修改 xcspec
執行如下命令:
cd Resources/sudo mv Clang\ LLVM\ 1.0.xcspec Obfuscator.xcspecsudo vim Obfuscator.xcspec
將以下鍵值修改一下:
<key>Description</key><string>Apple LLVM 8.0 compiler</string> -> <string>Obfuscator 4.0 compiler</string><key>ExecPath</key><string>clang</string> -> <string>/path/to/obfuscator_bin/clang</string><key>Identifier</key><string>com.apple.compilers.llvm.clang.1_0</string> -> <string>com.apple.compilers.llvm.obfuscator.4_0</string><key>Name</key><string>Apple LLVM 8.0</string> -> <string>Obfuscator 4.0</string><key>Vendor</key><string>Apple</string> -> <string>HEIG-VD</string><key>Version</key><string>8.0</string> -> <string>4.0</string>
(3) 修改 strings
執行如下命令:
cd English.lproj/sudo mv Apple\ LLVM\ 8.0.strings "Obfuscator 4.0.strings"sudo plutil -convert xml1 Obfuscator\ 4.0.stringssudo vim Obfuscator\ 4.0.strings
將以下鍵值修改一下:
<key>Description</key><string>Apple LLVM 8.0 compiler</string> -> <string>Obfuscator 4.0 compiler</string><key>Name</key><string>Apple LLVM 8.0</string> -> <string>Obfuscator 4.0</string><key>Vendor</key><string>Apple</string> -> <string>HEIG-VD</string><key>Version</key><string>8.0</string> -> <string>4.0</string>
最后執行以下命令:
$ sudo plutil -convert binary1 Obfuscator\ 4.0.strings
(4) 修改 Xcode 的編譯設置
打開 Xcode,選擇一個項目,修改 Build Setting 的 GCC_VERSION 為 Obfuscator 4.0,如圖 12-6 所示。
然后添加 obfuscation flags
混淆之后,用靜態工具分析效果如下圖:
原文地址:https://www.exchen.net/ios-hacker-obfuscator-llvm-xcode%e9%9b%86%e6%88%90%e9%85%8d%e7%bd%ae.html
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。