【发布时间】:2010-12-10 15:06:30
【问题描述】:
根据Linux man page for mprotect,该函数有3个参数:
int mprotect(const void *addr, size_t len, int prot);
但是在我正在分析的程序上运行 ltrace 时,我看到 mprotect 是这样调用的:
mprotect(0x8049000, 4096, 3, 1, 0xb7e057ac) = 0
第 4 个和第 5 个参数是干什么用的?
我使用的是 ltrace 0.5 版。和内核 2.6.24-24-generic
【问题讨论】:
-
第五个怎么样?
-
抱歉,在扫描参数时我错过了第四个 ;)
-
哪个版本的 strace。哪个版本的 linux 内核?
-
对不起,现在看到你说的是 ltrace。
-
ltrace 只是将这些项目从调用堆栈中取出。真正的问题是为什么他们一开始就被推到那里去。
标签: c security mprotect ltrace