Smali是什么?

Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。

官方介绍:https://code.google.com/p/smali/

为什么要学习Smali?

一句话:smali是做Android软件逆向分析必须学习的内容!

至于反编译apk后你想做什么,你可以在法律允许的范围内尽情发挥!比如说去下广告啊,汉化啊。对于我们开发人员来说,主要还是学习一下别人优秀程序的高明之处。然后”借鉴”或者”微创新”…^_^

Smali编辑器推荐及代码高亮插件

对于Smali编辑器我使用的是Editplus,没有为什么,只是习惯。

安装方法:

下载附件:http://www.editplus.com/dn.php?n=smali.rar

  1. 将这两个文件放到editplus安装目录。
  2. 打开editplus,工具-> 首选项-> 语法。

3.添加Smali文件类型,设定smali文件类型的扩展名,然后选择语法文件。

设定好后,点击应用,就能看到效果了。附效果图: