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.

如何安装homebrew请参考这个链接:https://brew.sh/

如果不想跳转上面的链接,直接在终端中执行下面的安装代码即可:

/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

Xcode6.3 archive Crash

今天升级了一下xcode结果在执行archive的时候 竟然崩溃了,刚开始还以为是项目问题,于是进行各种折腾。但是最终还是继续崩溃,当时就震惊了。于是上网搜索了一下发现这个问题是普遍现象,解决方法就是关闭Source control,执行:xcode -> preferences->source control,将前面的勾选去掉。然后就ok了。

QQ20150414-1@2x

 Link:https://stackoverflow.com/questions/29548538/xcode-6-3-crash-while-archiving-a-project/29556100#29556100?newreg=d6f618c4506a48d5945291f77a67c5ba

Continue Reading

Mac IDA Pro 插件编写指南 v1.0

Windows版的插件编写可以参考的文档比较多,并且也有专门的向导可以来做这件事情,相对来说比较简单。但是针对Mac下的插件编写虽然也有一些参考文档但是都比较老旧。有参考价值但是意义不大,形同鸡肋。Windows下的插件编写可以参考下面两篇文章中的向导:IDA Pro Plugin wizard for vs2013 以及 Ida Plugin Wizard For VS2010

现在开始正题,测试环境为:

Mac OS 10.9.4

Xcode 5.1.1

IDA Pro For Mac 6.5+sdk65

如果环境不一样可能存在些许的差异,下面开始说插件的创建方法。

  1. 运行Xcode选择新建项目,从OSX中选的Framework & Library类,然后选择STL C++ Library(注意不要选择C/C++ Library,选择该项会在编译的时候出现非常多的诡异的错误,即使能够解决也相当的麻烦。)

1

Continue Reading

深入解析Xcode无证书编译以及真机调试

从标题就可以看出文章的主要内容了,一个是无证书编译,另外一个则是真机调试。网上关于此类文章很多,但是基本都是抄来抄去的,也没一个详细的说明具体这么做的原因。并且配置的步骤也基本一致,没什么太大的区别。

对于第一部分来说,与网上的内容大体一致,也没什么奇怪的东西。简单的说就是通过修改xcode的配置文件来实现无证书即可编译.app文件。先说第一部分内容,步骤如下:
1. 执行Command+Q来彻底关系Xcode,修改/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
/SDKs/iPhoneOS7.1.sdk/SDKSettings.plist
将以下两个字段修改为NO:

<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>
<key>ENTITLEMENTS_REQUIRED</key>
<string>YES</string>

1

Continue Reading