【天堂论坛】玩机到天堂 买机找海洋西门子……灵感点亮生活 → [转]ELFPack / ELFLoader 从入门到精通
查看完整版本:[转]ELFPack / ELFLoader 从入门到精通
2008/7/3 17:09:36

ELFPack / ELFLoader 从入门到精通

<div class=t_msgfont id=postmessage_3902587>第一节:Siemens ELF简介: <div class=quote>
引用:
Siemens ELF(Executable and linking format)是由国外爱好者研究开发的一种新型补丁,它的使用就跟windows上的exe可执行文件一样方便。并且,它通过索引西门子手机的系统函数,建立了一个独立的Siemens ELF标准开发环境,使得我们开发Siemens ELF程序就如同开发win32应用程序一样方便。

如同windows对exe的支持一样,在手机上也应该建立相应的支持体系以运行Siemens ELF程序,这个支持体系的核心包括ELFloader(提供基本功能支持)、Function Library(或叫swilib,库函数索引)和FSWI(原名swihook,利用软中断指令访问已索引的库函数),这三个东西打包就被称为ELFPack,但也可以不包含需要持续更新的swilib在内。另外,还要加上一点必需的周边支持,如API(一些需要但没有找到存在手机内的具体位置的函数,手动编写了其代码)。

在siemens手机上建立库函数索引的最初概念来自于Master Patch(简称MP),作为同宗,Siemens ELF保持了对最近版本的Master Patch v14的完全兼容。

基于可扩展的角度,elf拥有一个“注册表”extension.cfg,并使用extD.elf来支持这个“注册表”。这个注册表的任务是扩展部分类型文件的打开方式和设定它们的显示图标。

基于可配置的角度,允许每个ELF都可以拥有自己的bcfg格式的配置文件,在手机上点击这个bcfg配置文件可以使用cfgedit.elf编辑配置,前提是在extension.cfg中设定好bcfg文件与cfgedit.elf的关联。最新版本已实现在退出编辑时达到配置效果的实时刷新。
</div>第二节:重要说明: <div class=quote>
引用:
基于可以理解的原因,本版不再提倡使用旧版本的ELFpack,想使用旧版本elfpack的请自行查阅相关版本发布原贴和教程说明。最新ELFPack版本为2.31(目前至少已到070923版本)。

本版所述的机型概念定义如下:
sgold x65,所有西系统的65机型;
sgold x75,除s75和sl75以外的其它西系统的75机型;
sgold,包含sgold x65和sgold x75的全部机型;
ELKA,包含E71和EL71;
Newsgold,包含S/SL75和其它西系统的b-s机型(如M/C81、S68),部分情况下不包含ELKA机型。
</div>第三节:ELFPack2.31(ELFPack2.2相同)简易使用说明: <div class=quote>
引用:
针对已使用旧版本ELF或MP的机油,强烈建议使用simoco备份通讯录、短信、重要记事……以及data盘(0盘)、cache盘(1盘)、config盘(2盘)下所有文件以后,恢复自己的原始干净的fullflash备份。这个备份应该在vk3.3的安装文件夹下的backup子文件夹里存在,或者由你自己做过备份。因为我们发现,很多新手因为在不干净的系统上直接操作导致各种怪问题的出现。

在刷入上述ELFpack所包含的补丁之前,首先下载对应elf2.2以上的ZBin或data包,建立如下文件夹并放入对应ELF2.2以上版本的如下文件:
所有sgold机型Newsgold中不支持扩展卡的机型 请在data盘根目录下(0:\)建立ZBin文件夹;
支持扩展卡的Newsgold机型请在扩展卡根目录下(4:\)建立ZBin文件夹;
所有机型并在ZBin下建立ETC、Daemons和IMG三个子文件夹;
所有机型需将extD.elf放入Daemons文件夹,extension.cfg放入ETC文件夹;
所有机型需将data包里IMG下的png图片放入IMG文件夹,必须至少存在ELF_SMALL.png和ELF_BIG.png,不可改名。

Newsgold机型(包括ELKA)依次刷入ELFPack2.3(已包含fswi)、Function Library(或叫swilib)和API,最新已有支持中文版的elfloader,还需加刷apicode和codemap(newsgold);
Sgold机型依次刷入ELFPack2.3(已包含fswi、keyhook和fwrite32/fread32)、big Function Library(或叫biglib、swilib)和API,最新已有支持中文版的elfloader,还需加刷apicode和codemap(sgold);

需要使用mp3的原不支持mp3的sgold机型,需继续加刷audiohook
ELFPack2.3(已包含fswi)、Function Library(或叫swilib)和API   点击这里  ,找对应机型目录
apicode和codemap   点击这里
</div>
<div class=quote>
引用:
置于ZBin\Daemons下的ELF程序会随开机启动,所以需慎重选择放置于此目录下的ELF,以免出现死机等情况。

置于ZBin\IMG目录下的png图片会在开机的时候加载入内存。将png图标命名为十进制的pit.png,可以替换手机内置图标,达到图片补丁的目的。

需要注意的是,开机启动的elf和png图片补丁虽然使用很方便,但是由此会给系统带来部分额外的资源消耗,所以也需要考虑过分使用会造成的开机缓慢、内存不足、操作变慢甚至死机等情况。
</div><div class=quote>
引用:
与MasterPatch v14的兼容:
如要在正常使用ELF2.2以上版本的基础上做到同时使用MPv14,需要刷入正常使用mpv14的除了swihook(或fswi)以外的其他补丁(swihook已被整合在ELFLoader中),其中的API和lib,mpv14和ELF共用。

因为ELF的使用偶尔会出现开机死机问题,需要撤销ELFLoader来处理,此时MP也将不能使用。处理方案是,一并撤销MP类相关补丁;或者,临时刷入swihook或fswi(推荐)。建议各位保留早期的swihook(或fswi)以备不时之需。

特别提醒注意,Newsgold机型请使用兼容elf2.2的mp v14版本。

简单的判断方法是,发布于2007.04.19以后的vkp格式MP补丁和dis文件补丁为支持elf2.2版本;凡是老版本不兼容elf2.2以上的mp补丁,也已经在2007.04.19重新编译出兼容ELF2.2的新版本;其他发布在07.04.19以前,没有07.04.19后的新版本发布的mp补丁,则仍可正常使用。
</div>第四节:extension.cfg教程: <div class=quote>
引用:
;本说明支持ELFloader2.0以上;
;各类型文件可以设定java或elf关联打开;
;本文件设定的关联优先于系统本身的关联;
;关联不强制传给java参数。例:关联microreader打开txt文件,部分版本总是会打开上次使用的文件,不管点击哪个txt文件。

;格式说明:
;此处四句是必须存在的。
;txt使用RUN这个定义的链接打开
;未知类型且未定义类型文件使用ALTRUN定义打开;
;所有未设定图标的文件类型默认使用此处unk的small和big图标。
RUN=4:\ZBin\TED\TED.elf
SMALL=4:\ZBin\img\UNK_SMALL.png
BIG=4:\ZBin\img\UNK_LARGE.png
ALTRUN=4:\ZBin\TED\TED.elf

; 添加txt图标方式如下:
[txt]
SMALL=4:\ZBin\img\TXT_SMALL.png
BIG=4:\ZBin\img\TXT_LARGE.png

;添加其他文件关联
;RUN设定打开本类型文件的程序
;SMALL和BIG分别是小图标和大图标,可以不设定。
[bcfg]
RUN=4:\ZBin\utilities\CfgEdit.elf
SMALL=4:\ZBin\img\BCFG_SMALL.png
BIG=4:\ZBin\img\BCFG_LARGE.png

;其它说明
;1.不要在externsion.cfg中加入:
[elf]
RUN=
SMALL=
BIG=
;elf文件图标是在ELFLoader中规定的,只要在img文件夹下放入elf_small.png和elf_big.png即可,无需另外定义。
;如果不按上述操作,很可能死机!

;2.Newsgold系统,包括elka仅使用了大图标,一般只需要放置大图标即可。
</div>第五节:常见问题:更多见6楼 <div class=quote>
引用:
1。进入某些特定文件夹发生100%概率的死机
可能原因及解决办法:
⑴重新上传extD.ELF文件;
⑵检查extension.cfg格式是否正确;
⑶检查此特定文件夹下的文件类型的关联图标设置;

2。开机死机
紧急处理方案(ELF2.2或以上):撤销ELFLoader(或名ELFPack)开机,或仍需刷入旧版本swihook开机(当仍在使用MP补丁或dis文件补丁时),或撤销所有ELF和MP相关补丁后开机。
可能原因及解决办法:
⑴对照第二、三节检查是否已正确放置必需文件和刷入必须补丁。若确定是因为缺少必要文件死机时,可以不使用紧急处理方案,去除sim卡开机,在提示插入sim卡界面连接simoco等放入必要文件即可;
⑵检查ZBin\daemons文件夹下的自启动elf项目,依个排除,同理可使用去除sim开机的方法处理;
⑶是否使用了不兼容补丁。需特别注意Newsgold系统的MP v14相关补丁,应使用注明兼容ELF2.2的版本,或2007.04.09以后发布的版本。没有找到以上两项的旧版MP和dis补丁,仍可以使用。
⑷SL75、S68和sgold X75机型需特别注意下载使用的extD.ELF的版本。

3。使用某些(版本)ELF死机
可能原因及解决办法:
⑴未及时更新swilib(或名big lib、Function Library等),各中文机型最新版本swilib请关注此处
⑵使用了错误版本的ELF。各sgold X75机型需要特别注意此问题。
⑶swilib存在错误,请在此报告
</div><div class=quote>
引用:
ELFPack / ELFLoader 版本记录:
ELFLoader_ANSI_Standard ——ELF完美支持ANSI中文标准版
ELFPack2.3
ELFloader2.2
ELFLoader2.1
ELFloader2.0+
ELFLoader2.0   SGOLD     NEWSGOLD
ELFLoader1.8++
ELFloader1.6
</div></div>
Powered by BBSXP 2007 ACCESS © 1998-2024
Processed in 0.05 second(s)