文件不混淆_编译oLLVM并用其混淆代码(上)

本文记录了作者在Ubuntu环境下编译oLLVM9.0的过程,遇到的错误及解决方法,包括代码混淆的初步尝试,虽然遭遇了一系列问题,但作者计划继续尝试在Windows下进行编译。
摘要由CSDN通过智能技术生成

8e1c0053602c624aeabc93706d1335c3.png

俗话说,了解敌人才能击败敌人,最近和oLLVM对抗搞得我心很累,所以周末编译一下oLLVM,用的是国内大佬移植来的oLLVM9.0,并简单混淆一下代码,做个小实验~

先编译oLLVM,先去git拉代码:

https://github.com/heroims/obfuscator/tree/llvm-9.0

我这代理有点小问题,直接下载的zip包:

26b2459295b943eae091818dbc01430c.png

安装cmake和g++:

31fda305bec800fb8716501570521b7a.png

安装完了,测一下:

b0a60e4b4878bd16382cb193101bdab9.png

好像可以用了,接下来:

mkdir buildcd build/cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_INCLUDE_TESTS=OFF ../

c17ce080cb30b13627fd07377cef5b20.png

完毕:

c8b510a018dad314ce218277dc9c84fb.png

开始make:

35a58e4092ff0e6523390fe60680ebdf.png

编译到后面出错了,这段是我编oLLVM4.0版本(2017年的代码)出的错:

65dbe1395cb744fb383fc4b0de3b05a4.png

问题不大,先不要慌,搜索引擎找找解决方案,但是我看着这中文的UBUNTU属实难受,先给他切换成英文再说,经过一顿查找,中英页面都看了好多,搞了半天还没摸到头脑,貌似没啥人研究过这东西,没招了,我怀疑和机器的字长或者clang啥的有点关系,没事,那就用国人移植的高版本的oLLVM重试一次:

c0890c10b936ef2e83c3043560b2c1cf.png

no news is good news~

看起来成功了,我在makefile文件里看了一眼,确实成功了,没有报ERROR,接下来在UBUNTU下配置NDK,下载Linux版本的NDK,配进环境变量:

2df4f134098eaa8345eb96ebc316da4a.png

NDK配好了之后,把我们编译好的oLLVM配进去,简单混淆一个HelloWorld.c文件:

6f5557ccd28f8805cc89c8f75c4c3ccd.png

出错了,解决完以后发现,又有新错误,跟我说permission denied,但是我已经chmod 777了,经过一顿操作之后,又是一个又一个的新错,这一下午我一直在解决各种编译的错误,头皮发麻,做着做着我忽然发现一个很严重的问题,我操作系统是64位ubuntu,严重怀疑是工具链哪里和64位操作系统不兼容导致一次又一次的翻车~这方面文章属实太少了,找参考都很费劲,我今晚继续搞,争取明天能用上oLLVM混淆代码~

又是拉胯的一天...

我觉得明天可以尝试在win下编译并使用win下的as混淆代码试试了...

觉得好看的铁铁们可以关注一哈:

4ad7135dac2063b65a2d40d1bd929070.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值