首页
社区
课程
招聘
[求助]弱问,如何让EXE导出函数
发表于: 2007-12-17 23:25 9428

[求助]弱问,如何让EXE导出函数

2007-12-17 23:25
9428
弱问,如何让EXE导出函数供其他的应用程序调用?

就像OllyDBG.exe那样!

谁知道?
能够给个例子最好了,谢谢!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
2
我前一段时间写的忽悠.exe里面的一小段代码,方法不是很好,不过我想不出好方法了


#pragma comment(linker, "/EXPORT:p1=_GetOpCodeSize,@1")
#pragma comment(linker, "/EXPORT:p2=_SetOnBefore,@2")
#pragma comment(linker, "/EXPORT:p3=_SetOnAfter,@3")
#pragma comment(linker, "/EXPORT:p4=_My_ReadProcessMemory,@4")
#pragma comment(linker, "/EXPORT:p5=_My_WriteProcessMemory,@5")
#pragma comment(linker, "/EXPORT:p6=_My_ZwSetContextThread,@6")
#pragma comment(linker, "/EXPORT:p7=_My_CreateProcessA,@7")
#pragma comment(linker, "/EXPORT:p8=_myStrCmp@8,@8,NONAME")



#ifdef __cplusplus
extern "C"
{
#endif
	
void My_ReadProcessMemory(DWORD RetAddr,HANDLE hProcess, LPVOID lpBaseAddress,LPVOID lpBuffer,DWORD nSize,LPDWORD lpNumberOfBytesWritten);
void My_ZwSetContextThread(DWORD RetAddr,HANDLE ThreadHandle,CONTEXT * pContext);
	
void My_WriteProcessMemory(DWORD RetAddr,HANDLE hProcess, LPVOID lpBaseAddress,LPVOID lpBuffer,DWORD nSize,LPDWORD lpNumberOfBytesWritten);
void My_CreateProcessA(DWORD RetAddr,
					   LPCSTR lpApplicationName,
					   LPSTR lpCommandLine,
					   LPSECURITY_ATTRIBUTES lpProcessAttributes,
					   LPSECURITY_ATTRIBUTES lpThreadAttributes,
					   BOOL bInheritHandles,
					   DWORD dwCreationFlags,
					   LPVOID lpEnvironment,
					   LPCSTR lpCurrentDirectory,
					   LPSTARTUPINFOA lpStartupInfo,
					   LPPROCESS_INFORMATION lpProcessInformation
    );

int __stdcall myStrCmp(const char* a,const char* b);



#ifdef __cplusplus
};
#endif

2007-12-18 00:27
0
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
3
加个DEF文件
2007-12-18 22:42
0
雪    币: 281
活跃值: (2940)
能力值: ( LV12,RANK:610 )
在线值:
发帖
回帖
粉丝
4
我试了,不行啊!
用IDA看不到要导出的函数。
而OllyDBG.exe用IDA可以看到一堆导出函数的。
2007-12-18 22:55
0
雪    币: 281
活跃值: (2940)
能力值: ( LV12,RANK:610 )
在线值:
发帖
回帖
粉丝
5
呵呵,谢谢,我来试试!
2007-12-18 23:04
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
6
加DEF文件是可以的,但是编译完要把PE头里面dll的标志去掉才能运行,很不方便,也许是VC链接器的原因吧
2007-12-19 09:00
0
雪    币: 297
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
7
__declspec(dllexport) fundef
可以看到导出的函数.
但是,能不能使用是另外一回事.
2007-12-19 11:53
0
游客
登录 | 注册 方可回帖
返回
//