首页 / 知识
关于C#:在OS X中读取其他进程的内存?
2023-04-12 04:28:00

Reading Other Process' Memory in OS X?我一直在尝试了解如何在Mac OS X上读取其他进程的内存,但是我运气不高。我在网上看到了很多使用
如何在Mac OS X上读写另一个进程的内存? 使用 Matasano Chargen在将一些调试代码移植到OS X上有一段不错的帖子,其中包括学习如何在其他进程中读写内存(除其他外)。 它必须工作,否则GDB不能:
我知道此线程已有100年历史,但对于来自搜索引擎的用户来说: xnumem可以完全满足您的需求,可以操纵和读取进程间内存。
如果您希望能够在进程之间共享内存块,则应检出shm_open(2)和mmap(2)。在一个进程中分配一块内存,然后将路径(用于shm_open)传递给另一个进程,这很容易,然后两者都可能在一起发疯。这比Chris Hanson提到的在另一个进程的地址空间中浏览要安全得多。当然,如果您不能同时控制这两个过程,那对您没有多大帮助。 (请注意,shm_open的最大路径长度似乎为26个字节,尽管似乎在任何地方都没有记录。)
我确实找到了您需要的简短实现(只有一个源文件(main.c))。 它是使用以下关键字的Google搜索结果的前十名?转储进程内存os x ?? 源代码在这里 但是从严格的虚拟地址空间angular出发,您应该对以下问题更感兴趣:OS X:在不降低进程的情况下生成核心转储? (也看这个) 当您查看gcore源代码时,执行此操作非常复杂,因为您需要处理踏步及其状态... 在大多数Linux发行版中,gcore程序现在已成为GDB软件包的一部分。我认为OSX版本已随xcode /开发工具一起安装。 更新:wxHexEditor是可以编辑设备的编辑器。 IT CAN还可以像处理常规文件一样编辑过程内存。它适用于所有UNIX计算机。 您要使用共享内存方法进行进程间通信。有关其他公共方法的摘要,请参见此处 我很快就在本书中找到了所需的内容,其中包含了当今所有UNIX通用的所有API(比我想象的要多得多)。您将来应该购买。这本书是一套(数百本)印刷手册页,很少在现代机器上安装。 我很快就找到了shmat()shmctl(); shmdt()和shmget()。我没有进行广泛的搜索,也许还有更多。 它看起来有些过时,但是:是的,现代UNIX OS的基本用户空间API可以追溯到80年代。 更新:本书中描述的大多数功能都是POSIX C标头的一部分,您无需安装任何东西。很少有例外,例如原始库" curses"。 通常,我建议您使用常规的open()打开一个临时文件。一旦在两个进程中都将其打开,则可以将其从文件系统中取消link(),并且将进行设置,就像使用shm_open一样。该过程与Scott Marcy为shm_open指定的过程极为相似。 此方法的缺点是,如果将执行unlink()的进程崩溃,则您最终将得到一个未使用的文件,并且没有进程负责对其进行清理。此缺点与shm_open共享,因为如果没有shm_unlinks给定名称,该名称将保留在共享内存空间中,可供以后的进程使用shm_open打开。 操纵进程在其背后的记忆是一件坏事,并且充满了危险。这就是Mac OS X(像任何Unix系统一样)具有受保护的内存,并使进程彼此隔离的原因。 当然可以做到:在显式合作的进程之间存在共享内存的功能。只要操作具有明确的操作权限(由安全框架授予),也可以使用其他方法来操作其他进程的地址空间。但这正是编写调试工具以供使用的人员的地方。对于Mac OS X上的绝大多数开发来说,这都不应该是正常的甚至是罕见的事情。 |
最新内容
相关内容
python怎样逐行读取
python怎样逐行读取,培训,数据,文件,程序,内容,字符集,方法,结尾,字符,接下来,python文件对象提供了如下两个方法来读取行:readline([n]):读取python如何读取文件
python如何读取文件,培训,数据,文件,信息,有限,操作系统,对象,磁盘,函数,表示,读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操python如何逐行读取数据
python如何逐行读取数据,数据,概念,培训,文件,程序,内容,字符集,方法,下面,结尾,在实际开发的过程中,文件读写也很重要,下面说一下python如何逐python线程和进程的区别
python线程和进程的区别,系统,数据,培训,单位,进程,线程,管理,时间,通讯,地址,python引入进程和线程的概念及区别threading模块提供的类:Threapython如何读取数据
python如何读取数据,数据,分析,培训,基础,情况,工具,格式,文件,函数,下面,不论是数据分析,数据可视化,还是数据挖掘,一切的一切全都是以数据作为python怎么打开读取csv
python怎么打开读取csv,数据,培训,数字,标准,文件,对象,制表符,格式,模块,逗号,CSV(Comma-SeparatedValues)格式是电子表格和数据库最常用的python如何释放内存
python如何释放内存,培训,情况,名称,对象,赋值,内存,别名,变量,语句,函数,关于Python中的内存释放问题首先就不得不提到Python解释器在何种情python整型对象是如何在内存中存储
python整型对象是如何在内存中存储的?,代码,培训,地址,位置,内存,开辟,整数,分配,存在,负数,在Python中整型对象所存储的位置是不同的,有一些pythonPandas读取数据文件的优点
pythonPandas读取数据文件的优点,数据,灵活,培训,分析,情况,代码,优点,表示,文件,行为,pythonPandas读取数据文件的优点优点1、Pandas提供了python按行读取文件的方法比较
python按行读取文件的方法比较,培训,文件,方法,内容,内存,末尾,指针,实例,以上,教程,python按行读取文件的方法比较1、read方法默认会把文件python如何读取全部的文件
python如何读取全部的文件,培训,文件,路径,全部,方法,字符串,变量,实例,关键词,对象,python如何读取全部的文件说明1、文件路径可以是相对路python读取csv的不同形式
python读取csv的不同形式,数据,培训,形式,字典,模块,以上,文件,程序,教程,更多,python读取csv的不同形式1、以列表的形式读取csv数据编写一个