我们找到了F1-F8 功能CALL,并做了测试,发现287版武林外传,,已经封掉了WriteProcessMemory这个API函数所以写入代码再远程调用的方法已经不好用了,今天我们将介绍一种新的方法,来实现我们的代码---DLL动态链接库。
在这里我我对大纲进行了一下调整:
A、 把进阶篇的3-5 CALL调用之DLL实现 提前
1、DLL动态链接库构建,与调用
2、键盘勾子HOOK
3、编写代码,注入DLL(带窗口)至游戏
DLL文件(Dynamic LinkableLibrary 即动态链接库文件),是一种不能单独运行的文件,在运行时被系统加载到调用进程的虚拟空间中,成为调用进程的一部分。如果与其它 DLL 之间没有冲突,该文件通常映射到进程虚拟空间的同一地址上。
1、Dll部分
新建-其它-DLL向导
2、EXE部分
LoadLibrary
GetProcAddress
HMODULE LoadLibrary('DllGame.dll');
FARPROC GetProcAddress( HMODULE, 'add');
exe部分
var
hModule:Thandle;
begin
hModule:=LoadLibrary('DllGame.dll');
addX:=GetProcAddress( hModule, 'add');
self.Edit1.Text:=intTostr(addx(112,51));
Dll部分
Function add (a,b:integer):integer; //加法函数
begin
result:=a+b;
end;
exports
add;