too many actual parameters!!!

betteroneisme 2010-08-24 07:16:09
typedef HINSTANCE (__stdcall *PLoadLibrary)(char*);
typedef FARPROC (__stdcall *PGetProcAddress)(HMODULE, LPCSTR);
typedef HINSTANCE (__stdcall *PFreeLibrary)( HINSTANCE );
typedef HINSTANCE (__stdcall *PGetModuleHandle)(HMODULE);

FARPROC PMessageBoxA;
FARPROC PWSAStartup;
FARPROC PSocket;
FARPROC Phtons;
FARPROC Pbind;
FARPROC Plisten;
FARPROC Paccept;
FARPROC Psend;
FARPROC Precv;
FARPROC Pclosesocket;
FARPROC PCreateProcessA;
FARPROC PPeekNamedPipe;
FARPROC PWriteFile;
FARPROC PReadFile;
FARPROC PCloseHandle;
FARPROC PCreatePipe;
FARPROC PTerminateProcess;
从网上找的一个木马代码 ,编译时 报 error C2197: 'int (__stdcall *)(void)' : too many actual parameters
基本上是针对 这个FARPROC
怎么通过编译??
...全文
898 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2010-08-25
  • 打赏
  • 举报
回复
偶遇到类似问题都是用
“每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。
betteroneisme 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 arong1234 的回复:]

不可能,错误信息很显然和一个不带参数的函数调用有关,和你贴的一点关系都没有引用楼主 betteroneisme 的回复:
typedef HINSTANCE (__stdcall *PLoadLibrary)(char*);
typedef FARPROC (__stdcall *PGetProcAddress)(HMODULE, LPCSTR);
typedef HINSTANCE (_……
[/Quote]
这个程序 是把dll中的函数地址取出来 然后用地址调用函数
比如

hKernel = LoadLibrary( "kernel32.dll");
myRemotePara.dwLoadLibrary = (DWORD)GetProcAddress(hKernel, "LoadLibraryA");
然后给赋值
PLoadLibrary LoadLibraryFunc = (PLoadLibrary)Para->dwLoadLibrary;

typedef HINSTANCE (__stdcall *PLoadLibrary)(char*);
arong1234 2010-08-24
  • 打赏
  • 举报
回复
不可能,错误信息很显然和一个不带参数的函数调用有关,和你贴的一点关系都没有[Quote=引用楼主 betteroneisme 的回复:]
typedef HINSTANCE (__stdcall *PLoadLibrary)(char*);
typedef FARPROC (__stdcall *PGetProcAddress)(HMODULE, LPCSTR);
typedef HINSTANCE (__stdcall *PFreeLibrary)( HINSTANCE );
typedef HINSTANCE (__std……
[/Quote]
winton_adlsy 2010-08-24
  • 打赏
  • 举报
回复
声明时的参数个数与调用时的参数个数对不上。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧