首页 > 分享 > 电脑小游戏即时存档

电脑小游戏即时存档

HANDLE WINAPI OpenThread(

_In_ DWORD dwDesiredAccess,

_In_ BOOL bInheritHandle,

_In_ DWORD dwThreadId

);

DWORD WINAPI SuspendThread(

_In_ HANDLE hThread

);

不是進程句柄是線程句柄

引用 13 楼 a784063999 的回复:suspendthread是可以令線程暫停, 但要獲取線程句柄和THREAD_SUSPEND_RESUME訪問權 OpenProcess(PROCESS_ALL_ACCESS,false,dwPID) 应该包括挂起权限了吧?怎么挂起进程呢?是挂起进程当前运行的线程么?我理想的情况时挂起之后怎么点都没有响应那种。

suspendthread是可以令線程暫停, 但要獲取線程句柄和THREAD_SUSPEND_RESUME訪問權

请问怎么挂起目标进程?似乎有个suspendthread,但是我尝试挂起计算器没有成功。 有没高手给个例子?就像resmon里面那种挂起就行。

确实可以保存,取得进程引用的内存段就可以 但恢复就有点麻烦了,因为进程引用的内存内容不一定是固定不变的,特别是存储的指针相关内容,一个是动态内存地址和实际内存空间牛头不对马嘴,第二个是游戏存在很多正在使用的读写内存段,像是图像内容.所以一写回去99.99%游戏就直接挂了. 模拟器为什么可以做到,因为模拟器可以看作一个虚拟平台,内存的申请出的地址完全由模拟器分配,图像等等的显示也是一样,所以模拟器可以很容易做到恢复现场.

SIZE_T WINAPI VirtualQueryEx(

_In_ HANDLE hProcess,

_In_opt_ LPCVOID lpAddress,

_Out_ PMEMORY_BASIC_INFORMATION lpBuffer,

_In_ SIZE_T dwLength

);

BOOL WINAPI ReadProcessMemory(

_In_ HANDLE hProcess,

_In_ LPCVOID lpBaseAddress,

_Out_ LPVOID lpBuffer,

_In_ SIZE_T nSize,

_Out_ SIZE_T *lpNumberOfBytesRead

);

這兩個函數應該用得着

引用 楼主 BraidTim 的回复:之前玩I WANNA(没听过的可以理解为很难的超级马里奥),经常死。存档点不多,死了浪费好多时间。 在PSP上或者一些电脑上的GBA模拟器有个即时存档功能,我就想能不能做一个在电脑上可以通用的即时存档软件。 目前大概设想是确定目标进程的内存空间,挂起进程,把内存全部读出来,恢复进程。读的时候把内存写回去。寄存器的话也许要用汇编? 不知道实现这功能需要学些什么知识? …… 模拟器上他是虚拟了一个内存堆栈的,ROM里头需要内存的地方申请的时候不是通过操作系统,而是通过模拟器。这样的话他闪存只需要把虚拟的内存堆栈dump起来就行。 你要是pc的话,dump内存再恢复的话,要是遇到new出来的内存怎么办?可能这块内存就被别人使用了,你要是强行修改,那程序就会挂掉。我觉得你得考虑hook malloc的那个地方,不过这个我没把握有可行性

我是win7的,休眠也经常用。 休眠就是保存当前内存状态吧? 原理上是不是有点相似呢?

引用 1 楼 CandPointer 的回复:虚拟机, 虚拟个 win98, win2K, winXP, 可以有Snapshot. 快照. 可以分支,多个快照 随时回滚 不能存档的单机游戏,都可以这么搞 你的意思是让我写一个虚拟机?还是用现成的虚拟机实现存档功能呢? 可以的话我想试试自己写。 之前看别人帖子,暂时算是学会获得权限改目标进程内存。实现了使计算器4*4=4。就是把4那儿的内存改成1. 但是我自己还不知道怎么找到目标进程所属内存空间,我是用金山游侠先找到内存地址才改的。 还有挂起进程还没用出来,应该是用SuspendThread么? 有没有高手给个简单的例子挂起目标进程还有找到目标进程地址范围呢?

回想起DOS时代许多游戏作弊工具都是这么干的。那时打游戏经常用工具直接修改内存分数,或者把血锁死,人挡杀人,佛挡杀佛。

引用 3 楼 MoreWindows 的回复:“把内存全部读出来,恢复进程。读的时候把内存写回去。” 这个有点麻烦,32位系统还好,2G的内存空间,写入磁盘有点慢。 64位就麻烦了,磁盘空间直接不足。 只要讀那小游戲的內存就行

“把内存全部读出来,恢复进程。读的时候把内存写回去。” 这个有点麻烦,32位系统还好,2G的内存空间,写入磁盘有点慢。 64位就麻烦了,磁盘空间直接不足。

我玩過猫版超級瑪麗, 和超级马里奥有很大分別. 我認為C++可以做到, 但我不是高手..

虚拟机, 虚拟个 win98, win2K, winXP, 可以有Snapshot. 快照. 可以分支,多个快照 随时回滚 不能存档的单机游戏,都可以这么搞

相关知识

经典食人花常见问题
经典食人花
经典食人花游戏下载
‎经典食人花
经典食人花手机版
521情侣互动的小游戏
即时
花蕾农场闲置种植小游戏开发
北湖林业有害生物标本存档完善
经典食人花手游下载

网址: 电脑小游戏即时存档 https://m.huajiangbk.com/newsview1674258.html

所属分类:花卉
上一篇: 梦见食人花
下一篇: 《饥荒》青蛙和食人花搭配获得金子