欢迎来到天天文库
浏览记录
ID:8858307
大小:35.50 KB
页数:6页
时间:2018-04-09
《雷少【每日一谈】爆料易语言编写驱动》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、雷少【每日一谈】爆料!易语言编写驱动!!!作者:雷少这个构思是由很多人提出过比如易语言我吃了youxyo的白月工程以及tiansin的驱动编写支持库Youxyo的白月工程具体方法如下:使用说明:易语言驱动编写使用复杂而且要求有驱动编写基础并且不怕麻烦人使用不建议新手使用由于易语言不支持指令所以很多结构要求自己计算偏移可以在VC中使用offsetof宏计算比如offsetof(DRIVER_OBJECT,DriverUnload)易语言必须为5.1测试版以上(支持lib调用)代码编写时DLL命令只能使用lib调用即库文件名必须为*.lib而不能是*.dll驱动中使用到的lib可以下
2、载xpddk从中获取扩充核心库时请小心指令的编写内核堆栈只有8096所以局部变量不能太多太大否则会蓝屏编译说明:1在etoolslink.ini中设置retain_intermediate_files=yes2在易语言按照例子程序编写代码将程序类型设置为Windows动态链接库3DriverEntry必须为公开且参数为2个这个是驱动入口_启动子程序将不会调用4将代码静态编译如果没有意外的话在目的目录中将生成一个*.obj文件5将这个obj文件进行link生成驱动link命令参数在下面说明link按照下面的格式调用(注意:没有换行符)将下面的目录修改成自己硬盘中正确的目录"C:
3、ProgramFileseVC98linker1binlink.exe""C:UsersLoWinDesktop11.obj""C:UsersLoWinDocumentsVisualStudioProjectsdkrnlnobjchki386krnln_static.lib""C:WINDDK2600libwxpi386toskrnl.lib""C:WINDDK2600libwxpi386hal.lib""C:WINDDK2600libwxpi386wmilib.lib"/MAP/machine:I386/M
4、ERGE:_PAGE=PAGE/MERGE:_TEXT=.text/SECTION:INIT,d/OPT:REF/OPT:ICF/IGNORE:4010,4037,4039,4065,4070,4078,4087,4089,4198,4221/INCREMENTAL:NO/FULLBUILD/STACK:0x40000,0x1000/driver/base:0x10000/align:0x80/subsystem:native,5.1/entryriverEntry@8/out:"C:UsersLoWinDesktop11.sys"如果想要link自动化可以自己写一个li
5、nk.exe将易语言指向自己的link.exe然后在link.exe中分析出正确的文件并调用正确的link.exe文件包中dkrnln是核心库源码目录dtest.e是示例驱动11.sys是编译后的驱动过行dbgview再加载驱动可以查看输出下载地址:http://www.3d56.net/thread-86622-1-1.html详细说明请看附件易语言我吃了具体方法如下1234tiansin的驱动编写支持库具体方法:支持库介绍:顾名思义本插件支持库即是为易语言编译驱动而开发的,本支持库与其它方式的易语言驱动编译的好处有如下几点:1.在IDE’编译菜单中’加入’驱动编译’子菜单进行
6、实时编译驱动程序,不用再去写批处理或其它方式进行编译.2.支持使用部分核心支持库命令(详细命令见文章尾部).3.支持在全局变量中定义各种数据类型/类/数组变量等.4.驱动程序在卸载时自动释放全局变量的内存空间.使用说明:1.运行安装包后程序会自动从注册表中读取易语言安装目录进行安装.2.在易语言支持库配置中选中‘驱动编译插件支持库’.3.打开安装时附带的任意一个例程源代码进行驱动编译测试.注:本支持库需要5.11版支持,否则无法正常编译驱动!支持核心库命令如下:如果如果真判断判断循环首循环判断首计次循环首变量循环首到循环尾跳出循环返回相乘相除整除求余数相加相减负取符号取绝对值取整
7、绝对取整四舍五入求次方求平方根求正弦求余弦求正切求反正切求自然对数求反对数是否运算正确置随机数种子取随机数等于不等于小于大于小于或等于大于或等于近似等于并且或者取反位取反位与位或位异或左移右移合并整数合并短整数赋值连续赋值重定义数组取数组成员数取数组下标复制数组加入成员插入成员删除成员清除数组数组清零取文本长度取文本左边取文本右边取文本中间字符取代码寻找文本倒找文本到大写到小写到全角到半角到文本删首空删尾空删首尾空删全部空文本替换子文本替换取空白文本取重复文本文本比较分割文本指针
此文档下载收益归作者所有