问题描述
一个朋友在Visual Studio中开发了一个C ++项目,而我在CodeBlocks + MinGW中开发了一个类似的项目。 它是一个dll,在注入时调用了一个过程函数,在Visual Studio中,它很容易通过ASM内联实现,但是在我的项目中我无法做到这一点,因为MinGW中ASM的语法有点无聊,所以我我想在其他情况下使用“ typedef”:
typedef void(__stdcall *TSendPacket)(void*,int);
TSendPacket SendPacket = (TSendPacket)Infos.Addresses.sendpacket;
SendPacket(packet,size);
那样,我不需要直接使用ASM并获得相同的结果。我想为以下功能做类似的事情(这是我朋友做的方式):
__forceinline int ConectServer(char* IP)
{
static int Pthis = *(int*)0x7A7F38;
static int SubFunc = 0x402644;
_asm
{
MOV ECX,Pthis
MOV EAX,IP
PUSH EAX
CALL SubFunc
}
}
我尝试过这种方法,但是没有用:
typedef void(__stdcall *TConnectChannel)(int,char*);
不好。:使用“ typedef”进行函数调用的结果必须与我上面提到的ASM函数完全相同。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)