) p% _. O8 m j/ ?! N. l3 h- b# u- Z; u, }, ?
用ida pro找到调用CreateFontA的源头函数如下。* u% T* I5 |/ S
从函数的参数可以看出,这应该就是字幕显示函数了。 4 D( G$ ?( m% h3 b; g关于后续修改,先修改CreateFontA函数的fdwCharSet,lpszFace这2个参数,也许就能出中文。 + s1 F# F& r! z. h. y/ s& k还不行的话,就自己写一个显示函数。以下函数中lpMultiByteStr就是指向字幕的指针。 ( o% T4 L) N. {" Z* a$ P
2 g3 {0 U [$ Q/ x4 k$ d3 ]& d
bool __thiscall sub_10058A00(void *this, int a2, int a3, int a4, int nNumber, int a6, DWORD a7, int a8, int xRight, int yBottom, LPCSTR lpMultiByteStr)2 l. B8 O3 |, j5 ?/ G/ c7 ]/ x
{' c/ R& z* q4 w) H
void *v11; // edi9 F, O) T) D0 g; R$ I
int v12; // eax0 {( D- |! W" }( E; K0 w
int v14; // ecx ' G, x& [) F9 p
int v15; // eax1 I) ?9 T8 w2 z/ k
char *v16; // eax - n2 w/ w7 C* \2 r' u
int v17; // eax ( ^+ X9 C3 x% {( Q; v& @
HDC v18; // ebp " {9 k0 _6 C2 G
int v19; // eax8 q( F; |: ~# z
int v20; // eax V- |/ g1 T& L: D0 @; U. x
int v21; // esi ( S ?; o% n/ g; l
char *v22; // eax + A/ c4 C' ~1 W; B( Y0 J. R5 r
int v23; // esi 4 i. a7 ?1 X. X m3 Y6 Y
int v24; // ecx- I5 L! c: r8 x' O6 g7 B
HBRUSH v25; // eax 7 w6 Y7 i& A! s1 z9 f
signed int v26; // ebx # c. x, p, B6 M9 x. x; G/ \) s