精华内容
下载资源
问答
  • 反编译apk工具

    2018-12-20 12:34:33
    反编译apk工具,查看工具 ,jd-gui.exe查看jar包,dex2jar编译class.dex为jar包用jd-gui.exe来查看
  • 反编译APK工具

    2018-08-06 13:49:03
    apk+dex文件反编译及回编译工具》 简称 apkdb 是一款针对android os系统的apk程序,直接反编译修改的工具。apkdb集合了当今最强悍,最犀利的apk及dex文件编译工具;正常安装后,它直接在【鼠标右键】创建快捷菜单...
  • ApkToolkit,好用的反编译APK工具ApkToolkit,好用的反编译APK工具ApkToolkit,好用的反编译APK工具ApkToolkit,好用的反编译APK工具
  • 反编译APK工具apktool

    千次下载 热门讨论 2011-08-08 20:31:26
    反编译APK工具apktool apktool d apk文件 目标目录
  • Mac 反编译apk工具

    2017-11-02 11:29:50
    Mac 反编译apk工具,包含apktool,dex2jar-2.0,jd-gui-0.2.7.osx.i686.dmg
  • 一键反编译apk工具

    2015-07-24 07:39:54
    android一键反编译apk工具 bat命令行脚本
  • Android反编译apk工具

    2016-10-14 16:23:07
    jadx-0.6.1-dev-build226,Android反编译apk工具,你值得拥有!
  • 反编译APK工具

    2013-04-18 20:24:42
    反编译APK工具
  • Android 反编译apk工具

    热门讨论 2012-05-07 18:53:49
    Android 反编译apk工具及方法,
  • android 反编译apk 工具 反编译方法
  • ICS反编译APK工具

    2013-05-23 17:17:20
    ICS反编译APK工具-网侠网netxia.cn.zip
  • android反编译apk工具

    2013-07-31 16:25:34
    android反编译apk工具,当然也可以去官网下载,我这是搜集的所有要用的工具!
  • 反编译APK工具的使用

    2018-03-13 10:02:34
    下载apktool_ 反编译APK工具https://bitbucket.org/iBotPeaches/apktool/downloads/ 下载地址打开dos 界面(cmd)cd 进入 apktool_2.3.0 放置的目录输入 java -jar 输入apktool_2.3.0路径 d APK 放置路径java -jar ...
    下载apktool_ 反编译APK工具
    打开dos 界面(cmd)
    1. cd 进入 apktool_2.3.0 放置的目录
    2. 输入 java -jar 输入apktool_2.3.0路径 d APK 放置路径
    java -jar apktool 的路径 d 反编译APK的路径
    3.反编译后,文件会放置在 该目录下

    jadx- 将APK反编译查看Java 文件
    jadx是一款Android反编译gui工具,它支持apk、dex、jar、class、zip、aar等文件。jadx操作方便,反编译后的代码可读性高,同时还拥有较完善的gui界面,除去混淆部分的代码,jadx已经非常接近源代码了。需要的朋友可以下载试试!
    功能特点
    1.操作方便快捷,一步到位
    2.有较为完善的gui界面,带有较多实用功能
    3.反编译代码可读性高
    4.支持全局搜索class、method、field、code
    jadx使用教程
    1.解压下载的压缩包,找到“bin”目录中的“jadx-gui.bat”,双击运行即可。
    2.找到需要反编译的APK文件,打开即可。(jadx支持打开apk、dex、jar、class、zip、aar文件)
    3.可以看到除了混淆之外已经非常接近源代码了。
    jadx卡死错误修复方法
    有时候会出现卡死的状态,这是因为内存不够。官方提供了以下两种解决方案。
    一、减少处理线程数(-j选项)
    二、增加最大java堆大小:
    命令行(linux的例子):JAVA_OPTS="-Xmx4G" jadx -j 1 some.apk
    编辑'jadx'脚本(Windows上的jadx.bat)并设置更大的堆大小: DEFAULT_JVM_OPTS="-Xmx2500M"
    展开全文
  • 目前最好的反编译APK工具 破解APK包
  • 反编译APK工具jadx1.10下载,可以通过官网下载,https://www.softpedia.com/get/Programming/Other-Programming-Files/Jadx.shtml#download

    反编译APK工具jadx1.10下载,可以通过官网下载,https://www.softpedia.com/get/Programming/Other-Programming-Files/Jadx.shtml#download

    展开全文
  • MAC反编译APK工具

    2016-08-25 12:34:57
    MAC平台下的APK反编译工具,详细教程请参照http://blog.csdn.net/heng615975867/article/details/52312695
  • 可用于反编译apk文件以及可以重新编译打包。该版本为1.5.1。 用法:(先命令行cd到apktool.bat目录下) 1、反编译:apktool d xxx.apk xxx 2、重新编译:apktool b xxx 3、重新编译后的apk见于xxx文件夹下的dist目录
  • 反编译APK工具

    2012-11-06 18:20:47
    如何反编译apk文件 相信大家在安装使用了一个apk后,看到一些好的效果或实现,一般会很想知道这个是如何实现的。还好,android选的是java开发语言,所以经过一些小步骤,而作者又没有用混淆的话,差不多可以返原70 ...
  • 反编译APK工具及步骤

    2017-05-12 09:01:29
    本篇文章主要讲解了反编译APK所需要的工具及基本操作步骤。我的操作环境为windows10,示例的APK为mobileqq_android.apk(腾讯QQ)

    前言

    学习Android的时候,通过阅读优秀的源码可以使我们的编程水平得到极大的提高。同时,在平时需要实现某些界面或者功能时而又无从下手时,通过阅读相关的源码可以给我们灵感和启发。
    源码的获取一方面可以通过Github上的各种开源库获取。另外一种办法就是反编译APK了。我们知道,Android APK是由Android源代码,布局文件,配置文件,资源文件等打包而成的。那么我们可不可以由APK反编译成源代码和布局文件等呢?答案是肯定的。不过反编译出来的文件和原始文件还是有一定区别。那就是有可能由于原作者在生成APK时对代码进行了混淆,导致我们反编译生成的代码函数名,方法名,类名等变成了没有意义的字符,不能很好的反应其功能。不过相信只要你认真看,还是可以理解作者的思路的。
    (注:apk反编译应仅用于学习之用,抄袭并不可取)

    本篇文章主要讲解了反编译APK所需要的工具及基本操作步骤。我的操作环境为windows10,示例的APK为mobileqq_android.apk(腾讯QQ)

    APK文件内容解析

    首先,我们下载QQ的apk文件,并将其后缀该为.zip,并解压(ps:apk文件实际就是zip格式的文件),得到的目录为
    apk解压内容

    我们来分析下其组成
    assets:原始资源
    com:源代码
    lib:库文件
    META-INF:清单文件,描述apk的内容信息
    R:资源文件,对应android工程的res文件
    AndroidManifest:配置文件
    .dex文件:android虚拟机的文件

    如果这时候我们尝试去查看解压出来的文件内容,会发现全部是乱码,这是因为我们只是解压了文件,并没有反编译的原因。所以只是解压是不行的,我们这里先把解压的文件删掉,并把原来的apk文件后缀改回来。

    反编译工具

    要反编译apk,需要下面的工具

    apktool:一个google开发的可以解压和打包apk的工具
    dex2jar:一个把dex文件转换成jar包的工具,我们知道dex是android虚拟机的执行文件,而我们平时编写的java程序是编译成class文件,这里用这个工具进行转换
    jd-gui:全称Java Decompiler project,一个java反编译工具和阅读器,我们通过这个工具可以反编译和阅读dex2jar转换出来的class文件。

    基本操作

    首先,apktool的具体使用说明可以查看这里
    为了能够在windows上运行apktool工具,我们需要创建一个批处理文件,具体操作就是把下面的一小段代码复制到txt文件里,然后改名为apktool.bat
    代码:
    @echo off
    if “%PATH_BASE%” == “” set PATH_BASE=%PATH%
    set PATH=%CD%;%PATH_BASE%;
    java -jar -Duser.language=en “%~dp0\apktool.jar” %*

    让这个批处理文件和apktool文件放在同个目录下。(注意,如果下载的apktool jar包名不是apktool,需要改为apktool)

    接下来在命令行下执行
    apktool d mobileqq_android.apk

    如果没有错误的话,会在同目录下生成一个mobileqq_android文件。我们打开看看里面的内容。
    apktool处理文件

    这个时候可以发现已经和直接解压出来的文件不一样了,这个时候res文件夹里面的文件已经不是乱码了,但是我们看看存在一些smali_classes*文件,这些文件对应的是之前的.dex文件,如果把.dex文件比作.bin文件的话,smail文件就相当于汇编文件。

    接下来,我们要使用dex2jar工具将apk中的.dex文件转换成class文件。具体操作查看这里

    首先把dex2jar解压出来,然后在命令行中输入
    d2j_dex2jar mobileqq_android.apk
    这时候就会生成mobileqq_android.jar包,里面就是class文件。

    最后我们就需要用jd-gui工具来查看了,由于我是windows系统,所以就下载windows版本的。

    解压jd-gui-windows-1.4.0,然后打开里面的jd-gui程序,再把我们生成的mobileqq_android.jar导入,就大工告成!

    jd-gui

    展开全文
  • 此附件中有反编译apk(无论是获取apk的jar包还是得到apk的资源文件)的相关工具及其解说文档,苦苦思索并且要看别人源码实现的童鞋,下载下来试试咯。(注解,源码并不是特别全面,只能看出其中的70%的实现)
  • Python制作反编译APK工具

    千次阅读 2020-01-14 17:47:56
    这里利用Python来写一个反编译和重签名的工具。 一、Python及工具的安装 工欲善其事必先利其器。首先下载并安装Python和对应的开发工具。 Python的安装 进入官网的Downloads下载界面选择对应的python版本。 其中...

    序言:

    可以利用Python来写一些工具来提高工作效率。把重复繁琐机械化的事情交给Python脚本去完成。
    这里利用Python来写一个反编译和重签名的工具。

    一、Python及工具的安装

    工欲善其事必先利其器。首先下载并安装Python和对应的开发工具。
    Python的安装
    进入官网的Downloads下载界面选择对应的python版本。
    其中executable表示可执行版,需要安装后使用。embeddable表示嵌入版,就是解压以后就可以使用的版本。推荐使用executable可执行版本,一直默认即可。
    然后配置环境变量,在“电脑”–>“属性”–>“高级系统设置”–>“环境变量” -->“Path” 中新增Python的安装路径。路径一般如下:
    Python:C:\Users\Administrator\AppData\Local\Programs\Python\Python37
    pip:C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts
    最后,打开 cmd,输入python 测试是否安装成功,出现Python XXX 即安装成功

    Python的开发工具
    Python的开发工具有Pycharm、VS code。或者直接使用Notepad++硬敲。
    Pycharm的安装
    Pycharm的下载地址。Pycharm有专业版和社区版两种。专业版是收费的,需要破解。社区版是免费的,直接安装就完事了。专业版和社区版的区别: 专业版比社区版多了Web开发、Python Web框架、Python分析器、远程开发、支持数据库与SQL等功能。
    安装时注意勾选下面两个选项,其他就一直Next就好了。
    在这里插入图片描述
    VS code开发工具
    如果不想使用Pycharm,也可以使用VS code。官网下载地址。VS的安装非常便捷,只要点击确定,并选择你需要的语言即可。

    二、反编译脚本

    1、apktool工具

    Android的反编译可以使用apktool工具。提取码:fcev
    apktool的简单使用:
    apktool d [apkFile] -f -o [outputDir]
    d —— 代表操作是反编译解包(b 代表回编译)
    [apkFile] —— 需要解包的apk路径, 例如C:\1.apk
    -f —— 强制覆盖,若outputDir路径已经存在,会清空outputDir指向的文件夹内的所有内容
    -o —— 指定输出目录为紧跟在-o后的路径, 即[outputDir]
    [outputDir] —— 输出的路径,例如C:\output

    2、Python反编译脚本

    新建一个apktool.py,编写反编译、回编译和签名方法。
    反编译:apktool d [apkFile] -f -o [outputDir]
    回编译:apktool b [apkFile] -f -o [outputDir]
    签名:可以使用jarsigner。
    jarsigner是JDK提供的针对jar包签名的通用工具。
    jarsigner -verbose -keystore [signFile] -signedjar [outputApk] [inputApk] [signAccount]
    示例代码:

    #coding: utf-8
    #Created by yeliang23 on 2018/6/19.
    import sys
    import os
    import subprocess
    from base import handle_file
    
    #初始化
    def init(root):
        global root_apktool,jdkroot #定义为全局变量
        root_apktool = root+"/base/apktool" #反编译工具apktool根目录
        jdkroot=root+"/base/jdk1.8.0" #JDK根目录
        
        global default_signFile,default_account,default_password #默认签名信息
        default_signFile=root_apktool+"/demo.keystore" #签名文件路径
        default_account="xxxxxx" #秘钥的账号
        default_password="xxxxxx" #秘钥的密码
    
    #反编译
    def Dcode(input):
        output=input.split('.')[0]+'-file'
        ResultFile=os.system('java -jar '+root_apktool+"/apktool_bsf.jar" +' d -f '+input+" -o "+output)
        if ResultFile==0:
            return 'Success'
        else:
            return 'Fail'
    
    #回编译
    def Code(input):
        ResultFile=os.system('java -jar '+root_apktool+"/apktool_bsf.jar" +' b -f '+input)
        if ResultFile==0:
            return 'Success'
        else:
            return 'Fail'
            
    #签名
    #参数:
    #jdkroot:JDK所在的位置
    #inkeystore:秘钥的路径
    #input:需要签名的APK路径
    #output:生成的APK路劲
    #account和password:秘钥的账号和密码
    #详情:
    #jarsigner.exe 为jdk自带的文件,通常在jdk安装目录的bin文件夹下
    #例如:C:\Program Files\Java\jdk1.8.0_162\bin
    #-verbose:签名/验证时输出详细信息
    #-keystore:密钥的位置
    #-storepass:秘钥的密码
    def Sign(inkeystore,input,output,account,password):
        order=jdkroot+'/bin/jarsigner -verbose -keystore '+inkeystore+" -signedjar " +output+" "+input+" "+account+" -storepass "+password
        os.system(order)
        
    def Sign_haveback(input):
        output=input.split('.')[0]+'_sign.apk'
        order=jdkroot+'/bin/jarsigner -verbose -keystore '+default_signFile+" -signedjar " +output+" "+input+" "+default_account+" -storepass "+default_password
        ResultFile=os.system(order)
        if ResultFile==0:
            return 'Success'
        else:
            return 'Fail'
        
    def test():
        #反编译输入APK和输出文件夹
        input="C:/Users/Administrator/Desktop/Decompile/test/apktool_test/Demo.apk"
        output="C:/Users/Administrator/Desktop/Decompile/test/apktool_test/Demo-file"
        #签名的各个参数
        signFile=default_signFile #签名文件路径
        signInput="C:/Users/Administrator/Desktop/Decompile/test/apktool_test/Demo.apk" #需要签名的apk
        signOutput="C:/Users/Administrator/Desktop/Decompile/test/apktool_test/s_Demo.apk" #签名完成的apk
        account=default_account #秘钥的账号
        password=default_password #秘钥的密码
        #测试
        Dcode(input,output) #反编译
        Code(output) #回编译
        Sign(signFile,signInput,signOutput,account,password) #签名
    
    if '__main__' == __name__:
        test()
        print('apktool')
        
    

    然后再写MainTool.py作为主入口调用各种py脚本,虽然现在只有一个反编译的脚本。
    通过 from base import apktool 导入base文件夹下的apktool.py。如果是同文件夹下的就只要import就可以了。
    示例代码:

    #coding: utf-8
    #Created by yeliang23 on 2018/6/19.
    
    import sys
    import os
    from base import handle_file
    from base import apktool
    
    def init():
        root = os.getcwd() #文件夹根目录
        apktool.init(root)
    
    #测试各个模块
    def moduletest(root):
        handle_file.test(root) #文件读写测试
        apktool.test() #反编译、回编译与签名测试
    
    if '__main__' == __name__:
        print("========Python Start========")
        init() #初始化
        in_temp=input("请输入指令:(F:反编译,H:回编译+签名,Q:签名)\n")
        if in_temp == "F":
            print("===正在执行反编译===")
            in_apk=input("请输入需要反编译的APK:\n")
            apktool.Dcode(in_apk)
        elif in_temp == "H":
            print("===正在执行回编译===")
            in_file=input("请输入需要回编译的文件夹:\n")
            apktool.Code(in_file)
            for file in os.listdir(in_file+'/dist'):
                apkname=file
            print('apkname='+apkname)
            apktool.Sign(in_file+'/dist/'+apkname)
        elif in_temp == "Q":
            print("===正在执行签名===")
            in_apk=input("请输入需要签名的apk:\n")
            apktool.Sign(in_apk)
        else:
            print("===请输入对应的指令===")
        print("========Python End========")
        input("=按任意键关闭=")
        
    

    运行结果为:
    在这里插入图片描述

    三、反编译界面

    反编译工具到此就可以使用,算完成了。但CMD界面看起来也太挫了,可以为反编译工具写个界面。
    界面编写可以使用界面设计工具 Qt Designer。

    1、Qt Designer的安装

    使用pip安装:(打开CMD输入以下代码)
    1)、安装PyQt5: pip install pyqt5
    2)、安装Qt工具: pip install pyqt5-tools
    3)、配置Qt工具系统环境变量: Path
    路径一般在:C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\pyqt5_tools 具体可以查看自己安装时的目录
    4)、在cmd界面输入 designer 即可启动Qt Designer。

    2、Qt Designer的基本使用

    1)主界面不同区域的介绍
    在这里插入图片描述
    1、 控件工具箱
    各种基本控件,可以把控件直接拖动到界面生成。
    1)显示控件
    Lable:文本标签,显示文本,一般用于标记控件。
    Text Browser:显示文本控件。一般用于后台命令执行结果显示。
    2)输入控件
    Line Edit:单行文本框,输入单行字符串。
    控件使用Text() 返回文本框内容。setText() 设置文本框显示内容。
    Text Edit:多行文本框,输入多行字符串。
    Plain Text Edit:
    Combo Box:下拉列表框。

    3)按钮控件
    Push Button:命令按钮,一般用于确定,取消等普通按钮。
    Tool Button:工具按钮,
    arrowType :有五种类型,分别为上下左右(箭头)和更多(…)。
    autoRaise :只有true和false,true隐藏按键背景,默认为false。
    popupMode:用于设置点击按钮时弹出下拉菜单。 使用setMenu方法设置菜单。 三个参数, DelayedPopup 需要长按一段时间再弹出下拉菜单。 InstantPopup 无需长按立马弹出下拉菜单。MenuButtonPopup 在按键傍边生成下拉菜单按钮。
    toolButtonStyle:有五种类型。 ToolButtonIconOnly 只显示图标,不显示文字。 ToolButtonTextOnly 只显示文字,不显示图标。 ToolButtonTextBesideIcon 文字显示在图标的旁边。 ToolButtonTextUnderIcon 文本显示在图标下边。 ToolButtonFollowStyle 根据QStyle::StyleHint进行设置。
    Radio Button:单选框按钮。
    Check Box:多选框按钮。
    Command Link Button :命令链接按钮

    2、创建窗口
    用于创建窗口, 模板选项中最常用的就是Widget(通用窗口)和MainWindow(主窗口)。

    3、对象查看器
    用于查看主窗口放置的对象,并可以对对象进行重命名修改 和 删除。

    4、属性编辑器
    用于提供对窗口、控件、布局的属性编辑功能。比如修改控件的显示文本、对象名、大小等。

    5、信号/槽编辑器
    用于编辑控件的信号和槽函数,也可以添加自定义的信号和槽函数。

    3、创建反编译界面

    1)、 通过双击菜单栏的Type Here可以添加一级菜单。点击一级菜单中的+号,可以添加二级菜单。
    示例:
    在这里插入图片描述
    2)、 使用 Lable 、Plain Text Edit 和 Push Button 组成反编译界面。
    新建MainWindow,设置菜单,把对应的控件拖到界面上。重命名对应控件对象的名字,控件的名字需要使用有意义的名字,因为后续需要使用。
    新建Widget,用于提示。
    示例:
    在这里插入图片描述
    3)、 生成py文件
    保存,此时会生成一个xxx.ui文件。需要使用 pyuic5 -o [xxx.py] [xxx.ui] 进行格式转换。
    示例:
    在这里插入图片描述4)、 使用界面py文件
    把主界面py文件和提示py文件放到ui文件夹下,修改MainTool.py。
    示例代码:

    import sys
    from PyQt5.QtWidgets import QMainWindow, QApplication #导入PyQt5相关资源
    from ui import decompile_mainUI #导入反编译的主界面
    
    def init():
        root = os.getcwd() #文件夹根目录
    
    #主界面UI
    class decompile_mainUI_Desiger(QMainWindow, decompile_mainUI.Ui_MainWindow):
        def __init__(self, parent=None):
            super(decompile_mainUI_Desiger, self).__init__(parent)
            self.setupUi(self)
    
    if __name__ == "__main__":
        init() #初始化
        app = QApplication(sys.argv) #固定的,PyQt5程序都需要QApplication对象。sys.argv是命令行参数列表,确保程序可以双击运行
        decompile_main_ui = decompile_mainUI_Desiger()
        decompile_main_ui.show() #显示
        sys.exit(app.exec_()) #程序运行,sys.exit方法确保程序完整退出。
        
    
        这样就能显示界面了,但是这仅仅是一个界面,还不具备任何功能。还需要把反编译脚本加进来。
        示例代码:
    
    #coding: utf-8
    #Created by yeliang23 on 2018/6/19.
    
    import sys
    import os
    import threading
    import time
    from base import handle_file
    from base import apktool
    from PyQt5.QtWidgets import QMainWindow, QApplication #导入PyQt5相关资源
    from PyQt5 import QtCore, QtGui, QtWidgets
    from ui import decompile_mainUI #导入反编译的主界面
    from ui import tipsUI #导入提示界面
    
    def init():
        root = os.getcwd() #文件夹根目录
        apktool.init(root)
    
    #提示语
    def tipsUItxt(result,Success,Fail,Unknown):
        if result == 'Success':
            tips.setText(Success)
        elif result == 'Fail':
            tips.setText(Fail)
        else:
            tips.setText(Unknown)
    
    #反编译
    def decompiles(address):
        result=apktool.Dcode_haveback(address)
        tipsUItxt(result,'反编译成功','反编译失败','遇到未知错误')
        
    #回编译
    def compiles(address):
        result=apktool.Code_haveback(address)
        tipsUItxt(result,'回编译成功','回编译失败','遇到未知错误')
    
    #签名
    def sign(address):
        result=apktool.Sign_haveback(address)
        tipsUItxt(result,'签名成功','签名失败','遇到未知错误')
    
    #提示界面
    class tipsUI_Desiger(QMainWindow, tipsUI.Ui_Form):
        def __init__(self, parent=None):
            super(tipsUI_Desiger, self).__init__(parent)
            self.setupUi(self)
            
        def setText(self,txt):
            self.progress_tips_text.setText(txt)
        
    #主界面
    class decompile_mainUI_Desiger(QMainWindow, decompile_mainUI.Ui_MainWindow):
        def __init__(self, parent=None):
            super(decompile_mainUI_Desiger, self).__init__(parent)
            self.setupUi(self)
            
            self.Decompile_Button.clicked.connect(self.decompileBut) #监听点击事件(反编译)
            self.Compile_Button.clicked.connect(self.compileBut) # 回编译
            self.Sign_Button.clicked.connect(self.signBut) # 签名
            
        def decompileBut(self): #点击事件(反编译)
            address = self.Decompile_Edit.toPlainText() #获取输入框内容
            if '///' in address: #拖拉进来的文件都带有“file:///”,要把它去掉
                address = address.split('///')[1]
            tips.setText('  请稍等......') #设置提示语
            tips.show() #弹出提示
            decompilesThread = threading.Thread(target=decompiles, args=(address,))
            decompilesThread.start() #新开一个线程 调用反编译方法
            #decompilesThread.join() #等待反编译结束
            
        def compileBut(self): #回编译
            address = self.Compile_Edit.toPlainText()
            if '///' in address:
                address = address.split('///')[1]
            tips.setText('  请稍等......')
            tips.show()
            CompilesThread = threading.Thread(target=compiles, args=(address,))
            CompilesThread.start()
            #decompilesThread.join()
            
        def signBut(self): #签名
            signfile_address = self.SignFile_Edit.toPlainText()
            if len(signfile_address) == 0:
                address = self.Sign_Edit.toPlainText()
                if '///' in address:
                    address = address.split('///')[1]
                tips.setText('  请稍等......')
                tips.show()
                SignThread = threading.Thread(target=sign, args=(address,))
                SignThread.start()
                #decompilesThread.join()
            else:
                tips.setText('暂不支持更换签名')
                tips.show()  
            
    if __name__ == "__main__":
        init() #初始化
        app = QApplication(sys.argv) #固定的,PyQt5程序都需要QApplication对象。sys.argv是命令行参数列表,确保程序可以双击运行
        decompile_main_ui = decompile_mainUI_Desiger()
        tips = tipsUI_Desiger()
        decompile_main_ui.show()
        sys.exit(app.exec_()) #程序运行,sys.exit方法确保程序完整退出。
    

    最终结果:(虽然还是有点挫)
    在这里插入图片描述

    四、打包成exe

    打包成exe可以方便其他没有安装Python的小伙伴使用。
    1、安装pyinstaller,打开cmd使用pip安装
    pip install pyinstaller
    出现 Successefully installed pip-xx.xx.xx 即安装成功
    2、使用pyinstaller打包exe
    pyinstaller [xxx.py]
    只需要转换MainTool.py即可,因为pyinstaller会分析MainTool.py所依赖的其它依赖,然后进行查找、复制,把所有相关的依赖都收集起来并惊醒加密处理,包括python解释器,最后把这些文件放在一个目录下,或者打包到一个可执行文件。然后就可以直接运行所生成的可执行文件了。
    常用参数:
    -F : 表示生成单个可执行文件,常用。
    -w :表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
    -p 表示你自己自定义需要加载的类路径,一般情况下用不到
    -i 表示可执行文件的图标。注意:图片后缀必须是.ico
    -c :使用控制台,无窗口(默认)
    -D:创建一个目录,包含EXE文件,但会依赖很多文件(默认选项)

    示例:
    打开cmd,输入(如果需要控制台窗口,可以把-w去掉)
    cd C:\Users\Administrator\Desktop\DecompileToWin
    pyinstaller.exe -F C:\Users\Administrator\Desktop\DecompileToWin\MainToolUI.py -w
    成功后会生成dist文件夹,把dist文件夹中的资源复制到DecompileToWin(即根目录)即可。

    展开全文
  • Ubuntu下反编译apk工具及使用

    万次阅读 2015-03-27 14:03:21
    目前的工具基本都是分为两步来反编译APK应用 反编译源码反编译资源文件 首先, 反编译源码用的工具为dex2jar: 将APK文件解压得到classes.dex文件定位到dex2jar工具目录下,执行命令 dex2jar.sh classes....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,850
精华内容 2,340
关键字:

反编译apk工具