メイでぃ!~ご主人様は同級生~ 免DVD化过程
准备工作
- 1、メイでぃ!~ご主人様は同級生~ 生肉本体
- 2、x64dbg
- 3、IDA(用于反编译出伪代码喂给AI分析,这里我没有贴出IDA分析的过程因为我当时没截图)
修改定位点
本作有8处需要进行修改的地方,以图中被我断点的MessageBoxA作为定位点 (cpu窗口->搜索->当前模块->跨模块调用->MessageBoxA)

跳过验证循环
以0x4405AC处(可用Ctrl+G跳转至此)为例,可以看到它的下方有一条jmp指令(无条件跳转)跳回上方,作用是当验证失败时若你选择不关闭游戏
则重新进行验证过程,nop(以90填充)此处便不再跳回验证直接进入游戏

跳过验证失败提示窗口
MessageBoxA的上方有两处je指令(满足条件则跳转),将第二条的十六进制从74 1B改为EB 1B,即je改为了jmp,这样便可以无条件地跳过验证失败提示窗口

跳过光驱选择窗口
最后再往上方移动,找到调用函数sub_47FFDB的位置,sub_47FFDB的返回值会决定程序是否弹出光驱选择窗口,下方有一条jne指令(满足条件则不跳转),
当且仅当eax=1时这条jne指令才不会跳转到光驱选择,将sub_47FFDB调用处的十六进制从E8 ?? ?? ?? 00(??表示未知)改为B8 01 00 00 00,即
mov eax,1,便可以把eax强制赋值为1,条件eax=1便永远满足

结语
这样序章和第一话的DVD验证就成功被肘击了,然后再将上述几个步骤在其余7处重复便完成本作的免DVD化

