转跳到内容

新人报到


ShadowFall

只显示该作者

只有该作者的内容显示中。 返回到主题

推荐贴

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 :)

如果有感兴趣的 后面可以再出一篇详细一点的

 

 

:SS02:欢迎,记得看新手指路牌和版规噢,最近有看什么新番吗

尽量补点自我介绍的内容会比较好的说,不过有没有其他的内容,比如说如何拆出游戏中的CG动画?

攸薩在路上看到一个蘑菇,捡起时被一个从天而降的木桶击中脑袋,花费了医药费 -2节操

链接到点评
  • 攸薩锁定了本主题
游客
此主题已关闭。
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款