永久存储器地址 利用C++的基本知识,我成功地把一个简单的程序从一个程序中读取(使用RealPosialMead内存),每隔五分钟发送给我的Web服务器,这样我就可以在不在家的时候看到程序的状态。

永久存储器地址 利用C++的基本知识,我成功地把一个简单的程序从一个程序中读取(使用RealPosialMead内存),每隔五分钟发送给我的Web服务器,这样我就可以在不在家的时候看到程序的状态。,c++,memory,C++,Memory,我使用一个名为“内存黑客软件”的黑客游戏程序找到了要读取的内存地址。问题是,每当我将程序移动到另一台机器上时,地址都会改变 我的问题是:有没有办法在任何机器上找到相同的“永久”地址?或者这根本不可能。如果这是一个愚蠢的问题,请原谅,但我对这个问题了解不多。或者可能是从正在运行的程序中访问信息的另一种方法 谢谢你的帮助 你所要求的是设计上不可能的。是专门为防止这种窥探而设计的 您从远程进程中获得了什么样的信息?您所要求的是设计上不可能的。是专门为防止这种窥探而设计的 您从远程进程中获得了什么样的信

我使用一个名为“内存黑客软件”的黑客游戏程序找到了要读取的内存地址。问题是,每当我将程序移动到另一台机器上时,地址都会改变

我的问题是:有没有办法在任何机器上找到相同的“永久”地址?或者这根本不可能。如果这是一个愚蠢的问题,请原谅,但我对这个问题了解不多。或者可能是从正在运行的程序中访问信息的另一种方法


谢谢你的帮助

你所要求的是设计上不可能的。是专门为防止这种窥探而设计的


您从远程进程中获得了什么样的信息?

您所要求的是设计上不可能的。是专门为防止这种窥探而设计的


您从远程进程中获得了什么样的信息?

有很多方法可以做到这一点,比如能够识别您正在寻找的东西周围的记忆模式。破解者可以用它来找到内存位置,甚至可以用“四处移动”的软件来修补(比如提供地址空间随机性的操作系统)

例如,如果您知道有固定字符串总是位于感兴趣区域之外的
X
字节,则可以扫描整个地址空间以找到它们,然后从中计算感兴趣区域

然而,它并不总是像你想象的那样可靠

相反,我会考虑另一种方法来实现您的目标,一种不涉及与保护此类软件免受恶意行为影响的功能进行斗争的方法

想想这样的问题:

你到底为什么需要访问地址空间

程序本身是否以更可行的方式提供状态信息

如果这个程序是你的,你能修改它来提供这些信息吗

如果您只需要知道程序是否正在执行其工作,您是否可以简单地“ping”程序(例如,对于网页,发送HTML请求并确保获得有效响应)

作为最后的手段,您能否说服操作系统在不使用地址空间随机的情况下加载您的程序,然后继续使用您的(有点可疑的)方法


鉴于你的评论:

我在四台机器上使用该程序,每次更新程序时,我都必须在所有机器上“重新找到”地址(其中8个)

我只会选择自动化这个过程。这就是一些破解软件所做的。它扫描文件或内存中的代码和数据,寻找可用于定位感兴趣区域的标记

如果您可以手动执行,那么您应该能够编写一个可以执行此操作的程序。让该程序定位感兴趣的区域(通过读取进程地址空间),一旦找到它们,就从那里读取所需的信息。如果查找它们的方法随着每个版本的变化而变化(而不仅仅是实际位置),您可能需要在每个版本的软件中更新定位器例程,但不幸的是,这是您为所选方法付出的代价


你试图阅读的程序不可能像某些程序那样安全——我看到一些人在程序运行时移动他们感兴趣的区域,试图混淆破解者。

有一些方法可以做到这一点,比如能够识别你正在寻找的东西周围的内存模式。破解者可以用它来找到内存位置,甚至可以用“四处移动”的软件来修补(比如提供地址空间随机性的操作系统)

例如,如果您知道有固定字符串总是位于感兴趣区域之外的
X
字节,则可以扫描整个地址空间以找到它们,然后从中计算感兴趣区域

然而,它并不总是像你想象的那样可靠

相反,我会考虑另一种方法来实现您的目标,一种不涉及与保护此类软件免受恶意行为影响的功能进行斗争的方法

想想这样的问题:

你到底为什么需要访问地址空间

程序本身是否以更可行的方式提供状态信息

如果这个程序是你的,你能修改它来提供这些信息吗

如果您只需要知道程序是否正在执行其工作,您是否可以简单地“ping”程序(例如,对于网页,发送HTML请求并确保获得有效响应)

作为最后的手段,您能否说服操作系统在不使用地址空间随机的情况下加载您的程序,然后继续使用您的(有点可疑的)方法


鉴于你的评论:

我在四台机器上使用该程序,每次更新程序时,我都必须“重新找到”所有机器上的地址(其中8个)

我只会选择自动化这个过程。这就是一些破解软件所做的。它扫描文件或内存中的代码和数据,寻找可用于定位感兴趣区域的标记

如果您可以手动执行,那么您应该能够编写一个可以执行此操作的程序。让该程序定位感兴趣的区域(通过读取进程地址空间),一旦找到它们,就从那里读取所需的信息。如果查找它们的方法随着每个版本的变化而变化(而不仅仅是实际位置),您可能需要在每个版本的软件中更新定位器例程,但不幸的是,这是您为所选方法付出的代价

你试图阅读的程序不太可能像某些程序那样安全——我知道