int
喊话(const char
*
Msg,
int
频道) {
cout <<
"---------------------喊话Call调用开始-----------------------"
<< endl;
PVOID64 参数
1
=
(PVOID64)(
*
(ULONG_PTR
*
)(JX3ClientX64
+
喊话参数偏移)
+
喊话参数二级偏移);
cout <<
"参数1="
<<
hex
<< (ULONG_PTR)参数
1
<< endl;
char
*
MsgChar
=
(char
*
)malloc(strlen(Msg)
+
2
);
memset(MsgChar,
0x01
, strlen(Msg)
+
2
);
strcpy(MsgChar
+
1
, Msg);
cout <<
"MsgChar="
<< MsgChar << endl;
char
*
Addres
=
(char
*
)malloc(strlen(Msg)
+
2
);
memset(Addres,
0
, strlen(Msg)
+
2
);
喊话Call Func
=
(喊话Call)(JX3ClientX64
+
喊话Call偏移);
cout <<
"Call Addres="
<<
hex
<< (ULONG_PTR)Func << endl;
ULONG_PTR Size
=
strlen(Msg)
+
2
;
int
ret
=
Func(参数
1
, 频道,
0
,
0
, Addres, MsgChar, Size);
cout <<
"Func Return="
<< ret << endl;
free(MsgChar);
free(Addres);
cout <<
"---------------------喊话Call调用结束-----------------------"
<< endl;
return
ret;
}