使用c# 向游戏里CALL汇编模块,解决问题100分全送。
我在使用C#做诛仙的外挂。
现在已经可以从游戏进程中读取游戏数据了。
但是如何用CALL调用游戏里的指令还不会。
我已经知道怎么使用MASM32编写DLL给C#调用了。
但是我不知道怎么把游戏进程这个参数告诉它。
我只会一点C#,对汇编一无所知,游戏指令CALL也是从网上搜到的。
比如汇编代码是这样的:
//==================根据怪物ID进行选择========================
addr:=pointer($5785c0); //7.3更新
asm
pushad
mov esi,gwid//怪物ID
push esi
MOV ECX,DWORD PTR DS:[$900adc]
MOV ECX,DWORD PTR DS:[ECX+$20]
add ecx,$D4
call addr
popad
end;
他用的什么语言我也不清楚,
我想我大概要做的就是把asm和end;之间的汇编做成DLL
然后给C#调用。
但是这段汇编该在那个进程里使用,怎么告诉它?
也就是说,我想把游戏进程这个参数加进去,我该怎么做?
------解决方案--------------------http://www.codeproject.com/csharp/unmanage.asp
看看吧,全英文:)
是用VC把汇编嵌入写成dll,然后C#调用VC的dll。。。
这弯走的够长。。。
------解决方案--------------------The .NET Framework does not support this. Managed code has no concept of a consistent value for a function pointer because these function pointers are proxies that are built dynamically.
------解决方案--------------------我只会一点C#,对汇编一无所知,游戏指令CALL也是从网上搜到的。
????????????????
这样就开始写外挂了,佩服楼住的勇气!
------解决方案--------------------写外挂最好还是不要用c#吧
------解决方案--------------------我顶,没作过这个
------解决方案--------------------直接用VC做不是很简单?
干嘛要C#做这个?