PE文件分析
(一) 替换DLL函数
通过修改PE
文件导入导出表
来更改函数。单纯分析PE文件是一件比较无聊的事,通过修改可以更加灵活的利用和理解PE文件。这就像生活一样,总要有一些特别的事,才能更加有灵感。学习本身就是生活的一部分,如何让程序更加灵活,是一个比较值得去实践的事,可以更加接近计算机的一些思想。
(二) 环境
VC++ 6.0
为了减少复杂度,用VC++ 6.0
编译sum.cpp sub.cpp
生成sum.dll sub.dll
,用dll_main.cpp
静态链接sum.dll
,要把dll_main
程序中的sum.dll的函数换成sub.dll的函数,改成两数想减,代码如下:
程序: https://github.com/sv4us/binary/blob/master/dll分析.zip
sub.cpp
extern "C" _declspec(dllexport) int sub(int a,int b);
int sub(int a,int b)
{
return a-b;
}
sum.cpp
extern "C" _declspec(dllexport) int sum(int a,int b);
int sum(int a,int b)
{
return a+b;