受斑竹XYZ之托,对BCYJ的bik外挂字幕工具做一下简要分析。
8 n, d) S3 H# x' Z1 X) d2 P& [3 M }
这个工具主要用了DLL代理技术,又叫特洛伊DLL技术. |' x. x% d4 u: l
由于现有的windows中DLL的使用都没有用数字签名,所以我们可以把原来的DLL改名,自己做一个代理DLL,把无关函数原样转发,要修改的函数修改后再转发给原DLL.代理DLL必须要有和原DLL函数100%相同的导出函数。
$ y; X) N e7 V) S' p5 b: g1 x+ _& _8 d1 A! m# P. k% V
BCYJ自己在播放bik的关键DLL的基础上制作了一个代理DLL,在关键函数中加入了显示中文字幕的功能。基本原理就是如此。具体实现细节还是比较复杂的,内嵌了汇编。
2 m* C5 a* k+ D! z+ ?+ q+ |7 s
2 H) U4 ]% U& `: `1 _' q; B: g个人觉得这种方法还是相当不错的,和我用的HOOK方法类似。+ U0 J/ f7 V- n7 X; X3 k
, }4 z4 F4 ~% C" w, F) b+ _8 ~
不知道当时有测试图片没有,想看看实际效果。 |