易语言:Not found the kernel library or the kernel library is invalid何解
发布时间:2012-11-18 18:25:34 作者:佚名 我要评论
今天在运行程序的时候提示的错误,已经得知软件是用易语言开发的,需要组件,为了让软件运行我们只要本地安装易语言即可,不过文件有点大,只要软件好用,只要安装了
易语言:Not found the kernel library or the kernel library is invalid何解
首先明确"Not found the kernel library or the kernel library is invalid"的意思是什么?
其内容是指 “找不到核心库或核心库无效!”
易语言5.11正式版 (20101221) 更新版 官方同步 https://www.jb51.net/softs/7369.html
这是 用易语言编译出来的程序出现的一种错误现象.
那么,就有两种可能性,一种是 核心库缺失,另一种就是核心库无效,具体什么情况,听我慢慢诉来……
问题①:核心库是什么?
就是易语言的核心支持库(kernel.fne),主管易语言程序最基本的 操作,如API调用,WIN32组件等等
问题②:此类问题一般出现在 没有安装易语言的主机上。
也就是说,没有FNE文件可以调用。
就是说 没有把核心库给要运行程序的那台电脑。
要运行的那台电脑我用WRC代替吧,字很长,比较懒。
问题③:第一种 支持库缺失的具体情况,以及解决方案:
刚才说到,WRC上没有安装支持库(支持库实际上是个DLL文件),也就是自身没有支持库,必须得靠外界提供,通过这个支持库来完成一系列操作(就相当于DLL文件调用一样)。
通过 独立编译后,支持库文件(xx.fne)就被塞进EXE文件中了(作为文件中的一个资源存在),当运行程序的时候,把这个xx.fne释放出来,释放到TEMP(临时)目录中,然后如同调用DLL文件一样使用里面的函数(实际上,FNE支持库只有一个公开的导出函数GetNewInf,这个函数输出支持库的具体内容,多说无益,听懂则听,听不懂也无关紧要)。
当TEMP文件夹中有FNE支持库的时候,WRC中是不是就有支持库文件了呢?
那非独立编译 后EXE文件中 并没有被塞进FNE支持库对吧?那么,支持库都没有,让程序怎么运行呢?
因此,FNE支持库就不被塞进程序中(不作为这个程序的资源存在),而以文件的 形式存在(xx.fne),就相当与程序不全一样。
程序不全,缺少组件(支持库FNE),提示说“Not found the kernel library or the kernellibrary is invalid”就很正常了吧
解决方案也很简单:只要想办法 把支持库文件放到 EXE同目录下,就行了。
可以是安装易语言,也可以是把支持库COPY下来,也可以到网上单独下载,只要原理懂了,一切都好说。
问题④:第二种方法 支持库无效 的原因及解决方案:
如果是独立编译后,那当然也会出现这个问题了,看看OR后面说的是什么?没错,是支持库无效,这种情况通常是在被加壳易语言程序 脱壳后出现的。
由于脱壳后,破坏了 易格式原体,支持库自然也就无效了。(这个能听懂最好,听不懂无关紧要!)
还有的种种原因,大多数都是 破坏了易原体,解决办法很复杂。
这里介绍一中 解决方法:
祭出EcE(E-code explorer),用 16进制编辑器 分离出原体,再植入PE骨架就行了。
(这个不是本文的主要问题,一笔掠过,看雪学院上有很多这种文章,。)
但是EcE的作者monkey 很久就不更新了,猴先生 比我还懒!
因此这种方法也只是支持4.05以前的版本(也可能往后也兼容,我没有亲身试过,反正 EcE反编译易语言功能是4.05以前的版本才行呢!)
不过4.05以后的易语言程序,这种情况也相对少见些.
首先明确"Not found the kernel library or the kernel library is invalid"的意思是什么?
其内容是指 “找不到核心库或核心库无效!”
易语言5.11正式版 (20101221) 更新版 官方同步 https://www.jb51.net/softs/7369.html
这是 用易语言编译出来的程序出现的一种错误现象.
那么,就有两种可能性,一种是 核心库缺失,另一种就是核心库无效,具体什么情况,听我慢慢诉来……
问题①:核心库是什么?
就是易语言的核心支持库(kernel.fne),主管易语言程序最基本的 操作,如API调用,WIN32组件等等
问题②:此类问题一般出现在 没有安装易语言的主机上。
也就是说,没有FNE文件可以调用。
就是说 没有把核心库给要运行程序的那台电脑。
要运行的那台电脑我用WRC代替吧,字很长,比较懒。
问题③:第一种 支持库缺失的具体情况,以及解决方案:
刚才说到,WRC上没有安装支持库(支持库实际上是个DLL文件),也就是自身没有支持库,必须得靠外界提供,通过这个支持库来完成一系列操作(就相当于DLL文件调用一样)。
通过 独立编译后,支持库文件(xx.fne)就被塞进EXE文件中了(作为文件中的一个资源存在),当运行程序的时候,把这个xx.fne释放出来,释放到TEMP(临时)目录中,然后如同调用DLL文件一样使用里面的函数(实际上,FNE支持库只有一个公开的导出函数GetNewInf,这个函数输出支持库的具体内容,多说无益,听懂则听,听不懂也无关紧要)。
当TEMP文件夹中有FNE支持库的时候,WRC中是不是就有支持库文件了呢?
那非独立编译 后EXE文件中 并没有被塞进FNE支持库对吧?那么,支持库都没有,让程序怎么运行呢?
因此,FNE支持库就不被塞进程序中(不作为这个程序的资源存在),而以文件的 形式存在(xx.fne),就相当与程序不全一样。
程序不全,缺少组件(支持库FNE),提示说“Not found the kernel library or the kernellibrary is invalid”就很正常了吧
解决方案也很简单:只要想办法 把支持库文件放到 EXE同目录下,就行了。
可以是安装易语言,也可以是把支持库COPY下来,也可以到网上单独下载,只要原理懂了,一切都好说。
问题④:第二种方法 支持库无效 的原因及解决方案:
如果是独立编译后,那当然也会出现这个问题了,看看OR后面说的是什么?没错,是支持库无效,这种情况通常是在被加壳易语言程序 脱壳后出现的。
由于脱壳后,破坏了 易格式原体,支持库自然也就无效了。(这个能听懂最好,听不懂无关紧要!)
还有的种种原因,大多数都是 破坏了易原体,解决办法很复杂。
这里介绍一中 解决方法:
祭出EcE(E-code explorer),用 16进制编辑器 分离出原体,再植入PE骨架就行了。
(这个不是本文的主要问题,一笔掠过,看雪学院上有很多这种文章,。)
但是EcE的作者monkey 很久就不更新了,猴先生 比我还懒!
因此这种方法也只是支持4.05以前的版本(也可能往后也兼容,我没有亲身试过,反正 EcE反编译易语言功能是4.05以前的版本才行呢!)
不过4.05以后的易语言程序,这种情况也相对少见些.
相关文章
- 后缀名为bak的文件是备份文件,你修改了原文件的内容后,保存了修改后的内容,那么修改前的内容会自动保存为后缀名为bak的备份文件(前提是设置为保留备份),如果你想查看2013-12-11
WinCE6.0模拟器使用教程(GPS导航演示附wince6.0模拟器下载)
由于最近需要升级凯立德导航,用的是wince的系统,所以想测试一下效果,当我们下载一个新的导航程序及地图或者其他WinCE软件后,没必要先考到内存卡上,再插入导航仪中试用2015-01-20- 最新版的 SketchUp 2013 可让您在该产品内安装压缩的 Ruby 文件 (.rbz)2013-10-25
- 夜晚折腾VMware虚拟机,在windows7中,使用VM虚拟机安装Ghost版本xp,首先需要手动分区并格式化,这里使用的分区工具为Ghost镜像光盘里的PQ。2011-01-04
Google Earth Pro(谷歌地球)怎么注册?Google Earth Pro正版序列号免费
399美刀的Google Earth Pro(谷歌地球专业版)正式免费了,只需要简单注册即可免费获得正版序列号。Google Earth Pro注册界面并没有中文选项,对很多小伙伴走成了困扰,下2015-02-02比较详细的利用虚拟机对SD卡FAT32+EXT4+Ext4分区图解教程
教程教大家使用VirtualBox(虚拟机)工具进行对内存卡(SD)分成3个区(FAT32+EXT4+Ext4),以适用于某些ROM的需要,如G7安装ownhere的HD的ROM【DATA2EXT】2011-06-04- 首先明确认识,只有一部黑莓9000和一张联通WCDMA的语音卡是一定不能实现连接联通3G网络的,想都别想!2009-09-26
BlueStacks安卓模拟器如何注册并登陆Google账号
可能有部分玩家在使用BlueStacks安卓模拟器的时候提示需要添加Google账号,这种情况需要注册并登陆Google账号,接下来小编就为大家带来BlueStacks怎么添加Google账户的方法2014-08-11- 百中搜优化软件怎么样呢?怎么使用呢?这是一款针对百度排名优化的软件,下面小编为大家具体的讲解百中搜优化软件操作方法以及在使用的过程中遇到的一些问题,需要的用户快2016-10-19
最新评论