攸薩 发布于十一月 16, 2021 分享 发布于十一月 16, 2021 25 分钟前, ShadowFall 说道: 大家好 我是一个苦逼的学生 还请多多指教 自己老社恐了 平时qq群都只看不水的 看到300字新生报到 人都蒙了 毕竟高考语文不及格 写作能力实在是太差了 接触论坛是在多年前玩某个黄油(AGH)时 搜攻略 就发现 ss同盟 了 当时贴吧论坛还没有现在这么惨烈 回过神来2021年了 再次看到了ss同盟 就想着来加入论坛了 一个能跨越我半个学生时代的论坛 想想也是不容易 感觉没有什么太多好谈的了 来点技术干货吧 qwq 日厂生肉Galgame破解 日厂的galgame都是做了防止在非日文操作系统上运行的处理的 这些基本上都是通过调用winapi实现的 由于巨硬传统 能够获取到操作系统的api很多 User GetUserDefaultLangID GetUserDefaultLCID System GetSystemDefaultLangID GetSystemDefaultLCID 也有一些冷门的用时区信息 而且实际上调用的api多少带点差异 这种时候可以用 od / ida 查看导入表 看看有没有名字类似的函数 比如这个新出的galgame 思い出抱えてアイにコイ!! 使用了 GetUserDefaultUILanguage KERNEL32 这个时候直接去微软文档搜这个函数 https://docs.microsoft.com/en-us/windows/win32/api/winnls/nf-winnls-getuserdefaultuilanguage (以下内容数字默认十六进制) 实验一下就能知道 在日文系统下 它返回 411 中文返回 804 所以直接强制它返回411就行 CODE XREF: sub_4A6F80+2↑j call ds:GetUserDefaultUILanguage mov eax, 411h ; Keypatch modified this from: ; movzx eax, ax ; mov dword_58EE8C, eax ; Keypatch padded NOP to next boundary: 3 bytes .text:004A6F98 nop .text:004A6F99 nop .text:004A6F9A nop .text:004A6F9B retn C语言伪代码就是 ... else { GetUserDefaultUILanguage(); result = 0x411; } return result; 这样patch一下程序 就能直接打开没有验证正版的游戏了 算是完成了汉化的第一步 接下来就是 解包游戏资源文件 分析并提取文本/图片 汉化翻译润色校对.... 回封文本/图片 测试 发布 所以说汉化组其实不容易 正常这一套流程下来1年很正常 不过话又说回来 其实程序反而要不了多少时间 因为这些对于dalao来说都是基本 除了用Unity的一些新gal 用的都是老引擎 大抵都被研究透了 90%的时间其实都在翻译润色校对上 除非是测试是遇到了奇怪bug 但好像每次测试必定出bug :) 如果有感兴趣的 后面可以再出一篇详细一点的 欢迎,记得看新手指路牌和版规噢,最近有看什么新番吗 尽量补点自我介绍的内容会比较好的说,不过有没有其他的内容,比如说如何拆出游戏中的CG动画? 攸薩在路上看到一个蘑菇,捡起时被一个从天而降的木桶击中脑袋,花费了医药费 -2节操 链接到点评
推荐贴