首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

反编译Apk得到Java源代码

把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex...打开上面的jar文件,即可看到源代码 ---------------------------------------------------------------------------------...--------------------------------------------------------------------------------- 二.反编译apk生成程序的源代码和图片...输入:                     apktool d C:\***.apk  C:\***文件夹  (命令行解释:apktool d 要反编译的文件 输出文件夹) 特别注意:你要反编译的文件一定要放在...三.将反编译完的文件重新打包成apk  很简单,只要输入:      apktood b c:***文件夹(你编译出来文件夹)

2.1K20

利用apktool查看apk源代码

一、首先下载反编译工具包 下载地址   链接:https://pan.baidu.com/s/1CEo93BjAKes-xElp47XlHQ 密码:jyia 1.apktool:由于直接改apk后缀进行解压的话打开的...xml文件会乱码,所以我们使用apktool工具查看apk的xml文件、AndroidManifest.xml和图片等 2.dex2jar:classes.dex转换成jar包 3.jd-gui:查看jar...文件的java源代码 二、下载之后,将需要反编译的apk放到apktools同级目录下,并且在apktools下级目录,按住shift+鼠标右键,选择在此处打开命令窗口,之后运行代码  apktool...d yd.apk(你安装包的名字) 三、将apk后缀名改成zip。...之后用解压软件进行解压,得到一个文件如下 这样看到的xml格式是乱码的  所以使用apktool去释放apk才不会乱码 四、将classes.dex打包成jar包 需要用到dex2jar,同样的方法,

2.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【译】使用 APK Analyzer 分析你的 APK

    Android Studio 2.2包含了APK Analyzer,通过它我们能够直观地看到APK的组成。使用APK Analyzer不仅能够减少你花在debug上的时间,而且还能减少你的APK大小。...使用APK Analyzer,你能够实现: 查看APK中文件的绝对大小和相对大小。(译注:相对大小指的是该文件占整个APK大小的百分比) 理解DEX文件的组成。...在菜单栏中选择Build > Analyzer APK,并且选择APK。 注意:当使用APK Analyzer分析debug的APK,请使用Build > Build APK生成的APK。...图2显示了manifest文件的错误提示。 图2:manifest文件的一个错误 查看代码和资源实体 不同的构建任务会改变APK文件最后的实体。比如混淆压缩规则能改变你最后的代码和图片资源。...Referenced Method列是DEX文件中引用的全部方法,它包含了你定义的方法、依赖的library、定义在标准Java和Android包中的方法。

    2.5K50

    【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )

    文章目录 一、解压 apk 文件 二、加密生成 dex 文件 三、打包未签名 apk 文件 四、完整代码示例 五、文件解压缩相关代码 六、执行结果 一、解压 apk 文件 ---- 被解压的 apk 文件位置...// 解压 apk 文件 , 获取所有的 dex 文件 // 被解压的 apk 文件 var apkFile = File("app/build/outputs/apk/debug...// 解压文件 unZip(apkFile, apkUnZipFile) unZip 方法中的代码在最后一节中 ; 二、加密生成 dex 文件 ---- 将 app-debug.apk...加密 apk 中的 dex 文件 */ // 解压 apk 文件 , 获取所有的 dex 文件 // 被解压的 apk 文件 var apkFile = File(...apk 文件 , 紫色矩形框 中的 secret-classes.dex 文件是加密后的 dex 文件 , 蓝色矩形框 中是生成的 未签名的 apk 文件 ;

    1.4K00

    Android减包 - 使用APK Analyzer分析你的APK

    使用APK Analyzer不仅能够减少你花在debug上的时间,而且还能减少你的APK大小。使用APK Analyzer,你能够实现: 查看APK中文件的绝对大小和相对大小。...v=ZiP3BGVpE9E 注意:当使用APK Analyzer分析debug的APK,请使用Build > Build APK生成的APK。点击Run将会生成Instant Run的APK。...图5显示了manifest文件的错误提示。 ? 图5:manifest文件的一个错误。 查看代码和资源实体 不同的构建任务会改变APK文件最后的实体。比如混淆压缩规则能改变你最后的代码和图片资源。...Referenced Method列是DEX文件中引用的全部方法,它包含了你定义的方法、依赖的library、定义在标准Java和Android包中的方法。...译注:Old Size是先选择的APK,New Size是后选择的APK。 ? 图6:debug和release的APK之间的差别。

    3K60

    【Android 逆向】APK 文件格式 ( Android 应用安装 | Zip 文件格式 | 使用 Python 代码提取 APK 文件 )

    文章目录 一、Android 应用安装 二、APK 文件格式 三、使用 Python 提取 APK 文件 一、Android 应用安装 ---- APK 是 Android 应用的安装文件 , 现在也有...AAB 格式的 , AAB 安装包也可以导出 APK 安装文件 ; 应用安装时 , 会将 APK 安装包拷贝到 /data/app/packageName/ 目录下的 base.apk , 如 : 某应用会将...; 三、使用 Python 提取 APK 文件 ---- 使用 Python 提取 APK 文件完整代码 : import os # 如果没有使用 pip install zipfile 安装 import...zipfile # 提取 APK 中的文件 def extract_apk(apk_path: str): # 创建 ZipFile 实例对象 zip_file = zipfile.ZipFile...(apk_path) # 解压目录 , 删除 "app.apk" 的后 4 个字符 ".apk" , 即 "app" out = apk_path[:-4] # 创建目录

    1.3K20

    Android Apk瘦身方案1——R.java文件常量内联

    R.java 文件结构 R.java 是自动生成的,它包含了应用内所有资源的名称到数值的映射关系。...此外,我们发现 R.java 类的代码行数最少也1000行了,这还只是一个简单的工程,压根没有任何业务逻辑。...int 型的常量值,那么如果我们编译打包时,将所有这些对 R 类的引用直接替换成常量值,效果也是一样的,那么 R.java 类在 apk 包里就是冗余的了。...,并不能直接删除替换,所以打包进 apk 的 R 文件中,理论上除了 static final int[] 类型的字段,其他都可以全部删除掉。...,也就是把代码引用的地方全部替换成常量,全部内联以后整个 R 文件就没地方引用了,就会被删掉。

    98411

    【Android 安全】DEX 加密 ( Java 工具开发 | apk 文件对齐 )

    文章目录 一、apk 对齐操作 二、apk 对齐命令 三、apk 对齐操作代码示例 四、apk 对齐执行结果 一、apk 对齐操作 ---- 参考 【Android 安全】DEX 加密 ( DEX 加密使用到的相关工具...\debug\app-unsigned.apk 表示被对齐的 apk 文件 的 绝对路径 ; D:\002_Project\002_Android_Learn\DexEncryption\app\build...\outputs\apk\debug\app-unsigned-aligned.apk 表示对齐后的输出文件的 绝对路径 ; 三、apk 对齐操作代码示例 ---- 对齐操作代码示例 : /*...对齐操作 */ // 对齐操作的输出结果, 将 app-unsigned.apk 对齐, 对齐后的文件输出到 app-unsigned-aligned.apk 中 var unSignedAlignApk...= File("app/build/outputs/apk/debug/app-unsigned-aligned.apk") // 打印要执行的命令 println("cmd /c

    2.9K00

    java代码是怎么运行的_java代码是什么

    3.Java虚拟机具体是怎样运行Java字节码的   执行Java代码首先需要将他编译成class文件加载到Java虚拟机中。...加载后的Java类会被存放于方法区(method area).实际运行时,虚拟机会执行方法区内的代码。Java虚拟机同样会在内存中划分出堆和栈来存储运行时数据。   ...对于大部分的不常用的代码,我们无需耗费时间将其编译成机器码,而是采取解释执行的方式运行;另一方面对于仅占据小部分的带点代码,我们则可以将其编译成机器码,已达到理想的运行速度。...一旦Java代码被编译成Java字节码,变可以在不同平台上运行,虚拟机还提供了一个代码托管环境,代替我们处理部分冗长的代而且容易出错的事务。   ...他会解释执行Java字节码,然后会将其中反复执行的热点代码,以方法为单位进行即时编译,编译成机器码后直接运行在底层硬件之上。

    93820

    Ubuntu 下 通过ADB 安装Apk和导出手机中的Apk

    attached ce10171a39a990c00b7e device 如果连接成功则会出现你的设备 二、确认你要导出的apk包名 root@lvi166-CN15S:/home/lvi166# adb...输入命令 adb shell pm list package 这样会显示所用在你手机上程序的包名,比如我要导出一个包名为 com.smarteye.mpu 的apk,通过 adb shell pm path...-4GroMvI7GGj.... 19.2 MB/s (22216476 bytes in 1.103s) 最后导出apk,导出的APK名叫 base.apk,存放的路劲在你的系统主目录中,比如windows...如果你要指定目录存储可以用 adb pull **.apk /home/data 这样apk就会保存到home目录的data目录下 三、安装apk 安装命令为 adb install-multiple...-r -t [apk的位置] 或者使用 adb install [apk的位置] root@lvi166-CN15S:/home/lvi166# adb install-multiple -r -

    1.9K20

    SystemUI.apk等特殊APK文件的反编译和编译技巧

    大家好,又见面了,我是你们的朋友全栈君。 SystemUI.apk等特殊APK文件的反编译和编译技巧   第一:要在你的PC上建立Java的环境,才能执行编译工作。...(你也可以用指定目录的方法安装)   cmd模式执行apktoolifframework-res.apk这个是安装framework-res.apk   第四:准备工作都做好了,现在就可以反编译和编译了...将你要反编译的apk放在apktool的目录下。...(你也可以用指定目录)   cmd模式执行apktooldXXXX.apk这个是Decode也就是反编译   比如反编译SystemUI就执行apktooldSystemUI.apk就可以了(会在当前的目录下生成...(会在rosie的文件夹中生成一个叫dist的文件夹,编译回去的apk就是此文件夹中)   注意:第三步很重要,很多人不成功就是因为没做第三步。

    1K20

    HBase的java代码开发(详细代码)

    ,但是可以分为两大类——比较过滤器,专用过滤器 过滤器的作用是在服务端判断数据是否满足条件,然后只将满足条件的数据返回给客户端; hbase过滤器的比较运算符: ?...Hbase过滤器的专用过滤器(指定比较机制): ?...} myuser.close(); } 2、专用过滤器 1、单列值过滤器 SingleColumnValueFilter SingleColumnValueFilter会返回满足条件的整列值的所有字段...,其他的列全部返回 3、rowkey前缀过滤器PrefixFilter 查询以00开头的所有前缀的rowkey /** * 行键前缀过滤器 */ @Test public void preFilter...,并且同时满足rowkey的前缀以00开头的数据(PrefixFilter) /** * 多过滤器组合使用 */ @Test public void manyFilter() throws IOException

    1.9K20

    Java环境配置以及Unity导出Android安装包apk

    环境配置 jdk的配置 下载Java SE Java SE Development Kit 8u171 根据自己的电脑来下载x86还是x64,记得点Accept ?...image.png 新建一个JAVA_HOME,变量值就是你刚才安装JDK的位置不一定和我图上一致,是你自己安装的位置 ? image.png ?...并确认CLASSPATH中的JDK版本号和JAVA_HOME中的版本号一致。 ?...image.png • 看自己的安卓手机的版本号是多少,比如是安卓7.0,这对应API level 24,勾选相应的选项(因为生成的APK要安装在你的手机上,并能运行,一定要选择和自己手机一致的SDK,...image.png • 再点 Player Settings 更改你APP包的名字。之后点build,选中要存放apk的路径,就会生成安卓的安装包.apk了。

    1.1K10

    Android应用apk的程序签名

    这个方法中,首先需要编译出一个未签名的apk。然后使用Jarsigner(或类似的工具),用密钥为apk手动签名。如果没有合适的密钥,可以运行Keytool来手动生成自己的keystore/key。...代码/数据权限共享——Android系统提供了基于签名的权限检查,因此如果应用程序间签有特定的证书,它们之间可以共享功能。...通过多个程序签有相同的证书,并且使用基于签名的权限检查,程序可以以一种安全的方式共享代码和数据。 如果计划支持单个应用程序的升级,需要确保key拥有一个超过期望的应用程序生命周期的有效期。...一般可以通过设置JAVA_HOME环境变量来告诉SDK编译工具如何找到Keytool。另 外还可以添加JDK中Keytool的路径到PATH的变量里。...如果在Linux上开发,并且使用GNU编译器来编译Java,那么要确保系统是使用JDK中的Keytool,而不是gcj。

    1.9K10

    Android下载apk异常java.net.SocketTimeoutException: timeout解决办法

    1、问题 实现下载apk的时候,抛出下面异常 java.net.SocketTimeoutException: timeout 2、分析 很明显是socket超时了,由于我的wifi网络比较慢,...设置的超时时间可能短了。...在写入由 GetRequestStream 方法返回的流时,或在读取由 GetResponseStream 方法返回的流时,会用到 ReadWriteTimeout 属性,ReadWriteTimeout...属性控制 Read 方法(用来读取由 GetResponseStream 方法返回的流)和 Write 方法(用来写入由 GetRequestStream 方法返回的流),HttpURLConnection...里面有个setReadTimeout方法,我们把这个函数的超时时间设置久一点就ok 3、解决办法 超时时间设置长点,然后在wifi速度还可以的情况下去下载。

    75220
    领券