|
|
1
5
不幸的是,我不相信你能做到这一点——MacPorts都是用户区,你所需要的操作需要(或者有很多技巧,见下文,或者)内核协作,我相信,这是不可能实现的。例如, Mac OSX Internals, a System Approach 在关于文件描述符传递的部分中,说
然后继续描述FD是如何发送的。 “欺骗”部分将要求您在另一个进程中运行一些代码(在userland中或作为内核的一部分)。
要在内核级实现这一点,需要对内核代码本身或内核加载的代码进行类似的修补 以完整的、未经验证的信任运行(因此它们可以劫持不相关进程的文件描述符表条目)--我确实希望Mac OS X中没有这样的代码路径(因为它们的主要用途无疑是病毒、特洛伊木马和其他各种恶意软件),但是,如果有并且您可以找到它们,这可能是比修补每个感兴趣的二进制可执行文件更通用的解决方案。 回到userland,另一种相当通用的方法可能是修补所有感兴趣的进程加载的动态加载库,而不是修补各个进程的几个可执行文件。 |
|
|
2
6
大概有点像
|
|
|
3
5
here . 例如,假设您正在终端ttys000上运行“cat”命令。 在端子1上:
以下是1号航站楼的结果:
|
|
|
4
1
假设它是有用户权限的(例如,你想从第三方应用程序中捕获信息,重定向到另一个应用程序,比如Rogue Amoeba的音频应用程序或一些视频流捕获应用程序),那么我会说你要么想看内核扩展,要么想看输入管理器。 (另请参阅fscript anywhere、SIMBL和Application Enhancer—所有将功能注入第三方应用程序的软件示例)。
如果您对用户输入而不是stdin感兴趣,那么替换的输入法工具包实际上可能“足够好了”--经典地说,输入管理器已经被用来将各种代码注入到应用程序中。
|
|
|
5
0
从技术上讲,您可以将线程注入目标进程,然后让它将stdin文件描述符的dup发送回您,但您可能不应该这样做
|
|
NullVoxPopuli · 重命名文件夹的最快方法是什么?[关闭] 1 年前 |
|
|
J P · Mac GPGSuite的密码过期 1 年前 |
|
|
Pali775 · Django不会在MacOS上更新 1 年前 |
|
PkDrew · AND运算符“&”在“&tee”中的作用是什么? 1 年前 |
|
|
analog_kid · 较旧的R版本dmg文件[已关闭] 1 年前 |