* ?( t" E+ W& P5 g. G+ O找到以后,在某个寄存器里应该有一个语音文件名,我们可以把它看作一个字幕ID,在调用播放语音文件的函数前用JMP方法插入一段我们自己的代码。调用exttextouw等函数就可以输出字幕ID。 9 a6 l4 e& ~" ?' ]' j9 L) I; i: _; f) C! x C1 k9 N8 {
最后在外部用HOOK方法,在exttextouw函数内把字幕ID替换为中文字幕即可。 % z0 _- t* E9 u* | p8 B/ a- M' ^1 ]$ y) ?( h
局限性 1 _' C& i) _4 X, Z! W只能适用于对话字模,不播放语音文件的字幕,如物品名就无法用此法。作者: 慕容枫叶 时间: 2009-3-21 07:49
还有一些问题。( w; g. {) s; g! ?
添加中文字幕的话(当然对一些喜欢看字幕游戏来说是好消息) & x+ _) Z$ }. A! B: ~大小会不会影响呢? / y' B# S1 r6 P! L2 m还有。8 F: C _3 C3 D7 g0 v
目前HOOK有没有突破呢?毕竟一些人都在用别的系统平台。比如LINUX WIN7 VISTA之类的。作者: firendless 时间: 2009-3-21 07:59
Introduction $ V3 [+ ] e0 d# f$ nIn the Microsoft® Windows™ operating system, a hook is a mechanism by which a function can intercept events (messages, mouse actions, keystrokes) before they reach an application. The function can act on events and, in some cases, modify or discard them. Functions that receive events are called filter functions and are classified according to the type of event they intercept. For example, a filter function might want to receive all keyboard or mouse events. For Windows to call a filter function, the filter function must be installed—that is, attached—to a Windows hook (for example, to a keyboard hook). Attaching one or more filter functions to a hook is known as setting a hook. If a hook has more than one filter function attached, Windows maintains a chain of filter functions. The most recently installed function is at the beginning of the chain, and the least recently installed function is at the end. ~( F* U. _9 v7 F1 f
5 d; \3 [# f: `! e/ X
When a hook has one or more filter functions attached and an event occurs that triggers the hook, Windows calls the first filter function in the filter function chain. This action is known as calling the hook. For example, if a filter function is attached to the CBT hook and an event that triggers the hook occurs (for example, a window is about to be created), Windows calls the CBT hook by calling the first function in the filter function chain. 3 N$ J( g: K2 n8 G; { + \6 R- l5 {% M) S8 F其他平台的用不了,如果用WIN模拟器还是Win平台就没问题。