2 wsxcqesx123 wsxcqesx123 于 2016.03.04 15:10 提问

如何修改正在运行中程序的内存数据
c

就拿最原始的HelloWorld程序来说,如果我加入一个循环输出(作为程序A),让它每秒输出1次helloworld,我再写个程序B,如何让正在运行的程序A的输出变成“111111111”呢?

4个回答

caozhy
caozhy   Ds   Rxr 2016.03.04 15:48
已采纳
caozhy
caozhy   Ds   Rxr 2016.03.04 15:46

用WriteProcessMemory可以修改内存数据,可以先用调试工具确定内存地址。

qq_34165323
qq_34165323   2016.03.04 16:06

没有找到哦,, ???

oyljerry
oyljerry   Ds   Rxr 2016.03.04 15:42

API Hook等方式,hook cout printf的函数

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JAVA修改运行内存
-server -Xms4g -Xmx4g -Xmn2g -Xss1024k -XX:PermSize=128m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60 -XX:+UseCMSInitiatingOccupancyOnly -XX:AutoBoxCacheMax=20000
GDB调试正在运行的程序
原文链接:点击打开链接       有时会遇到一种很特殊的调试需求,对当前正在运行的其它进程进行调试(正是我今天遇到的情形)。这种情况有可能发生在那些无法直接在调试器中运行的进程身上,例如有的进程 只能在系统启动时运行。另外如果需要对进程产生的子进程进行调试的话,也只能采用这种方式。GDB可以对正在执行的程序进行调度,它允许开发人员中断程序 并查看其状态,之后还能让这个程序正常地继续执行。
GDB调试(正在运行的程序)
有时会遇到一种很特殊的调试需求,对当前正在运行的其它进程进行调试(正是我今天遇到的情形)。这种情况有可能发生在那些无法直接在调试器中运行的进程身上,例如有的进程 只能在系统启动时运行。另外如果需要对进程产生的子进程进行调试的话,也只能采用这种方式。GDB可以对正在执行的程序进行调度,它允许开发人员中断程序 并查看其状态,之后还能让这个程序正常地继续执行。 一、多线程调试 多线程调试可能
直接修改内存数据
下面是修改进程的某片地址的数据: #include #include #include #include #define NAME "mspaint.exx" //要修改的进程名 void read() { HANDLE hpro = NULL; PROCESSENTRY32 pe32 = { 0 }; pe32.dwSize = sizeof(pe32); HANDLE hpr
DELPHI 读取&修改内存数据
DELPHI 读取&修改内存数据源代码,可读取或修改指定内存地址中的数据
如何运行内存中的程序
Windows的PE加载器在启动程序的时候,会将磁盘上的文件加载到内存,然后做很多操作,如函数导入表重定位,变量预处理之类的。这位仁兄等于是自己写了一个PE加载器。直接将内存中的程序启动。记得以前的“红色代码”病毒也有相同的特性。    直接启动内存中的程序相当于加了一个壳,可以把程序加密保存,运行时解密到内存,然后启动,不过对于增加破解难度还要稍微复杂点。否则人家把内存中的进程DUMP出来然后修
设置-应用-正在运行的总内存修改
APP running 运行内存变大
eclipse:修改JVM运行内存
修改JVM运行内存找到eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit 按钮,在编辑界面中的 “Default VM Arguments ”选项中,填入如下值即可。-Xms512m -Xmx1024m具体含义如下:-Xms512m:初始分配内存 -Xmx1024m:最大允许内存
matlab 终止正在运行的程序
使用按键 ctrl+c
GDB 调试正在运行的程序
1. 执行命令: ps aux, 获取该进程的PID 2,