受斑竹XYZ之托,对BCYJ的bik外挂字幕工具做一下简要分析。
0 M* F" _+ V& ]5 z' m2 z( c5 s4 a$ q; Q5 }* K6 E% p
这个工具主要用了DLL代理技术,又叫特洛伊DLL技术.7 M6 B3 ?( u/ }; d
由于现有的windows中DLL的使用都没有用数字签名,所以我们可以把原来的DLL改名,自己做一个代理DLL,把无关函数原样转发,要修改的函数修改后再转发给原DLL.代理DLL必须要有和原DLL函数100%相同的导出函数。
2 ^4 W, ~4 j4 `: T$ E
- z% D# F' P# vBCYJ自己在播放bik的关键DLL的基础上制作了一个代理DLL,在关键函数中加入了显示中文字幕的功能。基本原理就是如此。具体实现细节还是比较复杂的,内嵌了汇编。6 E6 V @+ ^- C# l- Y
$ Q6 D4 Y7 c+ k7 J个人觉得这种方法还是相当不错的,和我用的HOOK方法类似。/ l6 `" s7 [; D% ^' \/ f# {) z
8 p+ u: H7 X7 H# l) m不知道当时有测试图片没有,想看看实际效果。 |