xcode 9.2 集成obfuscator-llvm

Obfuscator-LLVM is a project initiated in June 2010 by the information security group of the University of Applied Sciences and Arts Western Switzerland of Yverdon-les-Bains (HEIG-VD).

The aim of this project is to provide an open-source fork of the LLVM compilation suite able to provide increased software security through code obfuscation and tamper-proofing. As we currently mostly work at the Intermediate Representation (IR) level, our tool is compatible with all programming languages (C, C++, Objective-C, Ada and Fortran) and target platforms (x86, x86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, SystemZ, and XCore) currently supported by LLVM.

对于这个插件,网上的安装文章相对来说还是挺多的,例如官方的文档https://github.com/obfuscator-llvm/obfuscator/wiki/Installation,再例如 http://www.exchen.net/ios-hacker-obfuscator-llvm-xcode%E9%9B%86%E6%88%90%E9%85%8D%E7%BD%AE.html。已经写的都非常详细了,按照上面的文章基本都可以配置好了,唯一需要注意的是如果xcode的版本不同,对应的里面的字符串可能不一致,例如:

<string>Apple LLVM 8.0</string> -> <string>Obfuscator 4.0</string>

如果用的是xcode9 那么应该是Apple LLVM 9.0。同时如果在编译之前没有安装cmake,可以通过homebrew来安装还是非常方便的。

brew install cmake

Homebrew installs the stuff you need that Apple didn’t.



/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


clang-4.0: error: cannot specify -o when generating multiple output files
Continue Reading

discuz x3.x 论坛图片不显示 none.gif



Continue Reading

Insecure update error!

For security reasons, you need to code sign your application or sign your updates with a DSA key. See Sparkle’s documentation for more information.


Continue Reading


Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar bytecode editors, Javassist provides two levels of API: source level and bytecode level. If the users use the source-level API, they can edit a class file without knowledge of the specifications of the Java bytecode. The whole API is designed with only the vocabulary of the Java language. You can even specify inserted bytecode in the form of source text; Javassist compiles it on the fly. On the other hand, the bytecode-level API allows the users to directly edit a class file as other editors.


Continue Reading