Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我知道我可以编写一个插入器来观察传递给 strncpy 库调用的参数,但使用 DTrace 似乎应该很容易做到这一点。
这是一个工作变体(仅在 Mac 上测试):
#!/usr/sbin/dtrace -s pid$target::strncpy:entry { printf( "%s( %X, %s, %lld )\n", probefunc, arg0, copyinstr(arg1), arg2 ); }
copyinstr是必需的,因为字符串来自用户态进入内核。
copyinstr