Sllvm是由七少月和Russel共同合作研发的一款安全编译器,全称为Strong-Ollvm,Sllvm的使用非常方便,命令行可直接运行,或接入ndk(XCODE)都可以。目前Sllvm的运行平台为方便展示为win系统。
Sllvm基于的是LLVM6.0,但依然可以无缝接入到老版ollvm,如ollvm4.0和5.0,而无需修改你原本已经配好的编译工具链,几乎为傻瓜式一键操作。
以windows使用ndk+sllvm为例,说明一些简单的问题:
1、 Sllvm在win上运行更为简单,但linux和MAC上都比win强;
2、 Sllvm实现真正全平台、全文件的保护,以安卓为例,无需用户提供源码,且无论你的目标文件是动态库、静态库、原生APP都可以;
3、 Sllvm效果展示与标准版ollvm强度比较:
我们以ndk的helloworld为例,源代码为:

编译后,so直接膨胀为以前的5倍,大约70KB,膨胀率高于标准版ollvm。

接着,我们使用IDA打开,

在IDA分析显示结束后,依然不能F5,而标准版ollvm F5后,是可以看到if,while代码的。再强一些,就是F5出来的是数组间接跳转,解决办法就是加壳或区段加密,但众所周知,安卓版本越高,越是不允许你从so文件结构做文章的,而sllvm只需要编译出来就达到该效果,基本彻底封死F5。而通过观看指令及数据,也可以知道混淆、变形、加密都有了。
接下来,来看IDA分析的逻辑流程:

这只是一个简单的ndk helloworld,明显是比ollvm凶残
4、 Sllvm与当前反混淆工具的对抗:当前应对ollvm混淆的大体方法为:自写脚本、bcf、decllvm、符合执行。前三个无论是自己找规律,还是基于capstone,对Sllvm都只存在理论的可行性,基本用途不大。而大杀器符号执行,我们来看编译时的cmd窗口:

符号都会被做加密和特殊处理,查看IDA字符串窗口,什么也找不到的:

5、我们希望可以将Sllvm安全编译器壮大,获得一些实质性的支持(如赞助官网的搭建),并有更多大佬可以加入其中。优势:我们有完整的团队链,且都是安全界精英人物,有能力实现把安全由点转面,由面转体,我们是一群想做大、做强、专业、全面的逆向人。试用、合作、赞助等请联系本人,联系方式很多人都知道,就不留了。另外,本技术知识产权已申请地方保护,若想商业化(包括但不限于思路、成果表现等的商业化)请务必与本人联系。
真无语,直接上图,这是ollvm4.0


最后关于我抄袭问题声明如下几点:
1.我是做安卓的,没怎么接触IOS,所以对此很费解;
2.每个技术者都有自己的风格特色,熟悉我的人都知道,这就是我的风格;
3.至于说我接入了Hxx的Idlib组件,不好意思,我根本不知道那是什么,从名字上是IOS的,安卓没有这种习惯命名;
4.log提示,我也想不出什么其他花式的log方法;
5.代码我也想不出ollvm其他的花式编写;
6.自证视频相信都可以看到,混淆参数都是ollvm标准版的,也实现了作者所说的我抄不出来的缺陷功能;
7.我只想弄点资金搞个像样的团队,而且已经低调很久了,如果你听过逆向调用,那就是听到我了,一个途省事的小玩意;
8.到底谁心寒,谁心凉,大家自有评判
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2018-4-3 02:43
被七少月编辑
,原因: 修改