受斑竹XYZ之托,对BCYJ的bik外挂字幕工具做一下简要分析。+ X8 Q' b8 K, `; G
" q# Y" }6 e' ]7 P( o9 |) m
这个工具主要用了DLL代理技术,又叫特洛伊DLL技术.& @+ ^1 q5 |: S- T( p. H
由于现有的windows中DLL的使用都没有用数字签名,所以我们可以把原来的DLL改名,自己做一个代理DLL,把无关函数原样转发,要修改的函数修改后再转发给原DLL.代理DLL必须要有和原DLL函数100%相同的导出函数。6 q) ~. F8 Q7 O6 R! ~# T! S: k8 \
F% S1 S: L) D: ?7 vBCYJ自己在播放bik的关键DLL的基础上制作了一个代理DLL,在关键函数中加入了显示中文字幕的功能。基本原理就是如此。具体实现细节还是比较复杂的,内嵌了汇编。
2 L: U2 Q2 \( M& k7 @, I( _6 Z8 g! r9 W2 J
个人觉得这种方法还是相当不错的,和我用的HOOK方法类似。
8 p, V! Y" \! Y3 h; H5 v$ Y# Q7 q7 G. B# W0 [1 Y3 S. l
不知道当时有测试图片没有,想看看实际效果。 |