使用 CodeArts IDE 的 binary-sign-tool 命令为任意 ELF 签名,让其有权限在鸿蒙 HiShell 中执行

@Ta 20小时前发布,14小时前修改 144点击

需要鸿蒙6系统,鸿蒙5不支持。打开开发者模式后,从应用商店的应用尝鲜里安装 CodeArts IDE。如果你安装过 Termony,打不开 CodeArts IDE 的终端,请先卸载 Termony 然后重启电脑。

注意:签名只是让ELF有权限运行,不能让原本就不兼容鸿蒙的ELF在鸿蒙里正常运行。
如果ELF不是静态链接的程序,并且依赖glibc,那大概率不能在鸿蒙内正常运行。
如果ELF依赖其他.so库,那所有.so库也都需要签名,并且需要配置LD_LIBRARY_PATH环境变量指向so所在文件夹。

签名命令:

binary-sign-tool sign -inFile ELF文件名 -outFile ELF文件名 -selfSign 1

批量签名命令:

签名当前目录及其子目录下的所有ELF文件:

find . -type f -exec file '{}' ';' | grep --line-buffered ': ELF ' | awk -F': ELF ' '{print $1}' | while read f; do echo "$f"; binary-sign-tool sign -inFile "$f" -outFile "$f" -selfSign 1; done

示例:

以这个从 Termony 项目里提取的 busybox 命令为例:busybox(1.77 MB)

签名前:

image.png(50.55 KB)

签名:

binary-sign-tool sign -inFile busybox -outFile busybox -selfSign 1

image.png(337.26 KB)

签名后:

image.png(248.4 KB)

回复列表(0|隐藏机器人聊天)
帖子没有回复
添加新回复
回复需要登录