首页
修改器
游戏补丁
游戏工具
游戏MOD
网络游戏
游戏攻略
常用软件
汉化包
游戏存档
专题

《云之遥》分辨率修改工具v1.0绿色版

《云之遥》分辨率修改工具v1.0绿色版

  • 工具类型:游戏工具
  • 更新时间:2024-02-01
  • 文件大小:317.00KB
  • 版本:

游戏工具介绍

由于《云之遥》自带的只有8个分辨率,导致部分无理想分辨率的机器上运行无法得到最完美的效果;本工具提供了分辨率修改功能,可以自己设置任意数值的分辨率!本工具采用了HookAPI外加Loader的形式来实现对屏幕分辨率内存数值的改写,采用HookAPI的而不采用Loader监视内存的原因在于这个数值修改必须在游戏程序完成相关初始化前完成,否则分辨率修改将无法成功!

而同时,主程序采用了VMP加密,很明显,直接修改代码是不现实的,只能通过在程序到达入口点后HookAPI来实现;当然,这一技术用在被SecuROM加密的简体版上是不可能的(由于SecuROM二次CreateProcess反调试,因此你找不到写内存的时机)
注意事项:
注意1:由于加密机制原因,本工具仅支持繁体版V2.3.0,不支持简体版!
注意2:请务必将本程序与游戏主程序放置于同一目录下。否则将导致本程序无法运行!
注意3:部分杀毒软件会提示“风险注入”,请务必允许并将本程序加入“信任列表”!
实现原理:
本程序Hook的API为kernel32.GetPrivateProfileIntA,Hook这个API的原因在于游戏程序是通过这个函数来读取game.ini获取分辨率设定值的,而这时Hook的并修改相应内存的话可以保证游戏程序中没有调用过分辨率宽高的设定值,SwdCF主程序中相关代码如下:

0040DDA48D44240Cleaeax,dwordptr[esp+C]
0040DDA850pusheax
0040DDA96A00push0
0040DDAB68D09D7900push00799DD0;ASCII"Resolution"
0040DDB068089E7900push00799E08;ASCII"SETUP"
0040DDB5FFD6callesi;kernel32.GetPrivateProfileIntA
0040DDB783F807cmpeax,7
0040DDBAA34C257E00movdwordptr[7E254C],eax
0040DDBF0F87B1000000ja0040DE76
0040DDC5FF248504DF4000jmpdwordptr[eax*4+40DF04]
0040DDCCC70550257E000>movdwordptr[7E2550],400
0040DDD6E991000000jmp0040DE6C
0040DDDBC70550257E000>movdwordptr[7E2550],500
0040DDE5C70554257E000>movdwordptr[7E2554],400
0040DDEFE982000000jmp0040DE76
0040DDF4C70550257E00A>movdwordptr[7E2550],5A0
0040DDFEC70554257E008>movdwordptr[7E2554],384
0040DE08EB6Cjmpshort0040DE76
0040DE0AC70550257E009>movdwordptr[7E2550],690
0040DE14C70554257E001>movdwordptr[7E2554],41A
0040DE1EEB56jmpshort0040DE76
0040DE20C70550257E008>movdwordptr[7E2550],780
0040DE2AC70554257E003>movdwordptr[7E2554],438
0040DE34EB40jmpshort0040DE76
0040DE36C70550257E008>movdwordptr[7E2550],780
0040DE40C70554257E00B>movdwordptr[7E2554],4B0
0040DE4AEB2Ajmpshort0040DE76
0040DE4CC70550257E000>movdwordptr[7E2550],500
0040DE56C70554257E002>movdwordptr[7E2554],320
0040DE60EB14jmpshort0040DE76
0040DE62C70550257E005>movdwordptr[7E2550],556
0040DE6CC70554257E000>movdwordptr[7E2554],300
0040DE768D4C240Cleaecx,dwordptr[esp+C]
0040DE7A51pushecx
0040DE7B6A20push20
0040DE7D68C49D7900push00799DC4;ASCII"ColorDepth"
0040DE8268089E7900push00799E08;ASCII"SETUP"
0040DE87FFD6callesi;kernel32.GetPrivateProfileIntA

由于在获取game.ini中分辨率Resolution数值后还继续读取了数据,因此HookGetPrivateProfileIntA的话,在40DE87这个CALL调用的时候,执行了我们预先已写好的内存改写代码,此时之前已被程序自身副赋值的宽(7E2550)与高(7E2554)将被新值覆盖,从而实现了修改屏幕分辨率这一功能。

游戏修改器下载TOP10

关于修改器 | 广告合作 | 人才招聘 | 意见建议 | 联系我们 | 网站地图| 版权保护投诉指引
沪ICP备19019421号 | 浙公网安备 330102002300468号
CopyRight © 2000-2025 WWW.FLOW51.COM All Right Reserved 51Game修改器集合平台网 版权所有