小佛天下 发表于 2016-12-30 01:38:02

为什么双开CMD,查到的内存不一样?



同样是查:0:0201,什么开两个CMD,查到的结果不一样?

人造人 发表于 2016-12-30 01:55:14

第二个cmd没有执行1.exe是吗?
1.exe做了什么?

呆鸭 发表于 2016-12-30 08:25:00

如果是在xp或更新的系统以后运行,这种结果是合理的,xp及以后的系统为了整体的稳定性,系统会让每支程序以为自己独占所有application可用的内存空间,以为所有内存空间只有自己一支application在运行(简化版的虚机概念),看楼主的截图,运行两个console window,一个运行1.exe,另一个似乎没有???说得直接一点,运行两次cmd.exe,表面上看起来都是看0:200的内存资料,实际上两个0:200是对应到不同的实体内存的。

小佛天下 发表于 2016-12-30 09:05:47

3楼,说得非常好,是XP,第一个CMD运行了1.exe。第二个CMD并没有运行1.exe。

我原来的想法是,只要对内存做了修改,不管是哪个CMD都能查询到(并不一定要在本CMD中修改)。
如果这个属于两个不同的内存实体,那我们如果能修改到关于系统,或其他软件的内存?

zealstar 发表于 2016-12-31 15:59:20

小佛天下 发表于 2016-12-30 09:05
3楼,说得非常好,是XP,第一个CMD运行了1.exe。第二个CMD并没有运行1.exe。

我原来的想法是,只要对内 ...

XP,你要修改它的内存?
说2个事:
1、不能修改关键内存,包括显卡缓存等等各种。这些早就被XP给封的死死的了。至少按目前的方法不行。
2、修改软件的内存,那你必须知道软件的入口地址,还有调用的文件等信息的存储地址!何况还是32位程序,我们的教程用的可是16位或者8位程序{:10_266:},32位的更加复杂!

教程针对的是20多年前的DOS系统,那时候确实你掌握了汇编就什么都可以改,现在没那么简单了!

小佛天下 发表于 2017-1-2 00:33:50

受教了,看来我的汇编之路还征途漫漫~~~~
页: [1]
查看完整版本: 为什么双开CMD,查到的内存不一样?