首页 > 其他分享 >反编译apk_apktool使用

反编译apk_apktool使用

时间:2022-12-15 16:45:25浏览次数:65  
标签:keystore 反编译 jar apk 签名 apktool

apktool 下载地址

https://ibotpeaches.github.io/Apktool/install/

安装说明

  1. 至少已安装Java 1.8吗?
  2. java -version在命令行/命令提示符下执行是否返回1.8或更高?
  3. 如果没有,请安装Java 8+并将其设置为默认值。(Java 7现在也可以使用)

安装Apktool

  • Windows

    1. 下载Windows包装程序脚本(右键单击,将链接另存为apktool.bat
    2. 下载apktool-2(在这里找到最新的
    3. 将下载的jar重命名为 apktool.jar
    4. 将两个文件(apktool.jarapktool.bat)移至Windows目录(通常为C://Windows
    5. 如果您无权访问C://Windows,则可以将这两个文件放在任何位置,然后将该目录添加到您的环境变量系统PATH变量中。
    6. 尝试apktool通过命令提示符运行
    7. 直接终端输入 apktool 会有提示信息就可以用了
    8. 如果想简单用下,只有在apktool 目录下
      1. java -jar apktool.jar
      2. java -jar apktool.jar d -f lei_wifi-release_108_1_360_sign.apk -o leida2
      3. image-20210507141313251

注意-包装脚本不是必需的,但很有用,因此您不必java -jar apktool.jar一遍又一遍地输入。

apktool 参数解释

反编译时注意: 没有添加 -s时(如果只是查看资源文件不不管)

java -jar apktool.jar d -f lei_wifi-release_108_1_360_sign.apk -o leida2

此时 dex 文件直接反编译成了 smali 文件,如果需要 .dex 文件。

image-20210507141639564

此时再运行:添加 -s

$ apktool d -s -f test.apk

image-20210507141705744

-d 反编译 apk 文件
-s 不反编译 dex 文件,而是将其保留
-f 如果目标文件夹存在,则删除后重新反编译

apktool重新打包

$ apktool b b_test -o newtest.apk

-b 是指 build
b_test 是刚才反编译出的文件所在的目录
-o 用于指定新的文件名称,这里指定为「newtest.apk」

注意:
此时的 apk 文件是不能安装的,还需要对其进行签名。

  • 对新的 Apk 进行签名:

签名文件生成

keytool -genkey -alias test -keypass 123456 -keyalg RSA -keysize 2048 -validity 36500 -keystore D:/keys/test.keystore -storepass 123456

注意:

1.路径什么的需要修改

2.alias别名需要修改

3.keysize1024位生成的是MD5withRSA的算法,2048位生成的是SHAwihtRSA的算法,我试了下好像不能直接改keyalg的算法,会报错

4.validity有效日期,天

5.输入这条语句后回车后会要输入一些信息,照着来即可

查看签名的信息

keytool -list -v -keystore 签名路径 -storepass 密码

查看apk签名信息

jarsigner.exe -verify APK文件路径 -verbose -certs

链接:https://www.zhihu.com/question/29370382/answer/590981557

打包apk

可用于没有签名和已经签名的apk,再次签名。

jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]

命令格式及参数意义:

-verbose -> 输出签名过程的详细信息

-keystore [keystorePath] -> 密钥的库的位置

-signedjar [apkOut] -> 签名后的输出文件名

[apkin] -> 待签名的文件名

[alias] -> 证书别名
————————————————

使用示例

jarsigner -verbose -keystore leida.keystore -signedjar apk_new.apk apk_fan.apk leida.keystore

原文链接:https://blog.csdn.net/qq_25506203/article/details/80899521

apk反汇编工具apktool问题之DexBackedDexFile$NotADexFile

添加: --only-main-classes

java -jar apktool.jar d -f 108_1_360_sign.apk -o leida2 --only-main-classes

标签:keystore,反编译,jar,apk,签名,apktool
From: https://www.cnblogs.com/trimphNuan/p/16985418.html

相关文章

  • Alpine介绍与apk的基本使用
    前言Alpine是一个面向安全的轻量级的Linux发行版,相比与CentOS,ubuntu体积小很多,大约只有5M左右,由于体积小的原因,在很多场景下都会使用它来按需制作一些轻量级镜像,虽然体......
  • 推荐一款采用 .NET 编写的 反编译到源码工具 Reko
    今天给大家介绍的是一款名叫Reko的开源反编译工具,该工具采用C#开发,广大研究人员可利用Reko来对机器码进行反编译处理。我们知道.NET7有了NativeAOT的支持,采用NativeAOT......
  • idea 自带java 反编译工具问题
    就在最近升级到idea最新版本,发现以前java-decompiler命令行工具不能使用了,运行会有错误解决方法找到一个地版本的idea拷贝java-decompiler.jar直接替换,或者直接使用......
  • webtest mobile + android apk test
    s常见的apk专项测试,主要有几类(主要指项目中经常用到的)1、稳定性2、安全性3、兼容性4、版本升级5、流量测试6、Crash问题(死机);7、设备兼容问题;8、流量占用率的问题;9、App在......
  • mac环境下Android 反编译
    一、需要的工具apktool:反编译APK文件,得到classes.dex文件,同时也能获取到资源文件以及布局文件。dex2jar:将反编译后的classes.dex文件转化为.jar文件。jd-gui:用于将.jar文件......
  • Android插件化动态加载APK
    什么是插件化动态加载apk?支付宝是万能的,既可以淘票票看电影,又可以买车票,还可以开共享单车,这些都是支付宝的开发人员开发维护的么?显然不是,那么他是怎么做到的呢?是使用了动态......
  • 您上传的 APK 或 Android App Bundle 内含活动、活动别名、服务或广播接收器,这些项目
    您上传的APK或AndroidAppBundle内含活动、活动别名、服务或广播接收器,这些项目有intent过滤器,但没有“android:exported”属性设置。此文件无法在Android12或更......
  • MacOS通过adb命令安装apk
    下载adb程序,解压即可。手机打开开发者模式手机通过数据线连接电脑电脑查看已连接的手机./adbdevicesListofdevicesattached4402f27f device将apk放......
  • arm蓝桥编译与反编译——20201302姬正坤
    程序的编译反编译汇编程序的运行遇到错误无法实现,目前还在调试......
  • 微信小程序反编译
    1准备一台ROOT的安卓手机解密工具:UnpackMiniApp.exe反编译工具:wxappUnpacker.zipPC安装node环境2提取wxapkg文件PC端也能找到wxapkg文件,但千万不要用,老......