之前我写过一篇文章是关于在 Xcode 里怎么集成配置 obfuscator-llvm
obfuscator-llvm Xcode集成配置

有些情况下我们使用 Theos 开发 tweak,需要将 obfuscator-llvm 集成到 Theos 里,这样编译出来的 dylib 也是混淆的。通过 官方的使用说明 了解,使用 obfuscator-llvm 的 clang 去编译程序,后面添加 -mllv -fla 参数就可以混淆,那这样只要在 Makefile 将 clang 的路径修改成 obfuscator-llvm 的,然后再添加参数不就行了吗?

include $(THEOS)/makefiles/common.mkTHEOS_DEVICE_IP = 192.168.4.26ARCHS = armv7 arm64
TARGET = iphone:latest:8.0TWEAK_NAME = test_dylib
test_dylib_FILES = $(wildcard eXProtect/*.m) Tweak.xm
test_FRAMEWORKS = UIKITinclude $(THEOS_MAKE_PATH)/tweak.mkTARGET_CC = /Users/exchen/dev/src/obfuscator4.0-build/bin/clang
TARGET_CXX = /Users/exchen/dev/src/obfuscator4.0-build/bin/clang++
TARGET_LD = /Users/exchen/dev/src/obfuscator4.0-build/bin/clang++
_THEOS_TARGET_CFLAGS += -mllvm -fla

来对比看看混淆和不混淆的效果,写一个最简单的代码

#include <stdio.h>void main(){int i = 0;if(i == 0){i = 8;}printf("%d\n",i);
}

使用命令行编译,clang 得用 obfuscator 版

clang test.c -o test -mllvm -fla 

如果提示没找到 stdio.h,使用大写的 I 添加 include 路径

clang test.c -I yourinclude -o test -mllvm -fla

或者也可以写一个 Makefile,使用 make 命令编译。

CC = /Users/exchen/dev/src/obfuscator4.0-build/bin/clang
CCFLAGS = -mllvm -fla
EXEC     = test
SRC     = test.call:$(CC) $(SRC) -I yourinclude -o $(EXEC) $(CCFLAGS)

用 IDA 的 F5 功能看看混淆之后效果:

原文地址:https://www.exchen.net/obfuscator-llvm-theos.html

obfuscator-llvm Theos 集成配置相关推荐

  1. Storefront与NetScaler的集成配置 - part1

    Storefront与NetScaler的集成配置 - part1 http://kaiqian.blog.51cto.com/blog/236001/1344447 Storefront与NetSc ...

  2. .NET Core开发实战(第15课:选项框架:服务组件集成配置的最佳实践)--学习笔记...

    15 | 选项框架:服务组件集成配置的最佳实践 这一节讲解如何使用选项框架来处理服务和配置的关系 选项框架的特性: 1.支持单例模式读取配置 2.支持快照 3.支持配置变更通知 4.支持运行时动态修改 ...

  3. spring 项目集成配置_Spring重试–与项目集成的方式

    spring 项目集成配置 如果您需要在代码中实现健壮的重试逻辑,一种行之有效的方法是使用spring重试库. 我的目的不是要展示如何使用spring retry项目本身,而是要演示将其集成到代码库中 ...

  4. maven2 + tomcat6 + eclipse集成配置

    转载:http://wenku.baidu.com/view/d64147c676eeaeaad1f330d4.html?re=view /* maven2 + tomcat6 + eclipse集成 ...

  5. 3.Jenkins入门基础使用与Maven+SonarQube集成配置与实践

    目录一览: Maven 集成配置与实践 ​SonarQube 集成配置与实践 WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少. Tips : 本文章来源 Blog 站点或者 We ...

  6. SAP EPIC 电子支付集成配置

    电子支付集成配置有两个可以进入的路径:   1.EPIC_PROC→环境→更改定制→电子支付集成   2.SPRO→财务会计→应收账款和应付账款→业务交易→国家特定设置→中国→电子支付集成 之后就可以 ...

  7. ESB应用集成配置心得

    企业的信息化建设是一个从无到有.从有到散的过程,分散的业务系统往往只能满足企业的基础业务管理,而随着企业业务的复杂化和多样化,必然会出现多系统业务串联及数据整合的需求,AEAI ESB企业服务总线就是 ...

  8. java 集成ibm mq 教程_Spring Boot JMS与IBM WebSphere MQ集成配置

    Spring Boot JMS与IBM WebSphere MQ集成配置 [TOC] 前言 Spring Boot作为简化Spring开发的框架,已经为我们集成了ActiveMQ和RabbitMQ.只 ...

  9. MQ原理、使用场景、IBM WebSphere MQ介绍及spring集成配置

    一.MQ简介及特点 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们 ...

最新文章

  1. 如何进入npm_如何用docsify在Github搭建自己的知识文档?
  2. 堆排序的时间复杂度分析
  3. Flex 学习随笔 ---- 玩 Chart
  4. POJ2398【判断点在直线哪一侧+二分查找区间】
  5. CVPR 2019 | 旷视提出新型目标检测损失函数:定位更精准
  6. 《Nmap渗透测试指南》—第6章6.6节源端口欺骗
  7. 【Deep Learning】genCNN: A Convolutional Architecture for Word Sequence Prediction
  8. bootstrap-table 列属性_Bootstrap Table 列参数columns使用总结
  9. 开源电子商务平台:OfBiz
  10. c#窗口操作-句柄操控全解
  11. vb.net 正則表達式 取 固定格式的字符
  12. 代码开源为黑客敞开了大门
  13. 基于matlab的语音识别系统,基于Matlab的语音识别系统研究
  14. 联想小新锁屏壁纸怎么换_联想_ThinkPad|ThinkCentre|ThinkStation服务与驱动下载_常见问题...
  15. 初次 使用RuoYi 若依框架总结(前端)
  16. 微信安装旧版本方法(抓包必备)
  17. APP启动时间检测——u-apm
  18. opencv-python 在图像上打印英文和中文字符
  19. js-最常用的js表单校验1
  20. 电脑黑屏怎么办?实用解决方法!

热门文章

  1. 练习五:整数顺序排列
  2. 算法入门经典第六章 例题6-2 铁轨
  3. http://4526621.blog.51cto.com/4516621/1343369
  4. unity3d 鼠标事件穿透GUI的处理
  5. UI Prototype Design IDE( 界面原型设计工具 )
  6. 在利用计算机生成,计算机生成人像,从而使人脸的模糊变为现实
  7. [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及
  8. [渗透攻防] 一.从数据库原理学习网络攻防及防止SQL注入
  9. 10.1.1 head标签
  10. Exhaustive Search Aizu - ALDS1_5_A