【简介】由于《云之遥》自带的只有8个分辨率,导致部分无理想分辨率的机器上运行无法得到最完美的效果;本工具提供了分辨率修改功能,可以自己设置任意数值的分辨率!
注意1:由于加密机制原因,本工具仅支持繁体版V2.3.0,不支持简体版!
注意2:请务必将本程序与游戏主程序放置于同一目录下。否则将导致本程序无法运行!
注意3:部分杀毒软件会提示“风险注入”,请务必允许并将本程序加入“信任列表”!
【下载地址】点击下载
工具原理及说明请见“继续阅读” >>
本工具采用了Hook API外加Loader的形式来实现对屏幕分辨率内存数值的改写,采用Hook API的而不采用Loader监视内存的原因在于这个数值修改必须在游戏程序完成相关初始化前完成,否则分辨率修改将无法成功!
而同时,主程序采用了VMP加密,很明显,直接修改代码是不现实的,只能通过在程序到达入口点后Hook API来实现;当然,这一技术用在被SecuROM加密的简体版上是不可能的(由于SecuROM二次CreateProcess反调试,因此你找不到写内存的时机)
本程序Hook的API为kernel32.GetPrivateProfileIntA,Hook这个API的原因在于游戏程序是通过这个函数来读取game.ini获取分辨率设定值的,而这时Hook的并修改相应内存的话可以保证游戏程序中没有调用过分辨率宽高的设定值,SwdCF主程序中相关代码如下:
0040DDA4 8D4424 0C lea eax, dword ptr [esp+C]
0040DDA8 50 push eax
0040DDA9 6A 00 push 0
0040DDAB 68 D09D7900 push 00799DD0 ; ASCII "Resolution"
0040DDB0 68 089E7900 push 00799E08 ; ASCII "SETUP"
0040DDB5 FFD6 call esi ; kernel32.GetPrivateProfileIntA
0040DDB7 83F8 07 cmp eax, 7
0040DDBA A3 4C257E00 mov dword ptr [7E254C], eax
0040DDBF 0F87 B1000000 ja 0040DE76
0040DDC5 FF2485 04DF4000 jmp dword ptr [eax*4+40DF04]
0040DDCC C705 50257E00 0> mov dword ptr [7E2550], 400
0040DDD6 E9 91000000 jmp 0040DE6C
0040DDDB C705 50257E00 0> mov dword ptr [7E2550], 500
0040DDE5 C705 54257E00 0> mov dword ptr [7E2554], 400
0040DDEF E9 82000000 jmp 0040DE76
0040DDF4 C705 50257E00 A> mov dword ptr [7E2550], 5A0
0040DDFE C705 54257E00 8> mov dword ptr [7E2554], 384
0040DE08 EB 6C jmp short 0040DE76
0040DE0A C705 50257E00 9> mov dword ptr [7E2550], 690
0040DE14 C705 54257E00 1> mov dword ptr [7E2554], 41A
0040DE1E EB 56 jmp short 0040DE76
0040DE20 C705 50257E00 8> mov dword ptr [7E2550], 780
0040DE2A C705 54257E00 3> mov dword ptr [7E2554], 438
0040DE34 EB 40 jmp short 0040DE76
0040DE36 C705 50257E00 8> mov dword ptr [7E2550], 780
0040DE40 C705 54257E00 B> mov dword ptr [7E2554], 4B0
0040DE4A EB 2A jmp short 0040DE76
0040DE4C C705 50257E00 0> mov dword ptr [7E2550], 500
0040DE56 C705 54257E00 2> mov dword ptr [7E2554], 320
0040DE60 EB 14 jmp short 0040DE76
0040DE62 C705 50257E00 5> mov dword ptr [7E2550], 556
0040DE6C C705 54257E00 0> mov dword ptr [7E2554], 300
0040DE76 8D4C24 0C lea ecx, dword ptr [esp+C]
0040DE7A 51 push ecx
0040DE7B 6A 20 push 20
0040DE7D 68 C49D7900 push 00799DC4 ; ASCII "ColorDepth"
0040DE82 68 089E7900 push 00799E08 ; ASCII "SETUP"
0040DE87 FFD6 call esi ; kernel32.GetPrivateProfileIntA
由于在获取game.ini中分辨率Resolution数值后还继续读取了数据,因此Hook GetPrivateProfileIntA的话,在40DE87这个CALL调用的时候,执行了我们预先已写好的内存改写代码,此时之前已被程序自身副赋值的宽(7E2550)与高(7E2554)将被新值覆盖,从而实现了修改屏幕分辨率这一功能。
博主您好!不知道此留言博主能見到不?原爲找尋「漢之雲」分辨率修改方法,奈網路遍尋不獲。大宇官網「漢之雲」解析度介紹:支援解析度 1024×768、1280×1024、1440×900 更新後追加1280×800、1366×768、1680×1050、1920×1080、1920×1200是如此,但最新版補丁打過還是不支援1366×768。全網好像只有博主有這個「雲之遙」分辨率修改工具,想請問博主能不能也幫忙製作一款「漢之雲」分辨率修改工具?這廂先行謝過!軒五三部曲偏愛「漢之雲」,也不曉得DOMO怎回事,「漢之雲」支援解析度這般少。
後續考慮製作
翹首以待
mayafei大神您好,我和楼上的朋友一样,一直在找寻着轩辕剑系列3D化后的能修改为高分辨的辅助器,目前四代两部、五代云之遥后都有资源,就苦于寻找轩辕剑5、汉之云这两部的分辨率辅助器,楼上朋友已说了汉之云,而轩辕剑5画面精美,山海界各个国家风景迥然不同都很棒,提高其分辨率一定可以看到更完美的画面,虽然游戏已经旧了,但是作为老轩粉却十分偏爱这些用XP运行起来的老游戏!如您能百忙之中试一试制作,造福玩家,作为老轩粉的大家一定非常感激。非常感谢~~
大神你好,现在云之遥已经不能用账号登陆了,可安装了离线补丁,这个工具就不能用了,还有什么方法吗?
小幸姐的辅助能够支持云之遥离线版哈
可以修改全屏分辨率吗?只找到修改器。