博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apk编译/反编译工具baksmali… 分类: Android安装及...
阅读量:4962 次
发布时间:2019-06-12

本文共 953 字,大约阅读时间需要 3 分钟。

原文地址:
作者:

 下载地址:

用法如下:首先把baksmali-1.4.1.jar和smali-1.4.1.jar文件放到android sdk安装路径下的tools里面,把apk用WinRAR解压并提取classes.dex文件,也放入tools里面,然后用命令行,cd tools目录下,输入java命令:

java -jar baksmali-1.4.1.jar -o classout/ classes.dex 

前提是你的path路径中有你的Java安装目录下的bin文件夹路径,这样才可以在任意路径下使用java 命令,还有classout/后要加个空格。  

执行成功后你会发现tools目录下多了一个classout文件夹,里面就是smali类型的文件,里面是反编译出的代码,但是不是java代码,还是能看出变量和方法的。

我们可以用apktool+dex2jar+jd_gui反编译apk文件,来学习人家的架构及界面等。

apktool: 可以解析资源文件,比如布局文件xml等,方便查看。

dex2jar:可以将dex文件转换成jar文件
用法:
1.将apk文件后缀改成rar,然后解压,取出其中的classes.dex,放到任意位置;
2.进入cmd,cd到dex2jar所在文件夹,输入命令dex2jar.bat %classes.dex所在目录%class.dex
3. 命令完成后在%class.dex所在目录%就会生成jar文件
jd_gui:能够将jar文件反编译成java代码
用法:
打开jd_gui,然后将jar包拖放到主界面,就可以看到源代码了。

用jd_gui来看反编译出的Java代码,这样便于寻找自己想要改的东西,找到后可以到baksmali classout下去修改相应的地方。然后是利用smali编译回去:
命令如下:

java -jar smali-1.4.1.jar classout/ -o classes.dex

把classout下编译成classes.dex然后把classes.dex放回apk下覆盖原来的classes.dex文件。

转载于:https://www.cnblogs.com/leansmall/p/4715832.html

你可能感兴趣的文章
mybatis实战教程二:多对一关联查询(一对多)
查看>>
NodeMCU文档中文翻译 3 构建固件
查看>>
前端学习☞jquery
查看>>
10分钟搞懂树状数组
查看>>
Spring Cloud与微服务构建:微服务简介
查看>>
HTTP缓存和CDN缓存
查看>>
HDU-1171 Big Event in HDU(生成函数/背包dp)
查看>>
Babel 是干什么的
查看>>
cocos2dx-3.0(8)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法
查看>>
Mysql数据库乱码总结
查看>>
BZOJ.3160.万径人踪灭(FFT Manacher)
查看>>
CODE[VS] 1842 递归第一次
查看>>
20180418小测
查看>>
Spring Cloud是怎么运行的?
查看>>
12 联结表
查看>>
数字三角形
查看>>
NGUI 减少drawcall规则
查看>>
三元表达,匿名函数
查看>>
前端笔记-基础笔记
查看>>
【LeetCode & 剑指offer刷题】查找与排序题6:33. Search in Rotated Sorted Array(系列)
查看>>