看流星社区

 找回密码
 注册账号
楼主: ツ未ヰ来ャ

[Delphi] 如何在NP下读写游戏内存及如何进入NP进程

[复制链接]

该用户从未签到

发表于 2015-12-27 02:20:17 | 显示全部楼层
支持看流星社区

该用户从未签到

发表于 2016-2-13 23:00:53 | 显示全部楼层
回复 1# ツ未ヰ来ャ


    ghgfgfg 发挥好

该用户从未签到

发表于 2017-3-19 19:40:47 | 显示全部楼层
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题
星社区›» 【编程专区】›:::C++交流:::›DLL版内存搜索器VC源码› 参与/回复主题

该用户从未签到

发表于 2017-3-23 18:31:26 | 显示全部楼层
进入游戏呢?下面介绍两种方法

该用户从未签到

发表于 2017-8-3 14:54:03 | 显示全部楼层
学习学习 谢谢楼主

该用户从未签到

发表于 2017-8-21 00:10:45 | 显示全部楼层
谢谢 看看 谢谢

该用户从未签到

发表于 2018-6-6 02:30:56 | 显示全部楼层
看看好东西

该用户从未签到

发表于 2018-10-2 21:20:32 | 显示全部楼层
说下我是怎样不用DLL注入也可以CALL游戏里的函数吧.
其实我是用过程注入的.意思是说我将要CALL的游戏函数写到一个过程里.然后在目标进程中建立一个内存空间,把我写的过程的注入到该空间里.具体怎么做呢? 我就用我的程序里的一个小功能来做个介绍吧!
就用完美国际的角色死亡回城的CALL来说明,下面是代码及说明:
本帖隐藏的内容
//过程注入函数
function TForm1.FunIn(Hid:cardinal;FunName:pointer):cardinal;  
var
{要注入线程的窗口句柄和临时存放的句柄}
TmpHandle: THandle;
ThreadID: Thandle;
ThreadAdd:pointer;
WriteCount: DWORD;
begin
ThreadAdd := VirtualAllocEx(Hid, nil, 4096, MEM_COMMIT, PAGE_EXECUTE_READWRITE);//在目标进程建立内存空间
WriteProcessMemory(Hid, ThreadAdd, FunName , 4096, WriteCount);//将要注入的过程写到上面建立的内存空间中
TmpHandle := CreateRemoteThread(Hid, nil, 0, ThreadAdd, nil, CREATE_SUSPENDED, ThreadID);//获得注入后过程的
句柄ID
result:=TmpHandle;//返回句柄ID
end;
//游戏回城CALL
procedure gohome;
var
Address:pointer;
begin
Address:=Pointer($005829B0); //函数入口地址
asm
pushad
MOV EAX,DWORD PTR DS:[$8F0F7C]
MOV EAX,DWORD PTR DS:[EAX+$20]
LEA ECX,DWORD PTR DS:[EAX+$EC]
CALL Address
popad
end;
//调用  
procedure TForm1.Button1Click(Sender: TObject);
begin
homeAdd:=FunIn(HPro, @gohome );//调用注入函数
ResumeThread(homeAdd); //运行注入的CALL线程
CloseHandle(homeAdd); //关闭线程
end;
以上我都写成这么的详细如果还有人说不会那我就没办法了.
如果真的不明白的话那就不要用CALL了.


本帖最近评分记录: 共条评分记录        清空我的评分动态
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-17 06:25

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表