编译反编译工具要点汇总

本文总结了编译反编译工具的关键步骤,包括将jar、dex文件反编译为smali文件,smali文件再编译回classes.dex,以及framework.jar的反编译过程,并提及了应用签名的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、将jar、dex反编译成smali文件

1. gfw is a bitch.
2. baksmali/smali新github链接:https://bitbucket.org/JesusFreke/smali/downloads
   .jar下载链接:https://bitbucket.org/JesusFreke/smali/downloads  -------用这个
   这里可以下载到最新的baksmali和smali
3. 举例framework.jar,将framework.jar中的class.dex解压出来
4. 使用baksmali.jar对classes.dex进行反编译
java -jar baksmali-2.1.0.jar classes.dex -o outFolder/        --------目前最新就是这个,同时需要预安装好jdk及环境变量

5. 反编译后的.smali会产生在outFolder中。


二、smali文件编译回classes.dex

1. java -jar smali-2.1.0.jar outFolder/ -o classes.dex

2. 再把编译好的classes.dex放回到framework.jar中就行了


三、framework.jar反编译成.class和.java文件

1. 介绍两个工具:dex2jar和jad、jd-gui:各有千秋。结合起来用更佳
2. dex2jar: https://github.com/pxb1988/dex2jar
   jad:     http://varaneckas.com/jad/
   jd-gui:  http://jd.benow.ca/
3. 使用dex2jar对.jar或class.dex进行转换,执行命令: dex2jar.bat class.dex,将会生成一个classes_dex2jar.jar
3、jar文件中为.class,还没啥卵用。继续转换
4、转换成.java文件,用xjad或jd-gui即可。jd-gui有直接可视界面。xjad需要敲下命令,比如:jad -sjava packages/*.class
注:dex2jar可.dex文件,也可以直接处理framework.jar。


四、签名

曾经dex2jar有签名bat:d2j-apk-sign.bat,现在没了。用java
有四个key,直接找了source code就不翻译了
testkey -- a generic key for packages that do not otherwise specify a key.
platform -- a test key for packages that are part of the core platform.
shared -- a test key for things that are shared in the home/contacts process.
media -- a test key for packages that are part of the media/download system.

命令:

java -jar signapk.jar testkey.x509.pem testkey.pk8 已编译(未签名).apk 已编译(已签名).apk


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值