zoukankan      html  css  js  c++  java
  • APKTool 反编译,打包,签名

    apktool 主要用于逆向apk文件。它可以将资源解码,并在修改后可以重新构建它们。它还可以执行一些自动化任务,例如构建 apk

    下载地址

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

    https://bitbucket.org/iBotPeaches/apktool/downloads/

    反编译APK

    命令格式:apktool d [ apk文件名 ]

    进入到 apktool 所在目录

    .apktool.jar d .mlxx.apk
    

    不行的话就用下面这个命令,前面加上 java -jar

    java -jar .apktool.jar d .mlxx.apk
    

    编译成功之后会出现一个文件夹

    • AndroidManifest.xml

    APP权限配置

    程序入口

    • smali 文件(一种汇编代码)

    .smali可以和.dex相互转换

    修改APK代码通常修改smali文件(重新修改.java源代码 重新编译的困难太大)

    -baksmali.jar smali.jar对dex 和 smali文件做转换

    • classes.dex

    源代码在classes.dex文件里

    可以反编出.java代码


    重新打包

    命令

    apktool b 目录

    apktool b mlxx
    

    如果不行

    java -jar .apktool.jar b mlxx
    

    打包成功后目录内会出现一个 dist 目录,apk 就在里面


    签名

    keytool jarsigner 工具是JAVA JDK自带的

    • 生成证书

    keytool -genkey -keystore my-release-key.keystore -alias my_alias -keyalg RSA -keysize 4096 -validity 10000

    key dec
    keytool 工具名称(固定写法)
    )-genkey 执行的是生成数字证书操作(固定写法)
    -v 打印生成证书的详细信息
    -keystore myApp.keystore 生成的证书的文件名为"myApp.keystore"(根据需求,设置你的证书名)
    alias myApp.keystore 证书的别名为"myApp.keystore"。(一般和上面的文件名相同,可以不同,但要记好,签名时会用(A))
    -keyalg RSA 生成密钥文件采用的算法为RSA(固定写法)
    -validity 3000 该数字证书的有效期为30000天,30000天之后该证书将失效
    • 用证书给 apk 签名

    jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore -signedjar super.mlxx.apk mlxx.apk my_alias

    key dec
    jarsigner 工具称名(固定写法)
    -verbose 显示出签名详细信息
    -keystore myApp.keystore myApp.keystore 要使用的签名证书文件
    -signedjar android-release-signed.apk 签名后的文件名
    android-release-unsigned.apk 要签名的文件
    myApp.keystore 别名,即(A)步中的别名

    未签名APK不能在安卓手机上安装

    APP在启动时会对签名校验,要逆APP,跳过校验

  • 相关阅读:
    assign、weak
    iOS 使用 github
    iOS 知识点
    thinkphp 具体常量,在view里面使用
    一个php+jquery+json+ajax实例
    php pdo操作
    nginx缓存
    php模版静态化技术
    php模版静态化原理
    thinkphp实现多数据库操作
  • 原文地址:https://www.cnblogs.com/kai-/p/13582497.html
Copyright © 2011-2022 走看看