受斑竹XYZ之托,对BCYJ的bik外挂字幕工具做一下简要分析。+ O5 R8 v3 J8 s
+ @8 q( w& \" v' j: x% I0 X0 x$ S这个工具主要用了DLL代理技术,又叫特洛伊DLL技术./ U6 X+ R' b, X, I4 `1 d
由于现有的windows中DLL的使用都没有用数字签名,所以我们可以把原来的DLL改名,自己做一个代理DLL,把无关函数原样转发,要修改的函数修改后再转发给原DLL.代理DLL必须要有和原DLL函数100%相同的导出函数。
+ W4 D8 I# }/ T7 [) M% ?( Z; ?# u
+ A3 |: ?4 |! R! j5 y, `8 f( U5 dBCYJ自己在播放bik的关键DLL的基础上制作了一个代理DLL,在关键函数中加入了显示中文字幕的功能。基本原理就是如此。具体实现细节还是比较复杂的,内嵌了汇编。) {8 ^- x+ j: {8 L3 n% A2 x6 w8 t
& L# |( h7 |3 Z: d$ t0 S. X
个人觉得这种方法还是相当不错的,和我用的HOOK方法类似。
; q1 q$ O$ c+ H6 i. F; R
0 |! q& a' _* r1 v6 r不知道当时有测试图片没有,想看看实际效果。 |