如何解决“模拟”内联ASM的函数
一个朋友在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 举报,一经查实,本站将立刻删除。