之前将iPad越狱了,然后在上面成功安装了perl,结果运行的时候,出现下面的错误:
Illegal instruction: 4
Google了一下,知道了原因和解决的办法。
出现这个问题的原因是:如果在iPhone5/iPad4等这些新一代的设备上,运行之前基于armv6上编译的程序,就会出现上面的错误。
解决的办法:只要替换掉二进制程序的几个字节就可以在新的平台上正常运行了。这里使用的是sed工具:
sed -i'' 's/\x00\x30\x93\xe4/\x00\x30\x93\xe5/g;s/\x00\x30\xd3\xe4/\x00\x30\xd3\xe5/g;' old-binary
ldid -s old-binary
命令中的old-binary是指原来无法运行的二进制程序。运行上面的两条指令后,原来的那个程序就可以在新的平台上正常运行了。