|
分享例程
界面截图: |
|
备注说明: |
- |
本帖最后由 薛袭人 于 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:
有使用的问题可以私信发我,我看见了就会回的!
|
评分
-
查看全部评分
|