
什么是smali 文搏桥磨件
Android程序文件, 即apk文件, 其实是一个zip压缩包, 其文件结构如下:
其中, classes.dex是程序的核心文件,是java语言的代码编译后的二进制字节码程序。这种字节码程序是编译专供机器阅读的, 类似于汇编语言的机器码。然而如果想直接阅读这部分程序, 最好的方法就是将该文件转化为smali文件。
apktool
著名的反编译工具 apktool 就可以完成这部分工作。 它将classes.dex文件反编译成一堆的smali文件, 这些文件按源码的包结构保存在各自的文件夹中。如下所示:
另外, apktool 工具强大之处在于它不仅可以反编译apk文件, 而且可以根据现有的smali 文件生成新的apk文件。 这就给汉化apk或者去除apk内嵌广告提供了可能。
smali语法类似于汇编语言的语法, 涉及寄存器的直接 *** 作, 可以直接阅读, 但羞涩难懂, 尤其是在代码混淆之后。
dex2jar
有人做了一个专门的工具 dex2jar 将classes.dex 转化为jar 文件, 通过 jd-gui 阅读。
但dex2jar 并不健全, 反编译出的java文件大部分都有编译错误。可以简单的阅读和分析, 但若是涉及到很细致的内容, 则还是需要依赖smali。 smali 文件的编辑器推荐使用 sublime + sublime-smali ,基斗 具体请参考文章 为Sublime Text安装smali代码语法高亮插件 。
利用反编译工具“安卓修改大师”可以修改Android应用程序的图标和名字。具体 *** 作请参照以下步骤。
1、在应用下载网站下载“安卓修改大师”软件,下载完成后,安装到电脑系统中。
2、在电脑上打开“安卓修改大师”应用,在反编译选项界面导入需要修改图标和名字的安卓应用。在这里导入的是安卓应用“单机斗地主”,安卓应用原安装包需搜此要事先下载在电脑中。
3、安卓应用导入之后,会出现一个兄袜提示,点击“否”直接进入常规信息的编辑界面。在编辑界面会出现安卓应用的各项信息。
4、在编辑界面,点击“替换图标”选项将应用的图标替换成需要的图标,在“应用名称”栏对应用名字进行修改,这里修改为了“谁是地主”。图标和名字可以根据个人需求修改。
5、在“打包/签名”选项点击“开始打包”对修改后的安卓应用进行重新编译。
6、打包完成后,Android应用程序的图标和名字就已经被修改了。此时只要将新的安装包导入到手机上安装就可以了。导出方式有“安装至手机”和“导出世尘迅安装包”两种。
参考资料来源:百度百科-反向编译
参考资料来源:百度百科-apk
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)