PE文件隐藏输入表函数
程序员文章站
2024-02-26 12:48:52
...
1、输入表隐藏的作用,就是让所有的PE查看器找都不到该函数。
2、示例:
(1)、编写代码,并编译:
#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
MessageBox(NULL,"This is a tesr!","PETest",MB_OK);
return 0;
}
(2)、编译后,使用PEtools打开,如下图,目的是隐藏MessageBoxA函数:
(3)打开源码,找到MessageBoxA定义:
typedef int(WINAPI *MessageBoxAT)(
HWND hWnd ,
LPCSTR lpText,
LPCSTR lpCaption,
UINT uType);
MessageBoxAT pMessageBoxA=(MessageBoxAT)GetProcAddress(LoadLibrary("USER32.dll"),"MessageBoxA");
(4)、使用局部调用该函数:
3、打开编译后的文件,发现我们的USER32.dll的MessageBox已经消失。哈哈哈,打工告成。为了使代码更好看,整洁,可以专门创建头文件,然后全局调用,此处我们是局部调用。 如何全局请自行思考。
上一篇: 软件设计模式学习(十二)组合模式
下一篇: jsp源码实例4(搜索引擎)