48 lines
1.5 KiB
C
48 lines
1.5 KiB
C
|
#pragma once
|
|||
|
#include "afxwin.h"
|
|||
|
|
|||
|
#include "ChooseProcessDlg.h"
|
|||
|
#include <psapi.h>
|
|||
|
#pragma comment(lib, "psapi.lib")
|
|||
|
|
|||
|
// CViewDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
|
|||
|
|
|||
|
class CViewDlg : public CDialogEx
|
|||
|
{
|
|||
|
DECLARE_DYNAMIC(CViewDlg)
|
|||
|
private:
|
|||
|
DWORD m_dwID;
|
|||
|
BOOL GetMemoryInfo(DWORD dwID);
|
|||
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD>̵Ļ<CCB5>ַ
|
|||
|
BOOL GetProcessBaseAddress(HMODULE *lpBaseAddress, HANDLE hProcess);
|
|||
|
// <20>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ص<EFBFBD>DLLģ<4C><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
BOOL GetProcessDllName(HANDLE hProcess, HMODULE hBaseAddress, char szDllNameArray[MAX_PATH][MAX_PATH], DWORD &dwDllNum, BOOL b32);
|
|||
|
// <20><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>DLL<4C><4C>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ַ
|
|||
|
DWORD64 GetProcessDllBaseAddress(HANDLE hProcess, HMODULE hBaseAddress, char szDllName[MAX_PATH], BOOL b32);
|
|||
|
// <20><><EFBFBD><EFBFBD>DLL<4C>еĺ<D0B5><C4BA><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DLL<4C>ļ<EFBFBD><C4BC>ػ<EFBFBD>ַ
|
|||
|
// ԭ<><D4AD><EFBFBD>ǣ<EFBFBD><C7A3>ļ<EFBFBD><C4BC>Ƕ<EFBFBD><C7B6><EFBFBD>64k(0x10000)װ<>ؽ<EFBFBD><D8BD>ڴ<EFBFBD><DAB4>ģ<EFBFBD>DLL<4C><4C>һ<EFBFBD><D2BB>PE<50>ṹ<EFBFBD>ļ<EFBFBD>
|
|||
|
DWORD64 GetDllBase(HANDLE hProcess, DWORD64 dwFunctionAddress, BOOL b32);
|
|||
|
// <20><>ȡʹ<C8A1>õ<EFBFBD><C3B5>ļ<EFBFBD><C4BC>ص<EFBFBD>DLL<4C>еĵ<D0B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ
|
|||
|
DWORD64 GetFuncInDll(HANDLE hProcess, DWORD64 dwDllBaseAddress, char *lpszFuncName, BOOL b32);
|
|||
|
|
|||
|
|
|||
|
public:
|
|||
|
CViewDlg(CWnd* pParent = NULL); // <20><><EFBFBD><D7BC><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
virtual ~CViewDlg();
|
|||
|
|
|||
|
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
enum { IDD = IDD_DIALOG_VIEW };
|
|||
|
|
|||
|
protected:
|
|||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧<><D6A7>
|
|||
|
|
|||
|
DECLARE_MESSAGE_MAP()
|
|||
|
public:
|
|||
|
afx_msg void OnBnClickedButtonProcess();
|
|||
|
CString m_strProcess;
|
|||
|
CListBox m_ViewList;
|
|||
|
CString m_strDllName;
|
|||
|
CString m_strFunc;
|
|||
|
afx_msg void OnBnClickedButtonGetApi();
|
|||
|
};
|