易语言驱动读取CreateProces类型的系统回调源码
系统结构:DriverEntry,CreateDevice,DriverUnload,IoCompleteRequest,安装代码,ExReferenceCallBackBlock,ExGetCallBackBlockRoutine,ExDereferenceCallBackBlock,获取子程序,cli,sti,KeServiceDescriptorTable,获取系统地址,ReadWordDate,执行_,CALL_,取子程序内部指针,取地址字节,指针到整数_,读取驱动_,写入驱动_,读取分派_,写入分派_,写入内存_,读取内存_,写入字节_,创建字符_,转到Un字符_,释放Un字符_,完成请求_,创建设备_,创建链接_,删除设备_,删除链接_,输出调试_,关闭句柄_,获取内核地址_,PsGetProcessImageFileName,PsGetCurrentProcess,PsLookupProcessByProcessId,PsSetCreateProcessNotifyRoutine,ObDereferenceObject,
======程序集
| |
| |------ _启动子程序
| |
| |------ DriverEntry
| |
| |------ CreateDevice
| |
| |------ DriverUnload
| |
| |------ IoCompleteRequest
| |
| |------ 安装代码
| |
| |------ ExReferenceCallBackBlock
| |
| |------ ExGetCallBackBlockRoutine
| |
| |------ ExDereferenceCallBackBlock
| |
| |------ 获取子程序
| |
| |------ cli
| |
| |------ sti
| |
| |------ KeServiceDescriptorTable
| |
| |------ 获取系统地址
| |
| |------ ReadWordDate
| |
| |------ 执行_
| |
| |------ CALL_
| |
| |------ 取子程序内部指针
| |
| |------ 取地址字节
| |
| |------ 指针到整数_
| |
| |
======调用的Dll
| |
| |---[dll]------ 读取驱动_
| |
| |---[dll]------ 写入驱动_
| |
| |---[dll]------ 读取分派_
| |
| |---[dll]------ 写入分派_
| |
| |---[dll]------ 写入内存_
| |
| |---[dll]------ 读取内存_
| |
| |---[dll]------ 写入字节_
| |
| |---[dll]------ 创建字符_
| |
| |---[dll]------ 转到Un字符_
| |
| |---[dll]------ 释放Un字符_
| |
| |---[dll]------ 完成请求_
| |
| |---[dll]------ 创建设备_
| |
| |---[dll]------ 创建链接_
| |
| |---[dll]------ 删除设备_
| |
| |---[dll]------ 删除链接_
| |
| |---[dll]------ 输出调试_
| |
| |---[dll]------ 关闭句柄_
| |
| |---[dll]------ 获取内核地址_
| |
| |---[dll]------ PsGetProcessImageFileName
| |
| |---[dll]------ PsGetCurrentProcess
| |
| |---[dll]------ PsLookupProcessByProcessId
| |
| |---[dll]------ PsSetCreateProcessNotifyRoutine
| |
| |---[dll]------ ObDereferenceObject
调用的DLL命令:
.DLL命令 读取驱动_, 整数型, "ntoskrnl.lib", "@_memcpy"
.参数 目标地址, 驱动类型, 传址
.参数 源地址, 整数型
.参数 长度, 整数型
.DLL命令 写入驱动_, 整数型, "ntoskrnl.lib", "@_memcpy"
.参数 目标地址, 整数型
.参数 源地址, 驱动类型, 传址
.参数 长度, 整数型
.DLL命令 读取分派_, 整数型, "ntoskrnl.lib", "@_memcpy"
.参数 目标地址, 分派类型, 传址
.参数 源地址, 整数型
.参数 长度, 整数型
.DLL命令 写入分派_, 整数型, "ntoskrnl.lib", "@_memcpy"
.参数 目标地址, 整数型
.参数 源地址, 分派类型, 传址
.参数 长度, 整数型
.DLL命令 写入内存_, 整数型, "ntoskrnl.lib", "@_memcpy"
.参数 目标地址, 整数型
.参数 源地址, 整数型, 传址
.参数 长度, 整数型
.DLL命令 读取内存_, 整数型, "ntoskrnl.lib", "@_memcpy"
.参数 目标地址, 整数型, 传址
.参数 源地址, 整数型
.参数 长度, 整数型
.DLL命令 写入字节_, 整数型, "ntoskrnl.lib", "@_memcpy"
.参数 目标地址, 整数型
.参数 源地址, 字节型, 传址
.参数 长度, 整数型
.DLL命令 创建字符_, 整数型, "ntoskrnl.lib", "_RtlInitAnsiString@8"
.参数 目标地址, 编码字符串, 传址
.参数 源地址, 文本型, 传址
.DLL命令 转到Un字符_, 整数型, "ntoskrnl.lib", "_RtlAnsiStringToUnicodeString@12"
.参数 目标地址, 编码字符串, 传址
.参数 源地址, 编码字符串, 传址
.参数 分配目标地址, 逻辑型
.DLL命令 释放Un字符_, 整数型, "ntoskrnl.lib", "_RtlFreeUnicodeString@4"
.参数 Unicode字符, 编码字符串, 传址
.DLL命令 完成请求_, 整数型, "ntoskrnl.lib", "@_IoCompleteRequest@8"
.参数 分派函数, 整数型
.参数 优先级, 整数型
.DLL命令 创建设备_, 整数型, "ntoskrnl.lib", "_IoCreateDevice@28"
.参数 驱动句柄, 整数型
.参数 设备长度, 整数型
.参数 设备名称, 编码字符串, 传址
.参数 设备类型, 整数型
.参数 设备属性, 整数型
.参数 设备独占, 逻辑型
.参数 设备句柄, 整数型, 传址
.DLL命令 创建链接_, 整数型, "ntoskrnl.lib", "_IoCreateSymbolicLink@8"
.参数 链接名, 编码字符串, 传址
.参数 设备名, 编码字符串, 传址
.DLL命令 删除设备_, 整数型, "ntoskrnl.lib", "_IoDeleteDevice@4"
.参数 驱动句柄, 整数型
.DLL命令 删除链接_, 整数型, "ntoskrnl.lib", "_IoDeleteSymbolicLink@4"
.参数 链接名, 编码字符串, 传址
.DLL命令 输出调试_, 整数型, "ntoskrnl.lib", "_DbgPrint"
.参数 格式, 文本型
.参数 数值, 整数型
.DLL命令 关闭句柄_, 整数型, "ntoskrnl.lib", "_ZwClose@4"
.参数 进程句柄, 整数型
.DLL命令 获取内核地址_, 整数型, "ntoskrnl.lib", "_MmGetSystemRoutineAddress@4"
.参数 系统名称, 编码字符串
.DLL命令 PsGetProcessImageFileName, 文本型, "ntoskrnl.lib", "_PsGetProcessImageFileName@4"
.参数 Process, 整数型
.DLL命令 PsGetCurrentProcess, 整数型, "ntoskrnl.lib", "_PsGetCurrentProcess@0", , Id
.DLL命令 PsLookupProcessByProcessId, 整数型, "ntoskrnl.lib", "_PsLookupProcessByProcessId@8"
.参数 ProcessID, 整数型
.参数 EProcess, 整数型, 传址
.DLL命令 PsSetCreateProcessNotifyRoutine, , "ntoskrnl.lib", "_PsSetCreateProcessNotifyRoutine@8", 公开
.参数 NotifyRoutine, 整数型
.参数 Remove, 逻辑型
.DLL命令 ObDereferenceObject, 整数型, "ntoskrnl.lib", "_ObDereferenceObject@4"
.参数 pObject, 整数型
原贴 [易语言首发]PCVX小程序解密 因为 我也不懂 就看了下这个 PC小程序解密.e 发出来不知道怎么用,所以 度娘一步步找答案得到 的 自行研究捉摸了下 仅供学习参考 1.打开 PC小程序解...
易语言模块基址获取源码,模块基址获取,GetModuleBaseAddress...
易语言流程控制编译原理源码,流程控制编译原理,是否汉字,读字符,是否运算符,是否逻辑运算符,指针回溯,跳过空格,跳过注释,代码块,取程序返回值,外部接口_代码块执行,外部接口_表达式计算,表达式计算,逻辑判断,文本到逻辑,函数调用,函数_位或,函数_测试,函数_信...
易语言搜索程序隐藏代码源码,搜索程序隐藏代码,枚举子程序...
易语言打鱼学习链表源码,打鱼学习链表,入栈,出栈,清空链表,取顶数据,取索引处值,取长度,取值处索引,插入,删除,倒置,是否为空,到八,入队,出队...
易语言脚本解析类源码,脚本解析类,子程序1,QEHash,创建进入许可证_,进入许可区_,退出许可区_,删除进入许可证_,启动线程_,销毁线程_,寻找字节集_,内存_申请,内存_释放,内存_尺寸,内存_读整数,内存_写整数,内存_复制,内存_写字节集,内存_写文本,内存_读字节集,...
易语言核心算术计算解析源码,核心算术计算解析,信息框3,信息框2...
易语言获取网页和密码例程源码,获取网页和密码例程,取文档对象,取浏览器文档对象_API,注册消息_API,发送消息_API,置鼠标捕获窗口_API,取消鼠标捕获窗口_API,取窗口类名_API,取座标窗口句柄_API,取光标位置_API...
易语言置入代码调用子程序办法源码,置入代码调用子程序办法,普通写法,置入写法...