首页
社区
课程
招聘
[原创]介绍Symbian E32Image文件处理工具:elftran
2009-7-15 13:55 11026

[原创]介绍Symbian E32Image文件处理工具:elftran

2009-7-15 13:55
11026
如果我们要深入分析Symbian平台的可执行文件就需要掌握其文件格式-E32Image。
前面的文章中翻译了E32Image格式的基本资料,可以给学习、研究者一些简单的参考。

在WIN32/X86平台针对PE文件格式有很多很好用的分析、修改工具比如PE Tools,PEdit等等,这些工具大大降低
了PE文件分析的难度。

实际上在Symbian平台同样有命令行工具可以用于E32Image文件的分析和修改。本文介绍的就是这样的一款工具:elftran.exe

elftran.exe是Symbian公司的产品,它的基本功能是将ELF格式的文件转换成E32Image格式的文件。在前面的翻译资料
中有介绍:Symbian平台的可执行文件编译连接之后,要使用elftran.exe将其转换为E32Image格式。


使用方法:

elftran [options] inputfile outputfile

elftran [options] e32imagefile



从使用方法中可以看到该工具还可以直接对E32Image格式的文件进行操作。

参数如下:

option: [-v] [[-no]call[entrypoint]] [-priority <priority>]
        [-stack <size>] [-heap <min> <max>] [-uid<n> <uid>]
        [-allowdlldata] [-datalinkaddress <base>] [-fixed] [-moving]
        [-align-const-section] [-const-section-address-mask <mask>]
        [-[no]compress] [-compressionmethod none|deflate|bytepair]
        [-capability "<list>"] [-version M.m] [-vid <id>]
        [-fpu <softvfp|vfpv2>] [-[default|un]paged]
        [-dump [h][s][c][d][e][i]]

可以看到elftran.exe提供了非常丰富的设置功能。可以设置程序的运行权限、堆栈大小、堆的最大最小值、uid等等。可以
压缩和解压E32Image文件。可以将文件信息dump到屏幕上等等。

一些简单示例:

01、解压E32Image文件
    elftran  -nocompress  dvdplayer.exe

02、压缩文件
    elftran  -compress  dvdplayer.exe

03、设置堆栈大小
    elftran  -stack 1024 dvdplayer.exe

04、Dump E32Image文件头
    elftran  -dump  h  dvdplayer.exe


    -dump 对应参数含义。

   h Header
    s Security info
    c Code section
    d Data section
    e Export info
    i Import table

这几个参数可以同时使用。

通过实验还证明,可以使用该命令可以修改uid的数值,相应的CRC会由程序自动调整。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
点赞7
打赏
分享
最新回复 (7)
雪    币: 178
活跃值: (134)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
pmma 1 2009-7-15 16:23
2
0
如果能处理塞班的rsc文件就好了,rsc有的是资源,有的是插件,虽然都是.rsc,但是有的rsc文件的部分数据结构还是有点像的,可惜这个工具不支持
uid的crc可以用uidcrc生成以后,用hexworkshop手工修改,不知道headcrc能不能用这个工具修改,前段时间改uid的时候用到了这个,不过后来还是用siscontent傻瓜式修改了~

收藏了~感谢
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2009-7-15 17:34
3
0
实验发现当uid发生改变是,head的crc也有改变。

前面的帖子里面我们讨论时我就说过,一条可能的路线是从系统配置的工具入手。

因为作为大公司一般不会做修改的时候“头痛医头脚痛医脚”,会兼顾整个程序。
在局部修改后整个程序也做必要调整以便整个程序都可以满足运行条件。

我这里没有条件实验,你可以试试看修改后能不能通过验证。
雪    币: 2604
活跃值: (64)
能力值: (RANK:510 )
在线值:
发帖
回帖
粉丝
加百力 12 2009-7-15 17:37
4
0
一般rsc文件应该也是有工具可以处理的。可以尝试从SDK提供的可执行文件中搜索有用工具。

根据以前做XARM和学习.NET汇编(MSIL)的经验,SDK中往往提供了很多有价值的工具。需要我们打开安装目录到下面去搜索搜索!很可能会有意外的收获。呵呵。
雪    币: 32
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ganthur 2010-2-16 01:18
5
0
学习一下。可能以后用的上
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
WHO-AM-I 2010-2-22 10:11
6
0
现在又流行google的手机操作系统了
雪    币: 219
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
justto 2010-6-13 17:05
7
0
有没有elftran.exe 的源码  发份给小弟  woaini80521@163.com
我想看看e32内部格式如何组织的 谢谢
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cblcbl 2010-6-17 16:33
8
0
偶也用的是塞班系统手机,感觉楼主的资料很有用,就是一时间看不懂。不过先收藏了。
游客
登录 | 注册 方可回帖
返回