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

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

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

就像OllyDBG.exe那样!

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

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 7300
活跃值: (3758)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
海风月影 22 2007-12-18 00:27
2
0
我前一段时间写的忽悠.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

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