找回密码
 立即注册
查看: 389|回复: 4

[C/C++] 某多功能驱动源码(C++版)

[复制链接]
发表于 2024-4-25 19:08:49 | 显示全部楼层 |阅读模式
124.jpg

下载地址
游客,如果您要查看本帖隐藏内容请回复


驱动源码+64位dll源码+64位应用程序测试源码全打包!

功能介绍
读写内存(MmCopyVirtualMemory):这个函数只能读取拥有权限的内存,如果出现读不了的情况,可以试试使用更改内存属性更改保护后再读!
读写内存加强版(MDL)
获取模块地址
获取模块导出函数
申请内存
释放内存
更改内存属性
获取进程ID                                       
隐藏进程:修改进程ID达到的隐藏进程效果!一次只能隐藏一个,如果想隐藏下一个进程,需要把上一个恢复!
结束进程
使用Object回调(保护进程):通过拦截OpenProcess的句柄权限,我在驱动中预设值了几种拦截方式,下面会写出来!你也可以使用这个来破坏其他进程的保护,但是切记用这个函数没法破坏这个函数所保护的进程!
删除文件
创建线程
注入Dll:简单封装了一下,通过获取导出函数LoadLibraryA,然后远程写入dll路径,创建线程来运行它!

使用说明
没有写安装驱动的功能,在使用驱动前,请先将驱动文件写到硬盘上,然后安装驱动。驱动安装成功了以后才可以使用dll与驱动通讯!
比如要进行的操作涉及指针(比如获取模块句柄)这个模块名称就是个文本,在易语言里就需要先取该文本的指针,然后将它转换为长整数型。
获取我要读取某个地址的数据,这个地址肯定是正常的传递,当成长整数传递,0x7FFFFFFFFFFF这种的。
我要读取一个4字节的值,假设变量b用来储存数据,那么缓冲区里的内容就是 :获取b的指针,并把它转换到长整数型,就是参数为文本的,需要取文本指针转换长整数型后放进去。
有返回数据的 比如取进程ID,获取模块地址,读内存…这些操作就是要把变量的指针转换为长整数型后放进去。
隐藏进程,这个进程是用硬编码写的,在EPROCESS结构里,进程ID的在win11上的偏移是0x440,所以如果你要到其他版本上使用,最好先去查一下对应的偏移,百度应该就有的!

#define WIN11_PROCESSID                   0x440     // EPROCESS.UniqueProcessId偏移

// 内存拷贝类型
#define READ                 0         // 读
#define WRITE                1         // 写
// 进程隐藏类型
#define HIDE                 0         // 隐藏
#define SHOW                 1         // 显示
// 进程保护类型
#define PROPROCESS           0         // 设置被保护进程
#define HACPROCESS           1         // 这是白名单进程
// 进程保护类型
#define ERASES_ALL           0         // 擦除所有权限
#define ERASES_TERMINATE     1         // 只擦除终止权限
#define ERASES_NORMAL        2         // 正常的保护
#define ERASES_NOTERMINATE   3         // 不擦除终止权限 其余正常保护

所有的函数的返回值都是代码格式的,你可以看到错误原因
#define SUCCESS              0         // 成功
#define FAILURE              1                   // 失败
#define NO_ACCESS            2                   // 没有访问权限
#define CANNOT_FIND_PROCESS  3         // 找不到进程
#define CANNOT_FIND_MODULE   4         // 找不到模块
#define CANNOT_FIND_SECTION  5         // 找不到区段
#define CANNOT_FIND_ADDRESS  6         // 找不到地址
#define CANNOT_FIND_FILE     7         // 找不到文件
#define CANNOT_FIND_FUNCTION 8         // 找不到函数
#define CANNOT_FIND_DATA     9         // 找不到数据
#define CANNOT_FIND_DEVICE   10        // 找不到设备
#define EXCEPTION            999       // 出现异常






上一篇:韩服冒险岛自动登录+创建角色+寻路+接任务脚本 示例源码
下一篇:大漠模块中文版(栗子苏汉化)V7.2353 成品模块+模块源码
回复

使用道具 举报

发表于 2024-6-9 10:51:07 | 显示全部楼层
感谢楼主,感谢分享
回复

使用道具 举报

发表于 2024-6-27 20:47:17 | 显示全部楼层
可以可以学习一下驱动调用
回复

使用道具 举报

发表于 2024-7-1 10:10:30 | 显示全部楼层
6666666666
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|27CaT资源论坛

GMT+8, 2024-11-1 08:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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