易语言驱动编写模板源码
系统结构:DriverUnload,DispatchCreate,DispatchClose,DispatchDeviceControl,DriverEntry,SDK_Hook,SDK_初始化Hook,SDK_取原始函数地址,SSDT_HOOK,Get_KeServiceDescriptorTable_ServiceTableBase_Address,Write_SSDT,ReadIntByAddr,Call,CALL_,GetProcAddressAddress,GetIntAddress,SYSCALL_INDEX,Get_Func_Address,NewZwOpenProcess,NewZwTerminateProcess,DbgPrint,DbgPrintInt,DbgPrintString,strlen,IoCreateDevice,IoCreateSymbolicLink,RtlAnsiStringToUnicodeString,RtlInitAnsiString,RtlFreeUnicodeString,IoIsWdmVersionAvailable,IoDeleteDevice,IoDeleteSymbolicLink,IoCompleteRequest,MmGetSystemRoutineAddress,ExAllocatePool,ExFreePool,
======驱动入口
| |
| |------ _启动子程序
| |
| |------ DriverUnload
| |
| |------ DispatchCreate
| |
| |------ DispatchClose
| |
| |------ DispatchDeviceControl
| |
| |------ DriverEntry
| |
| |------ SDK_Hook
| |
| |------ SDK_初始化Hook
| |
| |------ SDK_取原始函数地址
| |
| |------ SSDT_HOOK
| |
| |
======辅助
| |
| |------ Get_KeServiceDescriptorTable_ServiceTableBase_Address
| |
| |------ Write_SSDT
| |
| |------ ReadIntByAddr
| |
| |------ Call
| |
| |------ CALL_
| |
| |------ GetProcAddressAddress
| |
| |------ GetIntAddress
| |
| |------ SYSCALL_INDEX
| |
| |------ Get_Func_Address
| |
| |
======Fake函数
| |
| |------ NewZwOpenProcess
| |
| |------ NewZwTerminateProcess
| |
| |
======调用的Dll
| |
| |---[dll]------ DbgPrint
| |
| |---[dll]------ DbgPrintInt
| |
| |---[dll]------ DbgPrintString
| |
| |---[dll]------ strlen
| |
| |---[dll]------ _Write_Int
| |
| |---[dll]------ _Read_Int
| |
| |---[dll]------ _Write_String
| |
| |---[dll]------ _Read_String
| |
| |---[dll]------ _Write_DRIVER_OBJECT
| |
| |---[dll]------ _Read_DRIVER_OBJECT
| |
| |---[dll]------ _Write_IRP
| |
| |---[dll]------ _Read_IRP
| |
| |---[dll]------ IoCreateDevice
| |
| |---[dll]------ IoCreateSymbolicLink
| |
| |---[dll]------ RtlAnsiStringToUnicodeString
| |
| |---[dll]------ RtlInitAnsiString
| |
| |---[dll]------ RtlFreeUnicodeString
| |
| |---[dll]------ IoIsWdmVersionAvailable
| |
| |---[dll]------ IoDeleteDevice
| |
| |---[dll]------ IoDeleteSymbolicLink
| |
| |---[dll]------ IoCompleteRequest
| |
| |---[dll]------ MmGetSystemRoutineAddress
| |
| |---[dll]------ _Read_SSDT
| |
| |---[dll]------ ExAllocatePool
| |
| |---[dll]------ ExFreePool
调用的DLL命令:
.DLL命令 DbgPrint, , "ntoskrnl.lib", "@_DbgPrint"
.参数 Buffer, 文本型
.DLL命令 DbgPrintInt, , "ntoskrnl.lib", "@_DbgPrint"
.参数 Format, 文本型
.参数 Value, 整数型
.DLL命令 DbgPrintString, , "ntoskrnl.lib", "@_DbgPrint"
.参数 Format, 文本型
.参数 Value, 文本型
.DLL命令 strlen, 整数型, "ntoskrnl.lib", "@_strlen"
.参数 buffer, 文本型
.DLL命令 _Write_Int, , "ntoskrnl.lib", "@_memcpy"
.参数 目的地址, 整数型
.参数 源变量, 整数型, 传址
.参数 大小, 整数型
.DLL命令 _Read_Int, , "ntoskrnl.lib", "@_memcpy"
.参数 目的变量, 整数型, 传址
.参数 源地址, 整数型
.参数 大小, 整数型
.DLL命令 _Write_String, , "ntoskrnl.lib", "@_memcpy"
.参数 目的地址, 整数型
.参数 源变量, 文本型, 传址
.参数 大小, 整数型
.DLL命令 _Read_String, , "ntoskrnl.lib", "@_memcpy"
.参数 目的变量, 文本型, 传址
.参数 源地址, 整数型
.参数 大小, 整数型
.DLL命令 _Write_DRIVER_OBJECT, , "ntoskrnl.lib", "@_memcpy"
.参数 目的地址, 整数型
.参数 源变量, DRIVER_OBJECT, 传址
.参数 大小, 整数型
.DLL命令 _Read_DRIVER_OBJECT, , "ntoskrnl.lib", "@_memcpy"
.参数 目的变量, DRIVER_OBJECT, 传址
.参数 源地址, 整数型
.参数 大小, 整数型
.DLL命令 _Write_IRP, , "ntoskrnl.lib", "@_memcpy"
.参数 目的地址, 整数型
.参数 源变量, IRP, 传址
.参数 大小, 整数型
.DLL命令 _Read_IRP, , "ntoskrnl.lib", "@_memcpy"
.参数 目的变量, IRP, 传址
.参数 源地址, 整数型
.参数 大小, 整数型
.DLL命令 IoCreateDevice, 整数型, "ntoskrnl.lib", "_IoCreateDevice@28", , .
.参数 DriverObject, 整数型, , PDRIVER_OBJECT
.参数 DeviceExtensionSize, 整数型
.参数 DeviceName, UNICODE_STRING, 传址
.参数 DeviceType, 整数型
.参数 DeviceCharacteristics, 整数型
.参数 Exclusive, 逻辑型
.参数 DeviceObject, 整数型, 传址, PDEVICE_OBJECT*
.DLL命令 IoCreateSymbolicLink, 整数型, "ntoskrnl.lib", "_IoCreateSymbolicLink@8"
.参数 SymbolicLinkName, UNICODE_STRING, 传址
.参数 DeviceName, UNICODE_STRING, 传址
.DLL命令 RtlAnsiStringToUnicodeString, 整数型, "ntoskrnl.lib", "_RtlAnsiStringToUnicodeString@12"
.参数 DestinationString, UNICODE_STRING, 传址
.参数 SourceString, ANSI_STRING, 传址
.参数 AllocateDestinationString, 逻辑型
.DLL命令 RtlInitAnsiString, , "ntoskrnl.lib", "_RtlInitAnsiString@8"
.参数 DestinationString, ANSI_STRING, 传址
.参数 SourceString, 文本型, 传址
.DLL命令 RtlFreeUnicodeString, , "ntoskrnl.lib", "_RtlFreeUnicodeString@4"
.参数 UnicodeString, UNICODE_STRING, 传址
.DLL命令 IoIsWdmVersionAvailable, 逻辑型, "ntoskrnl.lib", "_IoIsWdmVersionAvailable@8"
.参数 MajorVersion, 字节型
.参数 MinorVersion, 字节型
.DLL命令 IoDeleteDevice, , "ntoskrnl.lib", "_IoDeleteDevice@4"
.参数 DeviceObject, 整数型
.DLL命令 IoDeleteSymbolicLink, , "ntoskrnl.lib", "_IoDeleteSymbolicLink@4"
.参数 SymbolicLinkName, UNICODE_STRING, 传址
.DLL命令 IoCompleteRequest, , "ntoskrnl.lib", "_IoCompleteRequest@8"
.参数 Irp, 整数型
.参数 PriorityBoost, 整数型
.DLL命令 MmGetSystemRoutineAddress, 整数型, "ntoskrnl.lib", "_MmGetSystemRoutineAddress@4"
.参数 SystemRoutineName, UNICODE_STRING
.DLL命令 _Read_SSDT, , "ntoskrnl.lib", "@_memcpy"
.参数 目的变量, SSDT, 传址
.参数 源地址, 整数型
.参数 大小, 整数型
.DLL命令 ExAllocatePool, 整数型, "ntoskrnl.lib", "_ExAllocatePool@8"
.参数 a, 整数型
.参数 size, 整数型
.DLL命令 ExFreePool, 整数型, "ntoskrnl.lib", "_ExFreePool@4"
.参数 addr, 整数型
原贴 [易语言首发]PCVX小程序解密 因为 我也不懂 就看了下这个 PC小程序解密.e 发出来不知道怎么用,所以 度娘一步步找答案得到 的 自行研究捉摸了下 仅供学习参考 1.打开 PC小程序解...
易语言模块基址获取源码,模块基址获取,GetModuleBaseAddress...
易语言流程控制编译原理源码,流程控制编译原理,是否汉字,读字符,是否运算符,是否逻辑运算符,指针回溯,跳过空格,跳过注释,代码块,取程序返回值,外部接口_代码块执行,外部接口_表达式计算,表达式计算,逻辑判断,文本到逻辑,函数调用,函数_位或,函数_测试,函数_信...
易语言搜索程序隐藏代码源码,搜索程序隐藏代码,枚举子程序...
易语言打鱼学习链表源码,打鱼学习链表,入栈,出栈,清空链表,取顶数据,取索引处值,取长度,取值处索引,插入,删除,倒置,是否为空,到八,入队,出队...
易语言脚本解析类源码,脚本解析类,子程序1,QEHash,创建进入许可证_,进入许可区_,退出许可区_,删除进入许可证_,启动线程_,销毁线程_,寻找字节集_,内存_申请,内存_释放,内存_尺寸,内存_读整数,内存_写整数,内存_复制,内存_写字节集,内存_写文本,内存_读字节集,...
易语言核心算术计算解析源码,核心算术计算解析,信息框3,信息框2...
易语言获取网页和密码例程源码,获取网页和密码例程,取文档对象,取浏览器文档对象_API,注册消息_API,发送消息_API,置鼠标捕获窗口_API,取消鼠标捕获窗口_API,取窗口类名_API,取座标窗口句柄_API,取光标位置_API...
易语言置入代码调用子程序办法源码,置入代码调用子程序办法,普通写法,置入写法...