C++ 如何阅读第三方应用程序';从内存中提取变量?

C++ 如何阅读第三方应用程序';从内存中提取变量?,c++,memory,pointers,C++,Memory,Pointers,我试图从内存中读取变量。变量,它不属于我自己的程序。例如,假设这个Adobe Shockwave(.dcr)应用程序在浏览器中运行,我想从中读取不同的变量。这是怎么做的?我需要钩住这个过程吗?但它是在虚拟机下运行的,所以我不知道怎么做 这个任务在普通的w32应用程序中非常简单(因为它主要是 CBT挂钩/子类化),但正如我前面提到的,我不知道它是如何实现的 用闪光/冲击波完成 我用C++(VS9)作为我的开发环境,如果你想知道的话。 如果您有任何提示,我们将不胜感激,因此提前谢谢您 致以最良好的祝

我试图从内存中读取变量。变量,它不属于我自己的程序。例如,假设这个Adobe Shockwave(.dcr)应用程序在浏览器中运行,我想从中读取不同的变量。这是怎么做的?我需要钩住这个过程吗?但它是在虚拟机下运行的,所以我不知道怎么做

这个任务在普通的w32应用程序中非常简单(因为它主要是 CBT挂钩/子类化),但正如我前面提到的,我不知道它是如何实现的 用闪光/冲击波完成

我用C++(VS9)作为我的开发环境,如果你想知道的话。 如果您有任何提示,我们将不胜感激,因此提前谢谢您

致以最良好的祝愿,
nhaa123

如果没有调试应用程序的二进制文件/DLL,你唯一的机会就是询问一些黑客

通常情况下,您可以使用调试器连接到进程,但如果没有二进制文件的调试符号,您将看不到任何变量名,只有内存地址

此外,Flash/Shockwave代码在浏览器内部的沙箱中运行,以防止被操纵的Flash代码造成安全漏洞。所以你没有真正的机会访问正在运行的Flash代码/执行Flash代码的插件-除非你有这样一个插件的操纵版本

因此,如果不使用较少的法律手段,你的任务很难解决。下一个难题是虚拟机-这可以通过将应用程序实现为客户机/服务器解决方案来解决,其中“inspector”/“watchdog”作为虚拟机内的服务器运行,客户机请求在正常主机上运行的可变状态/内容。通信可以通过简单的套接字连接完成

如果您有机会编写自己的Flash/Shockwave插件,您可能可以看到变量的内容

对不起,我不能再帮你了

再见,
3DH

如果没有调试应用程序的二进制文件/DLL,你唯一的机会就是询问一些黑客

通常情况下,您可以使用调试器连接到进程,但如果没有二进制文件的调试符号,您将看不到任何变量名,只有内存地址

此外,Flash/Shockwave代码在浏览器内部的沙箱中运行,以防止被操纵的Flash代码造成安全漏洞。所以你没有真正的机会访问正在运行的Flash代码/执行Flash代码的插件-除非你有这样一个插件的操纵版本

因此,如果不使用较少的法律手段,你的任务很难解决。下一个难题是虚拟机-这可以通过将应用程序实现为客户机/服务器解决方案来解决,其中“inspector”/“watchdog”作为虚拟机内的服务器运行,客户机请求在正常主机上运行的可变状态/内容。通信可以通过简单的套接字连接完成

如果您有机会编写自己的Flash/Shockwave插件,您可能可以看到变量的内容

对不起,我不能再帮你了

再见,
3DH

如果你只是为了一两个实验而尝试手动操作,这很容易。
尝试一个像这样的工具,它就像一个自由、快速、简单的过程窥视器。基本上,它会扫描进程的内存空间以查找给定的键值。然后,您也可以在以后过滤这些初始搜索命中。你也可以改变那些你发现的、生活的价值观。上面的链接显示了一个快速示例,可以使用它在游戏中查找分数或金钱价值,并在游戏运行时实时编辑它。

如果您试图手动完成一个或两个实验,这很容易。
尝试一个像这样的工具,它就像一个自由、快速、简单的过程窥视器。基本上,它会扫描进程的内存空间以查找给定的键值。然后,您也可以在以后过滤这些初始搜索命中。你也可以改变那些你发现的、生活的价值观。上面的链接显示了一个快速示例,可以使用它在游戏中查找分数或金钱价值,并在游戏运行时对其进行实时编辑。

非常感谢您提供的链接。非常感谢您提供的链接。