维多利亚3吧 关注:100,234贴子:1,350,578
  • 9回复贴,共1

地图中文乱码修正字符串的查找方法

只看楼主收藏回复

最近比较忙,好久没玩P社游戏了,甚至PC都经常10天半个月的不开,导致游戏有更新我也常常不知道,还得经常由吧友提醒才知道。
其实这个字符串的查找和修改挺简单的,我也早就想单开一个帖子写出来了,无奈懒癌晚期,一拖再拖,直到拖的P社都勤快了……想想还是赶紧写出来吧
以下以维多利亚3为例说一下查找方法,CK3和IR同样适用。
1. 首先是准备工具x64dbg和Hxd64,这两个都是免费的软件,大家就各自从自己可信的渠道下载即可
2. 然后用x64dbg打开victoria3.exe,点击那一排标签中的“符号”,在符号标签页中双击左侧的victoria3.exe模块

3. 点击工具栏中的“Az”进入到模块字符串搜索界面,先等下边的绿色进度条到达100%,然后在搜索框输入“font atlas”,双击“Font atlas was cleared...”这个结果

4. 此时会跳到输出"Font atlas was cleared..."这条错误信息的指令,输入快捷键A(或者右键这条语句选择分析这个函数),再输入ctrl+home(或者右键菜单选择转到函数头部)

5. 从头部往下找到"jl victoria3.xxxx"这条跳转指令,记住左侧的16进制代码 0f8c8f030000,这个就是每次修改乱码所查找的字符串

6. 关闭x64dbg,用Hxd64打开victoria3.exe,搜索->字节序列,输入找到的字符串,点击全部列出,确认结果只有一个,然后将0f8c改成90e9,保存退出

6.a 如果全部列出的结果不止一个,就回到第5步,增加一些0f8c8f030000后边的字符,比如这里是4889442430,那增加后的字符串就可以是0f8c8f03000048,用这个字符串再在HxD64里查找。如果结果唯一就可以修改,如果结果还不唯一就继续加长直到唯一。
其实好多时候P社都不改地图文字的显示,这个字符串就不会变。只有在P社修改地图文字显示相关功能的时候,会导致这里的跳转偏移量改变,才需要重新查找。
具体原理我就不讲了,有技术基础的朋友现在应该已经知道是怎么回事儿了,我写出来的目的就是希望有能力的朋友在未来可以帮助没有技术基础无法自己查找自己修改的朋友。
同时我也欢迎有能力的朋友改进方法,消除潜在修改风险,以及欢迎有余力的朋友制作更友好的教程,包括并不限于图文教程,视频教程等等,以及在其他贴吧(CK3,IR),其他媒体渠道散播。
再散播和再制作不用引用我的帖子以及不用提我,总之我不对这个方法保有任何权利,只希望我抛出的这个砖能帮助需要的朋友,以及引出更好的玉。
结束。


IP属地:北京1楼2023-06-27 16:13回复
    支持技术贴


    IP属地:北京来自Android客户端2楼2023-06-27 17:29
    回复


      IP属地:四川来自iPhone客户端3楼2023-06-27 20:14
      回复
        技术大佬nb,可惜上次给在官方论坛提意见p社修过一次还是没完全修好


        IP属地:湖北来自Android客户端4楼2023-06-27 22:41
        回复
          大佬🐂


          IP属地:重庆来自Android客户端5楼2023-06-28 13:25
          回复
            改了之后发生错误了怎么办


            IP属地:北京来自iPhone客户端7楼2023-07-29 15:18
            回复
              1.4.1失效了,搜不到font atlas


              IP属地:上海来自Android客户端8楼2023-09-03 12:53
              收起回复
                大佬,大佬能更新下维多利亚3吗?


                IP属地:湖北9楼2023-12-07 14:55
                回复