【发布时间】:2021-12-23 18:26:23
【问题描述】:
我正在尝试使用CDLL 从libc 库调用srand 函数,但在实际调用srand 之前出现Segmentation fault 错误。
我的代码如下所示:
from ctypes import CDLL
import time
libc = CDLL("./libc.so.6")
libc.srand(int(time.time()))
print(libc.rand())
我遇到的错误是:
> python3 ex.py
[1] 70111 segmentation fault (core dumped) python3 ex.py
我还查看了 dmesg 消息:
[31553.069657] python3[70111]: segfault at 0 ip 0000000000000000 sp 00007fffbd1f58e8 error 14 in python3.8[400000+23000]
[31553.069662] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
我还尝试为 libc 放置完整路径,因为我认为相对路径可能存在一些问题,但在这种情况下它也不起作用。
【问题讨论】:
标签: python-3.x libc