受斑竹XYZ之托,对BCYJ的bik外挂字幕工具做一下简要分析。
+ {) \+ G1 J2 u. @9 `! ]2 u
% [0 i" X$ c+ E a% i2 F这个工具主要用了DLL代理技术,又叫特洛伊DLL技术.
# p! o: @7 b5 D2 U1 D由于现有的windows中DLL的使用都没有用数字签名,所以我们可以把原来的DLL改名,自己做一个代理DLL,把无关函数原样转发,要修改的函数修改后再转发给原DLL.代理DLL必须要有和原DLL函数100%相同的导出函数。
, w* B/ K, N' f/ }& ~" R8 A/ r5 g7 j; f5 S" f' I4 \; `( {3 Z* N
BCYJ自己在播放bik的关键DLL的基础上制作了一个代理DLL,在关键函数中加入了显示中文字幕的功能。基本原理就是如此。具体实现细节还是比较复杂的,内嵌了汇编。5 F2 a4 ?8 V7 k4 f5 T E
" U8 ]% n/ Z$ m) @. i0 v
个人觉得这种方法还是相当不错的,和我用的HOOK方法类似。/ M4 D7 D# u g$ Q9 L# ?3 N8 f
6 n z( v2 \5 ~! N, v! E7 d1 r
不知道当时有测试图片没有,想看看实际效果。 |