比如说,在 lib 下放置 encryption.so ,程序对文件加密。如果没有这个文件,则直接跳过这部分。
1
lcdtyph Nov 6, 2020 via iPhone
dlopen
|
2
ysc3839 Nov 7, 2020
那不就是个插件系统?
|
3
maxwel1 Nov 7, 2020
1 楼的方法可以的。代码里去判断有没有这个库,有就打开它然后根据符号找到函数,没有就跳过去。。
|
4
jim9606 Nov 8, 2020
具体点讲吧。
1. dlopen 加载动态库 2. dlsym 将库函数绑定至函数指针 3. 通过函数指针调用库 4. dlclose 关闭动态库 |
5
ReputationZh OP @lcdtyph 我去试一下
|