Mac的一些Bash操作整理
本帖最后由 Rayor 于 2018-8-6 16:19 编辑第一次发帖,展示格式花了些时间,但还是不够,以后会更规范的哈!
security
Security是Mac系统中钥匙串和安全模块的命令行管理工具,(图形化工具为Keychain Access.app)。钥匙串实质上就是一个用于存放证书、密钥、密码等安全认证实体的仓库,在计算机中保存为一个.kenchain的文件,解析mobileprovision文件信息cms编码或解码CMS信息(PKCS#7)
# 查看当前mobileprovision里面的信息,有teamID BundleId supportDevices
security cms -D -i xxxx.mobileprovision
查找认证实体证书(证书+私钥)security find-identitycodesign签名操作先找到需要使用到的签名信息
security find-identity
# 1) 21C1F11A2B3875070FA242210FB714138A4790XX "iPhone Developer: xxxx (XXXXXUH6E9)"
# 2) 7F3DE721EB331F478E55345E3D213E313D14218E "iPhone Developer: Rayor (6CXXXXG523)"
使用codesign进行签名
codesign -s '21C1F11A2B3875070FA242210FB714138A4790XX' testDemo.app
# 或
codesign -s 'iPhone Developer: Rayor (XXXXXUH6E9)'
重签名
通过重签名来覆盖之前签名信息,可以先将.app中的_CodeSignature文件夹删除, entitlements必须要有,否则会出现加密偏移信息不一
codesign -fs '21C1F11A2B3875070FA242210FB714138A4790XX'
--entitlements entitlements.plist
testDemo.app
查看签名信息
# -vv verify verbose -d display详细展示签名的信息
codesign -vv -d TestDemoTask.app
压缩成ipa包
# 会自动生成一个Payload文件夹
# -r 递归操作 -q静态操作
zip -r -q YiShou.ipa Payload -v YiShou.app
ibtool使用
编译、打印、更新和验证interface Builder文件在编译过程中,我们会对storyboard/xib/[.strings]文件进行编译,将其处理成nib文件,然后再进行# 将xib编译成nib文件
ibtool --compile FMLaundAdView.nib FMLaundAdView.xib
defaults
获取用户默认设置可以查看并编辑用户默认信息# 修改默认显示隐藏的文件信息, 执行完成后杀掉文件夹进程
defaults write com.apple.finder AppleShowAllFiles -bool TRUE; killall Finder
defaults 一般用于使用修改系统自定义专用,如果单纯只是修改plist还是使用plistBuddy
nmnm 命令被用于显示 用于二进制目标文件的符号表nm xxxx
# -A 行首显示文件名
# -D 显示动态符号
# -g 仅显示外部符号
# -r 反序显示符号表示例
nm IDFou | more
00000001000020f0 t -
00000001000020d0 t -
0000000100004460 t -
nm 显示的信息有三列: 内存地址符号类型 符号名称符号类型对于每一个符号来说,如果类型是小写的,则表明符号是local;大写的则表明符号是global的;以下为几个常用的A 该符号的值在今后的链接中将不再改变;
B 该符号放在BSS段中,通常是那些未初始化的全局变量;
D 该符号放在普通的数据段中,通常是那些已经初始化的全局变量;
T 该符号放在代码段中,通常是那些全局非静态函数;
U 该符号未定义过,需要自其他对象文件中链接进来;
W 未明确指定的弱链接符号;同链接的其他对象文件中有它的定义就用上,否则就用一个系统特别指定的默认值符号查找
查找arm64架构下的XXXX符号
nm TestDemo -arch arm64 | grep "XXXX"
file查看文件类型
file TestDemoTask
# TestDemoTask: Mach-O 64-bit executable x86_64
# 不显示文件名
file -b TestDemoTask
# Mach-O 64-bit executable x86_64
plutilplist 操作工具可以用来打印plist信息plutil -p xxx.plistPlistBuddy
# 使用plistBuddy可以对plist进行编辑操作
sudo /usr/libexec/PlistBuddy -c "set :CFBundleIdentifier 23423.com.song.haha" Info.plist
感谢分享,~ 小白前来学习关注! 感谢楼主分享!学习啦!
页:
[1]