Chinaunix首页 | 论坛 | 博客
  • 博客访问: 326341
  • 博文数量: 88
  • 博客积分: 2051
  • 博客等级: 大尉
  • 技术积分: 950
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-14 23:59
文章分类

全部博文(88)

文章存档

2012年(3)

2011年(2)

2010年(9)

2009年(14)

2008年(60)

我的朋友

分类: C/C++

2008-11-18 10:59:53

在coreplayer安装的sys/bin下面有三个文件,CorePlayer_20012FA6.exe,ZCore.exe,20012FA7.dll
我用这个工具查看了E32ImageFile 'CorePlayer_20012FA6.exe',怀疑这个工具并没有完全列出所有从dll导出的函数!
E32ImageFile 'CorePlayer_20012FA6.exe'
Idata Size=00000144
Offset of import address table (relative to code section): 00000bc8
4 imports from ZCore{000a0000}[ff000e9c].dll
         3
         1
         2
         4

ZCore.dll 20012FA7.dll导出任何东西!但是很明显20012FA7.dll才是实现!100KB zcore只有2KB!
这个工具可靠吗?
或者是coreplayer通过某种方式,在exe里导入了它自己写的一个dll,但是elf2e32这个工具查不到它用这种特殊方式导入的dll!
 
回想到我曾经在宝典里看到rlibrary这个类,以及在example里面的dll这个例子。
重新编译那个例子,然后在分析,发现果然,通过多态dll和rlibrary的方式call dll,exe并不需要明显的在mmp中声明依赖的dll!所以elf2e32发现不了!
 
在coreplayer中,我怀疑ZCore.dll就是定义了interface,然后在exe通过rlibrary的方式load了20012FA7.dll,exe只用到了zcore里面4个interface!牛啊!
 
并且它们的程序很小,应该是用arm编译器编译出来的
阅读(850) | 评论(0) | 转发(0) |
0

上一篇:真机调试原理

下一篇:关于选择接入点

给主人留下些什么吧!~~