在iOS上有没有办法'dlopen`只指定(绝对)路径?

时间:2016-03-02 14:43:46

标签: ios security dlopen

当我在iOS上检查dlopen的手册页时,它说:

  

当path包含斜杠(即完整路径或部分路径)时dlopen()        搜索以下内容,直到找到兼容的Mach-O        file:$ DYLD_LIBRARY_PATH(来自路径的叶子名称),当前正在工作        目录(部分路径),$ DYLD_FALLBACK_LIBRARY_PATH(带叶子)        路径名称。)

但根据POSIX(Open Group):

  

file参数用于构造目标文件的路径名。如果file包含斜杠字符,则file参数将用作文件的路径名。否则,file以实现定义的方式用于生成路径名。

因此,如果您关注POSIX,您可以使用dlopen("/path/to/lib", 0)准确打开该文件,但根据iOS文档,它将在lib中搜索名为$DYLD_LIBRARY_PATH的Mach-O文件,当前目录,最后是$DYLD_FALLBACK_LIBRARY_PATH

如果我真的想在iOS下打开/path/to/lib而不是在搜索路径中找到任何(可能是恶意的)lib,我该怎么办?

(如果我理解正确,POSIX也允许您使用相对路径。这是否意味着它是相对于当前工作目录的路径?)

0 个答案:

没有答案