解决“Illegal instruction: 4”错误

之前将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是指原来无法运行的二进制程序。运行上面的两条指令后,原来的那个程序就可以在新的平台上正常运行了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,124评论 0 0
  • 网站乱码问题我们会经常碰到,大多见于非英文的中文字符或其他字符乱码,而且,这类问题常常是因为编码方式问题,主要原因...
    波段顶底阅读 2,962评论 1 9
  • 本文承接之前写的三十分钟学会AWK一文,在学习完AWK之后,趁热打铁又学习了一下SED,不得不说这两个工具真的堪称...
    mylxsw阅读 4,417评论 3 74
  • 我忘得了夏天的故事,却逃不过冬天的膘。去年夏天瘦成了一把硌人的的骨架,现在又胖的灰起。不知不觉囤膘三千,变成了柔软...
    年猫阅读 253评论 0 1