首页
社区
课程
招聘
[求助]如何导出外部函数(函数位于其他dll)
发表于: 2009-8-13 09:41 4108

[求助]如何导出外部函数(函数位于其他dll)

2009-8-13 09:41
4108
可能这个标题描述的不尽准确,我的意思如下:

some.dll需要导出一系列的函数,其中部分函数系统已经存在,例如 some.dll要导出StrStrA,我知道Shell32.dll已经存在这个函数,那么如何让some.dll直接导出函数指向这个呢?我记得以前在写GetProcAddress时曾遇到 导出函数名为类似 Shell32.someAPI 的形式,作为外部引用的.

在VC中,如何实现呢?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 229
活跃值: (483)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
#include "stdafx.h"

#pragma comment(linker,"/export:MsgBox=User32.MessageBoxA")

BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                                         )
{
    return TRUE;
}
2009-8-13 11:04
0
雪    币: 229
活跃值: (483)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
3
#include "stdafx.h"

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
        // TODO: Place code here.
        HMODULE hMod=LoadLibrary("dllHijack.dll");
        typedef DWORD (__stdcall *MSGBOX)(DWORD,LPSTR,LPSTR,DWORD);
        MSGBOX addr=(MSGBOX)GetProcAddress(hMod,"MsgBox");
        addr(0,0,0,0);
        return 0;
}
这样就ok了
2009-8-13 11:05
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
谢谢,可以了.
2009-8-13 18:03
0
游客
登录 | 注册 方可回帖
返回
//