资源简介

ExStudPE Visual Tools 是一个扩展StudPE、LordPE等软件的用于PE(32位)、PE+(64位)、NE、Elf(32位)、Coff、Lib格式二进制可执行目标文件(*.exe、*.dll、*.ocx、*.so、*.lib、*.obj、*.exp等)的分析、调试、十六进制编辑工具。 利用此工具可以方便的查找给定PE文件的一些常用的信息,如导入表、导出表、重定位表、资源、消息表、版本信息、PE附加数据等等。同时可以方便地实现给定程序代码的反汇编功能,同时提供了快速定位的有效解决方案。同时本程序也具有十六进制编辑器的基本功能。另外,本程序集成了对于目标文件的简单的调试功能(包括虚拟机调试与实体机调试),使用方便。特别适合于专业的PE分析研发人员使用。 鉴于需求的人较多,免积分下载位置如下: https://github.com/tankaishuai/ExStudPE_Visual_Tools

资源截图

代码片段和文件信息

// ExStudPE插件示例程式.cpp : Defines the entry point for the DLL application.
//

#include “stdafx.h“
#include “ExStudPE插件示例程式.h“
#include “../include/plugindef_sdk.h“


WNDPROC g_pfnMainWndProc = NULL;
BOOL g_blnIsLoaded = FALSE;

BOOL APIENTRY DllMain( HANDLE hModule 
                       DWORD  ul_reason_for_call 
                       LPVOID lpReserved
 )
{
    switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
g_pfnMainWndProc = NULL;
}break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
    }
    return TRUE;
}


LRESULT CALLBACK MainWndProc_NewHooked(HWND hWnd UINT uMsg WPARAM wParam LPARAM lParam)
{
if(uMsg==WM_COMMAND && LOWORD(wParam)==9001)
{
//
// 彈出一個信息框而已
//
MessageBox(hWnd_T(“你選擇了插件新添加的菜單項!“)_T(“^_^!“)MB_OK);
return TRUE;
}
else if(uMsg == WM_CLOSE)
{
//
// 還原窗口處理函數
//
SetWindowLong(hWndGWL_WNDPROC(LONG)g_pfnMainWndProc);
PostMessage(hWndWM_CLOSE00);
return TRUE;
}
return g_pfnMainWndProc(hWnduMsgwParamlParam);
}

extern “C“ EXSTUDPE_API BOOL PLUGIN_MAIN_CALLBACK PluginMain(PPLUGIN_PARAM_STRUCT pParams)
{
switch(pParams->dwMessage)
{
case WM_CREATE:
//
// 設置僅允許加載一次(重複加載此類插件會導致災難性的錯誤發生)
//
if(g_blnIsLoaded) return FALSE;
g_blnIsLoaded = TRUE;
// 
// 設置處理函數
//
g_pfnMainWndProc = (WNDPROC)SetWindowLong(pParams->hMainframeGWL_WNDPROC(LONG)MainWndProc_NewHooked);
//
// 此處必須返回TRUE
//
return TRUE;
break;
case WM_CLOSE:
break;
case WM_NOTIFY:
break;
case WM_CONTEXTMENU:
if(pParams->v143.hContextWnd==pParams->hTreeView
|| pParams->v143.hContextWnd==pParams->hDeASMList
|| pParams->v143.hContextWnd==pParams->hMainframe)
{
//
// 新添加右鍵菜單
//
AppendMenu(pParams->v143.hContextMenuMF_SEPARATOR00);
AppendMenu(pParams->v143.hContextMenuMF_STRING9001_T(“這是示例插件新添加的菜單! ^_^!“));
}
break;
default:
break;
}
return FALSE;
}


评论

共有 条评论