首页 > 其他分享 >爱加密iOS混淆工具 ijiami-clang-tools 使用

爱加密iOS混淆工具 ijiami-clang-tools 使用

时间:2022-12-17 11:11:29浏览次数:71  
标签:混淆 加密 Xllvm iOS ipo clang ijiami mllvm

  1. 获取
    联系爱加密支持人员,他们会发给你最新的爱加密工具包 ijiami-clang-tools。
  2. 安装
    首先获取要安装机器的UUID和en0的MAC地址,将这两个信息发送给爱加密人员,爱加密会根据机器信息生成授权Key,我们在拿到授权Key之后,用文本编辑打开ijiami.key文件,将新的key写入该文件(不要有空格和回车)。
    然后,通过命令行cd到ijiami-clang-tools目录下,执行./install.sh (可能需要输入密码)。
  3. 使用
    重启Xcode,点击左上角Xcode->Toolchains,选择爱加密混淆ijiami Obfuscator。如果不需要混淆时再切换回Xcode 12.0.1,去掉混淆参数即可。
    image-8-768x356
    至于设置编译参数,请按照使用手册修改other c flag,增加以下编译项,可只在release时添加,debug阶段无需混淆。
    -mllvm -ipo -mllvm -ipo-percentage=40 -mllvm -ipo-loop=1
    -mllvm -encrypt-constant-string -mllvm -encrypt-constant-string-level=1 
    -mllvm -encrypt-constant-string-probability=100
    -mllvm -indirection-control-flow -mllvm -indirection-control-flow-probability=40
    如果项目包含swift,需同时修改other swift flags:
    -Xllvm -ipo -Xllvm -ipo-percentage=80 -Xllvm -ipo-loop=1 
    -Xllvm -transform-operator-identically
    -Xllvm -split-basic-block
    混淆参数可根据使用手册进行调整,如果需要脚本打包,还可以参考爱加密提供的脚本。
  4. 总结
    经过一段时间的使用,最明显的两个感受就是:项目编译时间变长、安装包体积变大。
    该工具打包Unity的某些长的协程代码时会报错,需要把协程切分成小的程序调用;对UnityScripts.Lang的代码调用也会报错,需要去掉该部分代码;
    该工具对原来的代码在指令级别进行了混淆加密处理,添加不少指令混淆了原来的指令逻辑,同时也添加了不少垃圾指令。指令增加了,也意味着可执行文件大小也增加了。比如用上面的设置可以明显看到打包出的可执行文件大小增加了一倍左右(例如:为加密前大小为20M,加密后大小为38M)。
    该工具对苹果4.3过审貌似有一点作用,但是不要指望着用了这个加密混淆代码的方法就一定会过审核。

Ref: https://www.awnlab.com/archives/650

标签:混淆,加密,Xllvm,iOS,ipo,clang,ijiami,mllvm
From: https://www.cnblogs.com/open-coder/p/16988745.html

相关文章

  • iOS 开发:『Blocks』详尽总结 (二)底层原理
     本文用来介绍iOS开发中『Blocks』的底层原理。我将通过Blocks由OC转变的C++源码来一步步解析Blocks的底层原理。通过本文您将了解到:Blocks的实质是......
  • iOS 网络:『文件下载、断点下载』的实现(三):AFNetworking
    本文首发于我的个人博客:​​『不羁阁』https://bujige.net​​​文章链接:​​https://bujige.net/blog/iOS-Resume-Download-AFNetworking.html​​目录AFNetworking下载......
  • 使用CocoaPods来做iOS程序的包依赖管理
    前言每种语言发展到一个阶段,就会出现相应的依赖管理工具,或者是中央代码仓库。比如Java:maven,IvyRuby:gemsPython:pip,easy_installNodejs:npm随着iOS开发者的增多,业......
  • IOS: Unwind Segues
    原文: http://www.intertech.com/Blog/iOS-Unwind-Segues/IniOS5,wewereintroducedtoStoryboardsandSegues. Whilethesefeaturessimplifiedthenavigationp......
  • Storyboards Tutorial in iOS 7: Part 2
    原文 http://www.raywenderlich.com/50310/storyboards-tutorial-in-ios-7-part-2NotefromRay:Ifyouwanttolearnaboutstoryboarding,you’vecometotherightp......
  • ios 开发中 注册并使用个性化URL Schema
    -(BOOL)openURL:(​​NSURL​​ *)url  AnobjectrepresentingaURL(UniversalResourceLocator).UIKitsupportsthehttp:,https:,tel:,andmailto:schemes.......
  • 给iOS工程增加Daily Build
    前言DailyBuild是一件非常有意义的事情,也是敏捷开发中关于“持续集成”的一个实践。DailyBuild对于开发来说有如下好处:保证了每次checkin的代码可用,不会造成整个工程编译......
  • 关于airtest群控制ios
    1.安装carthagebrewinstallcarthage2.下载项目gitclonehttps://github.com/facebookarchive/WebDriverAgent./Scripts/bootstrap.sh#如果报错多半是node版本......
  • uniapp开发的微信小程序页面在IOS上页面可被拖拽的问题
    经排查发现是设计稿宽度不是750px而IOS宽度最低都是375(750/2)这时如果你的设计稿是751px的在IOS上就可以被自由拖拽 解决方案:1让UI出750px的设计稿2设......
  • iOS 申请证书(开发与发布)(开发者帐号开通后)
    苹果开发者帐号开通后,即了购买服务后。苹果APP需要上架,也提供了新的开发者账号,所以就顺带把申请证书与发布流程写一遍。0.先创建苹果钥匙串文件(在苹果电脑PC(一体机、笔记本......