做 Linux、嵌入式、Edge AI 开发时,我们每天都会接触各种二进制文件:
app
camera_service
libxxx.so
algorithm
license_manager
很多人会下意识认为:
源码已经编译成二进制了,别人应该看不到里面的东西了。
但实际上,编译不等于加密。

Linux 下最常见的可执行文件格式就是 ELF,全称:
Executable and Linkable Format
它的主要作用不是隐藏程序,而是告诉 Linux:
代码在哪里
数据在哪里
程序从哪里开始执行
依赖哪些动态库
哪些区域可读、可写、可执行
一个普通 C 程序:
main.c
↓
预处理
↓
编译
↓
汇编
↓
main.o
↓
链接
↓
ELF 可执行文件
最终虽然没有了我们熟
订阅专栏 解锁全文
415

被折叠的 条评论
为什么被折叠?



