挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)不懂社区·好资源不错过·各位资源站大佬欢迎来采集搬运JD寻实力长期勤快开发,来实力代理,DMA内存,项目讨论群 【瓦--无畏】纯硬件锁,永久可用,无检测,源头厂家一手制作。稳定无异味,来实力代理 ██【我要租此广告位】██
查看: 3293|回复: 5
打印 上一主题 下一主题

[辅助源码分享] 另类驱动读写办法

[复制链接]

48

积分

11

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
37
海币
37
交易币
0
跳转到指定楼层
楼主
发表于 2021-8-8 19:23:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑


利用DuplicateHandle()无驱动的另类读写内存方法,理论上可以过游戏保护读写
BOOL DuplicateHandle(
  HANDLE   hSourceProcessHandle,
  HANDLE   hSourceHandle,
  HANDLE   hTargetProcessHandle,
  LPHANDLE lpTargetHandle,
  DWORD    dwDesiredAccess,
  BOOL     bInheritHandle,
  DWORD    dwOptions
);
这个API实现的是跨进程拷贝内核对象,比如进程句柄、文件句柄都是可以拷贝的对象,如果目标进程中存在这样的对象,则可以将该对象拷贝到另一个进程中去使用
第一个参数为要拷贝的目标进程句柄

第二个参数为目标进程中要拷贝的句柄

第三个参数为当前进程句柄

第四个参数传出拷贝出的新句柄,并且在当前进程中可以使用该句柄

首先举个例子解释一下这个用法

A进程正在运行,B进程有权限读写他并且已经打开了A进程,C进程拷贝B进程中打开A进程后的句柄来读写A进程内存

B进程代码如下:

#include <stdio.h>
#include <Windows.h>

int main()
{
        HANDLE  srchandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 3656);
        printf("handle = %d\n", (int)srchandle); //以十进制打印出句柄
        DWORD  num;
        ReadProcessMemory(srchandle, (LPCVOID)0xE805D8, &num, 4, NULL);
        printf("%d", num);  //打印出读出的内容

        system("pause");
        return 0;
}
运行结果:



由图可知,B进程读A进程内容为100,句柄十进制为240

此时我们运行C进程,代码如下

#include <Windows.h>
#include <stdio.h>

int main()
{
        HANDLE  copyhandle = (HANDLE)240; // 目标进程中将被拷贝过来的句柄
        HANDLE targethandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 14712); //目标进程句柄
        HANDLE newhandle; //存放拷贝出来的新句柄
        DuplicateHandle(targethandle, copyhandle, GetCurrentProcess(), &newhandle, 0, FALSE, DUPLICATE_SAME_ACCESS); //拷贝
        DWORD  num;
        ReadProcessMemory(newhandle, (LPCVOID)0xE805D8, &num, 4, NULL); //利用新句柄读写内存并打印
        printf("%d\n", num);
        system("pause");
        return 0;

}虽然游戏进程无法打开,但是加载驱动保护游戏的进程却可以被打开,比如图中的TslGame_BE.exe,而通常保护游戏的进程都是可以打开游戏的进程的,或者说在加载驱动之前就已经打开了游戏的进程,因此可以利用这个句柄

3.如何打开保护游戏的进程的句柄比如TslGame_BE.exe的句柄,很明显在第二点已经说过了,该进程并没有被保护,CE可以看见图标就意味着可以被打开



4.如何取得TslGame_BE.exe中打开游戏进程的句柄?很明显我们可以注入DLL下钩子,钩住TslGame_BE.exe中的OpenProcess() API,并传出句柄。向TslGame_BE.exe注入DLL比向游戏进程注入简单,游戏进程在加载前驱动已经加载好了因此除了ring0层之外很难注入,但是TslGame_BE.exe却可以被注入,只要摘掉该进程对LoadLibrary的钩子便可,然后利用DLL隐藏技术隐藏自身,HOOK API并传回句柄,再卸载掉注入的DLL






联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:分享一个x64追透【0海币】
下一篇:气泡开源上市青蛙范围追踪 免费送 免费送
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。

3正式会员
170/300

170

积分

4

主题

3

听众
已帮网友解决0 个问题
好评
2
贡献
166
海币
46
交易币
0
6#
发表于 2021-8-9 19:41:06 | 只看该作者
建议来个开源例子最实在点
回复 支持 反对

使用道具 举报

2

积分

0

主题

3

听众
已帮网友解决0 个问题
好评
1
贡献
2
海币
810
交易币
0
5#
发表于 2021-8-9 19:26:54 | 只看该作者
类驱动读写办法 [
回复 支持 反对

使用道具 举报

1931

积分

7

主题

13

听众
已帮网友解决0 个问题
好评
-1
贡献
1924
海币
9664
交易币
0
地板
发表于 2021-8-9 18:20:44 | 只看该作者
打开句柄=3天大礼包。
回复 支持 反对

使用道具 举报

8资深会员
1391/1800

1391

积分

44

主题

17

听众
已帮网友解决0 个问题
好评
-12
贡献
1347
海币
197
交易币
0
板凳
发表于 2021-8-8 21:39:24 | 只看该作者
从CSDN板砖都不发一下出处
回复 支持 反对

使用道具 举报

9超级会员
1823/2700

1823

积分

5

主题

14

听众
已帮网友解决1 个问题
好评
-2
贡献
1818
海币
7146
交易币
0
QQ
沙发
发表于 2021-8-8 19:37:25 | 只看该作者
建议来个开源例子最实在点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2025-5-6 08:46 , Processed in 0.123936 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

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