【逆向安全】-工具(三)Jadx & Apktool

2024-08-13  本文已影响0人  Stan_Z

一、Jadx

1.1 介绍

GitHub - skylot/jadx: Dex to Java decompiler
jadx是图形化逆向工具,可以直接打开apk、aar、dex、jar等文件,通常用于做java代码静态分析。

1.2 使用

1.3 常用命令

反编译apk:jadx -d output <可选参数项> xxx.apk

常用的可选参数项:

二、apktool

2.1 介绍

GitHub - iBotPeaches/Apktool: A tool for reverse engineering Android apk files
apktool是仅对apk进行逆向的命令行工具,仅支持反编译为smali文件格式,该工具目前通常用于重打包。

2.2 使用

1)反编译为smali工程

apktool d xxx.apk

2)静态smali代码阅读
vscode 插件smalise,支持语法高亮和符号索引,可以比较方便的阅读samli代码。
3)重打包
① 修改完smali代码后,在当前工作目录执行如下命令,会在./dist目录生成对应的apk文件

apktool b . 

② 重签名
没有秘钥生成秘钥

keytool -genkeypair -v -keystore <xxx.keystore> -keyalg RSA -keysize 2048 -validity 10000 -alias <name-alias>

输入密钥库口令: xxx
再次输入新口令: xxx
您的名字与姓氏是什么?
  [Unknown]:  xx
您的组织单位名称是什么?
  [Unknown]:  xx
您的组织名称是什么?
  [Unknown]:  xx
您所在的城市或区域名称是什么?
  [Unknown]:  xx
您所在的省/市/自治区名称是什么?
  [Unknown]:  xx
该单位的双字母国家/地区代码是什么?
  [Unknown]:  xx
CN=xxx, OU=xx, O=xx, L=xx ST=xx, C=xx是否正确?
  [否]: y (注意:这里是y 不是yes,如果填yes会再重复一遍让你输入)

用秘钥签名:

apksigner sign --ks <xxx.keystore> --ks-key-alias <name-alias> --ks-pass pass:<password> dist/xxx.apk

验证签名:

jarsigner -verify -verbose -certs xxx.apk

三、其他工具

dex2jar:一款命令行工具包,支持dex,smali,jar之间的互相转换。
smali/baksmali: 是dalvik (Android的Java VM实现)使用的索引格式的汇编/反汇编器。通常使用场景是将odex转为dex。

上一篇 下一篇

猜你喜欢

热点阅读