commit
f59cdd9816
@ -408,3 +408,30 @@ OcrResult_t GetOcrResult(string path)
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RefreshLoginQrcode() {
|
||||||
|
DWORD refreshLoginQrcodeCall1 = g_WeChatWinDllAddr + g_WxCalls.rlq.call1;
|
||||||
|
DWORD refreshLoginQrcodeCall2 = g_WeChatWinDllAddr + g_WxCalls.rlq.call2;
|
||||||
|
|
||||||
|
__asm {
|
||||||
|
pushad;
|
||||||
|
pushfd;
|
||||||
|
call refreshLoginQrcodeCall1;
|
||||||
|
mov ecx, eax;
|
||||||
|
call refreshLoginQrcodeCall2;
|
||||||
|
popfd;
|
||||||
|
popad;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string GetLoginUrl() {
|
||||||
|
// 判断是否登录, 已登录直接返回空字符
|
||||||
|
int isLogin = (int)GET_DWORD(g_WeChatWinDllAddr + g_WxCalls.login);
|
||||||
|
if (isLogin) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD loginUrlAddr = g_WeChatWinDllAddr + g_WxCalls.rlq.url;
|
||||||
|
string qrcodeLoginUrl = "http://weixin.qq.com/x/" + string(reinterpret_cast<char*>(*(DWORD*)loginUrlAddr));
|
||||||
|
return qrcodeLoginUrl;
|
||||||
|
}
|
||||||
|
@ -41,7 +41,9 @@ WxCalls_t wxCalls = {
|
|||||||
/* call1, call2, call3 */
|
/* call1, call2, call3 */
|
||||||
{0x80A800, 0x80F270, 0x13DA3E0},
|
{0x80A800, 0x80F270, 0x13DA3E0},
|
||||||
/* call1, call2 */
|
/* call1, call2 */
|
||||||
{0xF59E40, 0xCE6730}
|
{0xF59E40, 0xCE6730},
|
||||||
|
/* call1, call2, url */
|
||||||
|
{0xAE9DB0, 0xCDA6F0, 0x3040DE8}
|
||||||
};
|
};
|
||||||
|
|
||||||
int LoadCalls(const wchar_t *version, WxCalls_t *calls)
|
int LoadCalls(const wchar_t *version, WxCalls_t *calls)
|
||||||
|
@ -156,6 +156,12 @@ typedef struct CallFm {
|
|||||||
DWORD call2;
|
DWORD call2;
|
||||||
} CallFm_t;
|
} CallFm_t;
|
||||||
|
|
||||||
|
typedef struct CallRfLoginQr {
|
||||||
|
DWORD call1;
|
||||||
|
DWORD call2;
|
||||||
|
DWORD url;
|
||||||
|
} CallRfLoginQr_t;
|
||||||
|
|
||||||
typedef struct WxCalls {
|
typedef struct WxCalls {
|
||||||
DWORD login; // 登录状态
|
DWORD login; // 登录状态
|
||||||
UserInfoCall_t ui; // 用户信息
|
UserInfoCall_t ui; // 用户信息
|
||||||
@ -179,6 +185,7 @@ typedef struct WxCalls {
|
|||||||
CallInviteCM_t irm; // 邀请群成员
|
CallInviteCM_t irm; // 邀请群成员
|
||||||
CallOcr_t ocr; // OCR
|
CallOcr_t ocr; // OCR
|
||||||
CallFm_t fm; // 转发消息
|
CallFm_t fm; // 转发消息
|
||||||
|
CallRfLoginQr_t rlq; // 刷新登录二维码
|
||||||
} WxCalls_t;
|
} WxCalls_t;
|
||||||
|
|
||||||
struct WxString {
|
struct WxString {
|
||||||
|
Loading…
Reference in New Issue
Block a user