草庐IT

虚拟地址

全部标签

c++ - 如何在 C++ 中将 x64 机器代码写入虚拟内存并在 Windows 中执行

我一直想知道V8JavaScript引擎和任何其他JIT编译器如何执行生成的代码。以下是我在尝试编写小型演示时阅读的文章。http://eli.thegreenplace.net/2013/11/05/how-to-jit-an-introductionhttp://nullprogram.com/blog/2015/03/19/我对汇编知之甚少,所以我最初使用http://gcc.godbolt.org/编写了一个函数并获得反汇编输出,但代码在Windows上无法运行。然后我写了一小段C++代码,用-g-Og编译,然后用gdb得到反汇编的输出。#includeintsquare(in

Python - 如何获取内存地址的值?

我试图让Python从诸如0x101BFFDC之类的地址获取值/数据,这是我通过使用游戏CheatEngine发现的。我做了很多研究,认为我需要使用ReadProcessMemory。但是,我尝试了几个例子都没有成功。例如,我找到了如下代码:fromctypesimport*fromctypes.wintypesimport*importstructOpenProcess=windll.kernel32.OpenProcessReadProcessMemory=windll.kernel32.ReadProcessMemoryCloseHandle=windll.kernel32.Cl

python - 在 Windows 上激活 Python 虚拟环境

这个问题在这里已经有了答案:Pythonvirtualenvquestions(6个答案)关闭4年前。注意:人们将此标记为与另一个问题重复,但事实并非如此。我的virtualenv有问题,我无法解决它。这可能与VisualStudio的设置方式有关。我一直在关注这个优秀的tutorialonflask我尝试在Windows上激活虚拟环境时遇到问题。你如何执行$venv\Scripts\activate?这应该来自命令提示符还是Powershell?我使用VisualStudio作为我的IDE。它为您创建了一个VS解决方案,该解决方案具有一个基本的flask应用程序。在创建应用程序的过程

windows - 设置我们的新开发服务器分配多个 IP 地址的最简单方法是什么

我正在设置我们的新开发服务器,将多个IP地址分配给Windows2008Server网络适配器的最简单方法是什么?我正在设置我们的开发机器,运行IIS7并希望在IIS7中设置新网站时使用192.168.1.200-.254之间的范围。 最佳答案 完整的CMD.EXE循环:FOR/L%bIN(200,1,254)DOnetshinterfaceipaddaddress"your_adapter"192.168.1.%b255.255.255.0在上面的代码中,将“your_adapter”替换为实际的接口(interface)名称(通

Windows 32 位虚拟内存页面映射问题

我正在从这里学习Windows32位虚拟内存页面映射,(我的目标是现代Windows版本,例如Vista、Win7、Server2003/200832位版本。)http://blogs.msdn.com/ericlippert/archive/2009/06/08/out-of-memory-does-not-refer-to-physical-memory.aspx两个困惑,用户空间虚拟内存空间通常限制为2G,但物理磁盘页面存储可能远大于2G。由于磁盘页面的数量多于虚拟内存页面的数量,因此理论上可以将多个磁盘页面映射到一个虚拟地址页面。如果用户请求访问某个虚拟地址,如果多个磁盘页面映

windows - 为什么在 Windows Vista x64 上调用 GlobalMemoryStatus 时可用物理内存 (dwAvailPhys) > 可用虚拟内存 (dwAvailVirtual)

我正在使用MSDN样本进行内存压力测试(请参阅:http://msdn.microsoft.com/en-us/magazine/cc163613.aspx)和专门占用物理内存的该工具的扩展(请参阅http://www.donationcoder.com/Forums/bb/index.php?topic=14895.0;prev_next=next)。我显然对虚拟内存和物理内存之间的区别感到困惑。我以为每个进程都有2GB的虚拟内存(虽然我也读了1.5GB因为“开销”)。我的理解是这个虚拟内存的一些/全部/没有可能是物理内存,而一个进程使用的物理内存量进程可能会随着时间的推移而改变(内

windows - 如何将主机名异步解析为 IP 地址?

如何将主机名异步解析为IP地址,最好是使用重叠I/O?GetAddrInfoEx不支持Windows7及更早版本中的重叠I/O。我正在使用nativeC++。 最佳答案 郑重声明,这可以在Windows7上本地完成,如下所示:DnsWriteQuestionToBuffer自己编写DNS查询以进行发送。DnsExtractRecordsFromMessage在收到后自行解析DNS响应。WSASendTo连同WSARecvFrom在IOCPserver用于异步发送和接收DNS查询。这种技术的副作用是它绝不是新手可以轻易拉动的壮举。

windows - 如果在特定地址写入,则暂停进程

在Windows(最好是XP)上,当进程在特定地址(在它的虚拟地址空间中)写入时,通常可以挂起进程吗?加载的DLL执行写操作而不是进程本身的(PE)镜像中的代码这一事实使问题变得复杂。 最佳答案 您可以使用VirtualProtect和PAGE_GUARD或其他选项保护包含感兴趣地址的页面,并在地址写入时出现异常。此类异常可以由未处理的异常过滤器处理(视情况而定,应用程序可能会自行处理),或由进程外调试器应用程序处理,例如众所周知的调试器或通过API自定义应用程序调试进程。调试器应用程序可以在必要时暂停进程,或者使用快照进行小型转储

linux - 虚拟内存澄清 - 大连续内存的分配

我有一个应用程序,我必须在Windows上(使用operatornew)分配相当大的内存空间(数百MB)。该应用程序是32位的(我们现在不使用64位,即使在64位系统上也是如此)并且我启用了/LARGEADDRESSAWARE链接器选项以便能够使用4GB的用户空间内存。问题如果我需要分配,比如450MB的连续内存,进程的虚拟地址空间是否需要有足够大的连续空间和另外物理内存不必在系统上碎片化?我问这个是因为我可以这样做,以便我的应用程序保留足够大的连续空间,但不知道系统上的其他应用程序是否会以这种方式影响我。操作系统页表是否需要将应用程序看到的连续虚拟地址转换为连续物理地址?

c++ - 如何在 C++ 中读取 Windows 默认网关 IP 地址

有人能告诉我如何在C++中读取默认的Windows网关IP地址吗?我可以使用GetAdaptersInfo()读取所有IP地址的列表,但不能读取默认网关IP地址。GetAdaptersInfo(pAdapterInfo,&BufferLength);//IteratethenetworkadaptersandprinttheirMACaddress.while(pAdapterInfo){pAdapterInfo=pAdapterInfo->Next;//Getnextadapterinfo}这是代码片段,想知道哪个字段为我提供了默认网关。我可以获得列表中每个IP地址的网关,但我需要默