1
1
mirror of synced 2025-02-28 06:50:49 +01:00

Update qr.cpp

This commit is contained in:
ptmaster 2024-03-28 16:24:12 +08:00 committed by GitHub
parent da82e958d7
commit 8572c9876d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -22,7 +22,7 @@ extern std::vector<HMODULE> plugins;
typedef void event (); typedef void event ();
typedef bool CheckQrEvent(); typedef bool CheckQrEvent();
typedef int GetQrEvent(unsigned char *buf_); typedef int GetQrEvent(int, unsigned char*);
namespace patches::Qr { namespace patches::Qr {
@ -163,15 +163,15 @@ HOOK_DYNAMIC (i64, __fastcall, copy_data, i64, void *dest, int length) {
} else if (gMode == Mode::Plugin) { } else if (gMode == Mode::Plugin) {
FARPROC getQrEvent = GetProcAddress (gPlugin, "getQr"); FARPROC getQrEvent = GetProcAddress (gPlugin, "getQr");
if (getQrEvent) { if (getQrEvent) {
unsigned char plugin_data[10086] ; unsigned char plugin_data[length];
int buf_len = ((GetQrEvent*) getQrEvent) (plugin_data); int buf_len = ((GetQrEvent*) getQrEvent) (length, plugin_data);
memcpy (dest, plugin_data, buf_len); if (buf_len > 0) {
memcpy (dest, plugin_data, buf_len);
}
gState = State::Ready; gState = State::Ready;
gMode = Mode::Card;
return buf_len; return buf_len;
} else { } else {
gState = State::Ready; gState = State::Ready;
gMode = Mode::Card;
return 0; return 0;
} }
} }