【发布时间】:2020-02-27 00:52:10
【问题描述】:
我想知道一条指令是来自应用程序本身还是来自库代码。
我观察到一些应用程序代码/数据位于大约0x000055xxxx,而库和mmaped 区域默认位于0x00007fcxxxx。例如,我可以使用0x00007f00...00 作为边界来判断指令是来自应用程序本身还是来自库?
如何在 Linux 内核中配置这个边界?
已更新。
我能否阻止(或检测)从应用程序代码发出的syscall 指令(只允许它通过libc)。也许我们可以做一个二进制扫描,但是由于指令的长度可变,很难防止无意的syscall指令。
【问题讨论】:
-
你为什么要问?你的问题缺乏动力!
标签: linux linux-kernel shared-libraries virtual-address-space