开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1683|回复: 31
收起左侧

[分享] 多功能驱动

[复制链接]
发表于 2024-2-12 06:02:08 | 显示全部楼层 |阅读模式   辽宁省铁岭市
分享例程
界面截图:
备注说明: -
本帖最后由 薛袭人 于 2024-2-12 06:09 编辑

新年快乐!易友们!
前段时间放假,发了个帖子问问大家想学习驱动什么功能,今天这个汇总的驱动来啦!
这段时间很忙,现实生活中事情很多,所以代码可能有些bug没有测试出来,我本人技术也很烂,请不要喷我
本次文件:驱动源码、64位dll源码、64位应用程序测试源码
热心的易友可以手动加工成32位dll,我自己想偷偷懒啦!!!(或者等我休息好的233,如果我重新上传了会重新发帖子的!)
我也没有写安装驱动的功能,因为实在是太累了呜呜呜,我的测试环境都是先使用驱动安装工具安装了驱动以后,在进行测试的!

所以在使用驱动前,请先将驱动文件写到硬盘上,然后安装驱动!驱动安装成功了以后才可以使用dll与驱动通讯!!!!
所以在使用驱动前,请先将驱动文件写到硬盘上,然后安装驱动!驱动安装成功了以后才可以使用dll与驱动通讯!!!!
所以在使用驱动前,请先将驱动文件写到硬盘上,然后安装驱动!驱动安装成功了以后才可以使用dll与驱动通讯!!!!

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

// 内存拷贝类型
#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         // 不擦除终止权限 其余正常保护


我尽量保证了不蓝屏,大家请在填写参数的时候万分仔细,总结一句话就是了
比如我要进行的操作设计指针 比如获取模块句柄
这个模块名称就是个文本,在易语言里就需要先取该文本的指针,然后将它转换为长整数型!
获取我要读取某个地址的数据
这个地址肯定是正常的传递,当成长整数传递,0x7FFFFFFFFFFF这种的
我要读取一个4字节的值,假设变量b用来储存数据
那么缓冲区里的内容就是 :获取b的指针,并把它转换到长整数型

就是参数为文本的,需要取文本指针转换长整数型后放进去
有返回数据的 比如取进程ID,获取模块地址,读内存...这些操作就是要把变量的指针转换为长整数型后放进去

还有一点就是,我所有的函数的返回值都是代码格式的,你可以看到错误原因

#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       // 出现异常


只需要对着表看就ok了


这个驱动里有一个功能需要注意,隐藏进程,这个进程我是用硬编码写的
在EPROCESS结构里,进程ID的在win11上的偏移是0x440,所以如果你要到其他版本上使用,最好先去查一下对应的偏移,百du应该就有的!

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

好啦,就说这么多,新年新气象,希望大家身体健康,完事如意!
新年快乐!
新年快乐!
新年快乐!

ps:
有使用的问题可以私信发我,我看见了就会回的!




NewMemTest.zip

43.92 KB, 下载次数: 156, 下载积分: 精币 -2 枚

代码文件

驱动源码截图1.png
驱动代码截图2.png
驱动代码截图3.png
64位dll源码截图.png

评分

参与人数 2好评 +2 精币 +4 收起 理由
空城爱你啊 + 1 + 1 支持开源~!感谢分享
冷眸藐视 + 1 + 3 支持开源~!感谢分享

查看全部评分

结帖率:0% (0/1)

签到天数: 2 天

发表于 2024-5-2 21:40:21 | 显示全部楼层   四川省内江市
谢谢 易语言怎么调用呢
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2024-5-2 17:55:40 | 显示全部楼层   江西省宜春市
asd137058 发表于 2024-2-27 19:50
IOCTL_IO_RAWMEM: 0x00022400     IOCTL_IO_RAWMEMEX: 0x00022404     IOCTL_IO_GETMODBASE: 0x000224 ...

大哥,你会转易语言使用吗
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2024-4-24 12:53:25 | 显示全部楼层   辽宁省沈阳市
由于在进行模块编译过程中
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 8 天

发表于 2024-4-18 23:27:53 | 显示全部楼层   河南省南阳市
大佬,你好。我是新手,系统是win10,编译工具是vs2019,编译是v142(你的是v143),系统已进入测试模式,没有使用Uefi启动,已开启 禁止使用驱动程序签名模式。

按照你的源码进行进行了编译,然后直接运行后全部是 1 , 驱动貌似没有效果。使用  net start xxx , 启动服务加载驱动,可以看到驱动能够加载正常且运行,但通过Test.exe进行测试,却全部返回1,而且也获取不了Pid,默认是 steam.exe ,获取不到,改了 notepad.exe ,也获取不到(已开启相应的进程)。

VX图片_20240418232336.png
VX图片_20240418232731.png

VX图片_20240418232737.png



回复 支持 反对

使用道具 举报

结帖率:33% (1/3)

签到天数: 5 天

发表于 2024-4-18 19:43:22 | 显示全部楼层   四川省巴中市
感谢大佬
回复 支持 反对

使用道具 举报

结帖率:83% (15/18)

签到天数: 1 天

发表于 2024-4-17 20:34:19 | 显示全部楼层   广西壮族自治区玉林市
试试看看,嘎嘎需要
回复 支持 反对

使用道具 举报

发表于 2024-4-11 18:27:28 | 显示全部楼层   四川省眉山市

支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2024-4-8 22:42:35 | 显示全部楼层   山东省青岛市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:30% (3/10)

签到天数: 10 天

发表于 2024-3-31 23:51:16 | 显示全部楼层   贵州省遵义市
没有易语言调用的么
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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