首页
社区
课程
招聘
[求助]smali和dex的区别
发表于: 2015-12-4 15:24 9471

[求助]smali和dex的区别

2015-12-4 15:24
9471
各位老手,最近看了下逆向分析,有点越看越晕,有两个问题需要求助:
1、smali和dex区别是什么?有说smali是机器语言,而dalvik又执行的是dex,到底哪个是机器语言?还是都一样只是格式不同?
2、用工具将dex汇编成smali,再反汇编回dex,为什么文件大小变大了。。。
菜鸟一只,还望老鸟不惜赐教

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 3593
活跃值: (779)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
2
smali是语法格式...
dex是文件格式...
2015-12-4 15:34
0
雪    币: 81
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那意思是不是dex文件内容也是用smali语法写的呢?机器执行的还是dex,smali文件只是把dex整理好给人看的?
2015-12-4 15:40
0
雪    币: 81
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
那意思是不是dex文件内容也是用smali语法写的呢?机器执行的还是dex,smali文件只是把dex整理好给人看的?
2015-12-4 15:42
0
雪    币: 3593
活跃值: (779)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
5
dex是给虚拟机执行用的,你本身是看不懂的,但是可以按照dex的格式和dalvik的字节码格式把一个一个的字符串,类,函数啊这些解析出来,转换成你大概可以看懂的格式,就是smali语法
2015-12-4 15:50
0
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
dex字节码,类似于机器码,smali是反编译过的,类似于汇编
2015-12-4 16:33
1
雪    币: 6797
活跃值: (4451)
能力值: (RANK:600 )
在线值:
发帖
回帖
粉丝
7
打个比方,dex相当于PE文件的话,smali相当于汇编语言
2015-12-5 07:01
0
雪    币: 34
活跃值: (50)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
楼上说的对,已经很容易理解了。而且smali准确的说不能算汇编,只是一种中间层的类汇编语法。
2015-12-5 15:27
0
雪    币: 292
活跃值: (850)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
你用apktool解压apk之后可以看到一个比较完整的smali,当然了,在没有任何加固的状态下,而你直接解压apk得到的dex通过ida看到的也是smali
2015-12-5 17:22
0
游客
登录 | 注册 方可回帖
返回
//