转跳到内容

新人报到


ShadowFall

推荐贴

大家好 我是一个苦逼的学生 还请多多指教

自己老社恐了 平时qq群都只看不水的 看到300字新生报到 人都蒙了

毕竟高考语文不及格 写作能力实在是太差了

 

接触论坛是在多年前玩某个黄油(AGH)时 搜攻略 就发现 ss同盟 了

当时贴吧论坛还没有现在这么惨烈 回过神来2021年了 再次看到了ss同盟

几个同时期的论坛却消失在互联网中了

一个能跨越我半个学生时代的论坛 想想也是不容易

而且虽然反感如此繁琐的穿越方式 但这样确实能过滤不愿意付出的人

毕竟要想过滤人 要么交钱要么花时间 没有选择付费而是通过这种方式也能让更多真正的爱好者进入

 

对于自己呢 算是老二次元吧 入坑动漫应该是樱花庄 入坑的gal应该是MakingLovers (这个真记不太清了 当时还没有记录自己玩gal的习惯)

废萌 / 剧情 交替着推 玩纸魔被整抑郁了就去玩糖调 看番也是差不多

 

现实中呢 自己涉猎广(特指计算机方面) 从网络安全到游戏制作都有接触

也因为涉猎广 现在比较迷茫 不知道精进的方向

做游戏固然美好 但自有国情在 正经程序员看似不错 只等35岁被裁 网安前途光明 就怕毕业红海

现在也只能不想那么多 走一步看一步了

 

 

剧透


感觉没有什么太多好谈的了 来点技术干货吧 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一下程序 就能直接打开没有验证正版的游戏了

接下来就是拆包 也就是提取文本 , cg 等等 ... 稍后来谈

算是完成了汉化的第一步 接下来就是

  • 解包游戏资源文件

  • 分析并提取文本/图片

  • 汉化翻译润色校对....

  • 回封文本/图片

  • 测试

  • 发布

所以说汉化组其实不容易 正常这一套流程下来1年很正常

不过话又说回来 其实程序反而要不了多少时间 因为这些对于dalao来说都是基本 除了用Unity的一些新gal 用的都是老引擎 大抵都被研究透了

90%的时间其实都在翻译润色校对上 除非是测试是遇到了奇怪bug

但好像每次测试必定出bug :)

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

 

 

,由ShadowFall修改
注释
赤紅の涙 赤紅の涙 60.00节操 欢迎
链接到点评

:mx051:嘛嘛嘛...其实新人报道的原意是让新人介绍介绍自己 说说自己玩游戏的历史什么的都行

干货的话可以考虑塞剧透里面 然后多补充点介绍自己的内容吧

总之还是欢迎新人,记得看看版规和指路牌 回复别人记得按一下引用 要修改的话点一下右上角三个点里面的修改

干货真的是太硬核啦()

链接到点评
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节操

链接到点评

创建帐号或登入才能点评

您必须成为用户才能点评

创建帐号

在我们社区注册个新的帐号。非常简单!

注册新帐号

登入

已有帐号? 登入

现在登入
×
×
  • 新建...

重要消息

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