受斑竹XYZ之托,对BCYJ的bik外挂字幕工具做一下简要分析。, F& N5 w, L- s0 h, w6 E) m3 R; V
" `- e- ?, Q! a
这个工具主要用了DLL代理技术,又叫特洛伊DLL技术.1 ?3 f, A9 Z' u7 b* x" p+ G4 _
由于现有的windows中DLL的使用都没有用数字签名,所以我们可以把原来的DLL改名,自己做一个代理DLL,把无关函数原样转发,要修改的函数修改后再转发给原DLL.代理DLL必须要有和原DLL函数100%相同的导出函数。: p* a" i( _7 ^9 f+ i2 \
( l2 q( {7 N; d1 E, F. E' Y
BCYJ自己在播放bik的关键DLL的基础上制作了一个代理DLL,在关键函数中加入了显示中文字幕的功能。基本原理就是如此。具体实现细节还是比较复杂的,内嵌了汇编。& U& ?1 R9 l [& q; Z5 h
, [3 l2 @# E6 p9 V; h4 |4 F1 T
个人觉得这种方法还是相当不错的,和我用的HOOK方法类似。+ ^" U, M0 f9 z7 A* r3 |
6 | i& v9 p% V- D3 }
不知道当时有测试图片没有,想看看实际效果。 |