mac os x lipo 工具
lipo是管理Fat文件的工具,可以查看平台列表,提取、重新打包
dreamdeMac-mini:test dream$ lipo -info libtest001.a
Architectures in the fat file: libtest001.a are: armv7 arm64
lipo -thin 提取出ARM64平台文件
dreamdeMac-mini:test dream$ lipo -thin arm64 libtest001.a -output libtest001.ar m64
ar -t 查看:
dreamdeMac-mini:test dream$ ar -t libtest001.arm64
__.SYMDEF
7zAes-9CC0839951E86BC.o
...
使用 ar -x 解包
dreamdeMac-mini:arm64 dream$ ar -x ../libtest001.arm64
dreamdeMac-mini:arm64 dream$ ls
7zAes-9CC0839951E86BC.o LzmaEnc-A77677D9F23EB2B0.o
...
打包使用 ar -r 命令
重打包成FAT文件使用 lipo -create
可 man lipo 查看 -create 参数使用
解决问题
使用o-llvm的代码混淆方案。但目前项目静态库大致分成两部分,一部分是开源的加密压缩库,一部分自己编码的加密库,由于压缩算法那块实现逻辑比较复杂,混淆后会大大影响程序执行效率,同时对代码逻辑保护起不到任何作用,因些只需单独将自己编码的加密库混淆。
翻阅了一些资料,Xcode不能单独给.a的某个.o文件设置编译选项,也可能没找着材料。
因此通过 lipo 的方式,替换掉里面开源库的 .o 为未混淆版本。
步骤以下:
lipo 拆包
lipo -thin armv7 xxx.a -output xxx.armv7
lipo -thin arm64 xxx.a -output xxx.arm64
ar 解包
ar -x xxx.armv7
ar -x xxx.arm64
ar 打包
ar -r xxx.armv7 *.o
ar -r xxx.arm64 *.o
lipo 打包
lipo -create xxx.armv7 xxx.arm64 -output xxx.a
mac os x lipo 工具的更多相关文章
- mac os颜色拾取工具/软件/器推荐
软件名:ColorSnappe 目前我用的时1.1.0版本 该工具可以利用alt+command+c快捷键拾取颜色,拾取后可以自动把颜色代码放入剪切板 .我最喜欢它可以生成ios开发的代码,比如选择了 ...
- mac os下不同工具go env下gopath显示不同
设置 vim ~/.zshrc 设置 vim ~/.bash_profile
- VMware 虚拟机安装 Mac OS X Mountain Lion 苹果系统
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- mac os develop
. 安装PCRE Download latest PCRE. After download go to download directory from terminal. $ cd ~/Downloa ...
- 【Xamarin 在Mac OS 上的部署安装环境】
******************没用Mac 的机子,也只能靠虚拟机了**********1 安装VMware 10 从网上下载即可2 下载MAC OS 10.9.5的安装镜像,网上有很多,最好使用 ...
- VMWare15 安装 Mac OS 系统
文章目录VMWare15 安装 Mac OS 系统安装环境工具准备准备工作MAC虚拟机设置启动MAC前准备工作安装系统安装VMware Tool注意事项参考链接安装环境WIN10VMware Work ...
- Mac系统下lipo, ar, nm等工具的使用简介
引言 开发第三方库时, 如果没有进行特殊处理, 很容易把其他第三方库的符号暴露出来, 导致链接时产生符号重复. 如下图所示 如果用户链接了其他版本的libjpeg, 会因为入口地址不正确让程序直接崩溃 ...
- Mac OS平台下应用程序安装包制作工具Packages的使用介绍
一.介绍 Windows下面开发好的应用程序要进行分发时有很多打包工具可供选择,如Inno Setup, InstallShield, NSIS, Advanced Installer, Qt Ins ...
- (转)Mac OS X写了个rm时将文件放入回收站的小工具
上次由于公司里机器要面临重装,开始仓皇地将Mac本里的文件scp到我的台式机上.忙乱之中本来要删除一个无用的文件夹的,结果用rm -rf的时候tab了一下,补全出来的文件都没看清就按下了回车,毫无疑问 ...
随机推荐
- [CodeForces - 614D] D - Skills
D - Skills Lesha plays the recently published new version of the legendary game hacknet. In this ver ...
- F - Proud Merchants
Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerfu ...
- 【转】在使用实体框架(Entity Framework)的应用中加入审计信息(Audit trail)跟踪数据的变动
在一些比较重要的业务系统中,通常会要求系统跟踪数据记录的变动情况.系统要记录什么时间,什么人,对那些信息进行了变动. 比较简单的实现方式是在每个表中加入两个字段CreatedBy和CreatedAt, ...
- [LeetCode] 96. Unique Binary Search Trees(给定一个数字n,有多少个唯一二叉搜索树) ☆☆☆
[Leetcode] Unique binary search trees 唯一二叉搜索树 Unique Binary Search Trees leetcode java 描述 Given n, h ...
- Linux pwn入门教程——CTF比赛
Linux pwn入门教程(1)——栈溢出基础 from:https://zhuanlan.zhihu.com/p/38985585 0x00 函数的进入与返回 要想理解栈溢出,首先必须理解在汇编 ...
- dir()函数
- Vscode extensions开发
Vscode extensions开发 1◆ generatorcode install npm install -g yo generator-code 2◆ 步骤 yo code ...
- daay04流程控制之for循环
for循环主要用于循环取值 student=['egon','虎老师','lxxdsb','alexdsb','wupeiqisb'] # i=0 # while i < len(student ...
- maven配置checkstyle插件对代码规范进行静态检查
checkstyle配置的官方网站:http://checkstyle.sourceforge.net/config.html (1)新建maven项目,配置checkstyle插件 pom.xml ...
- day34 线程池 协程
今日内容: 1. 线程的其他方法 2.线程队列(重点) 3.线程池(重点) 4.协程 1.线程的其他方法 语法: Threading.current_thread() # 当前正在运行的线程对象的一个 ...