首页
学习
活动
专区
圈层
工具
发布

反编译Apk得到Java源代码

//laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz 步骤: 1.首先找到Android软件安装包中的classes.dex 把.apk...文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex...所在目录,运行 dex2jar.bat classes.dex  ,生成classes.dex.dex2jar.jar  3.运行JD-GUI工具(它是绿色无须安装的) 打开上面的jar文件,即可看到源代码...生成程序的源代码和图片、XML配置、语言资源等文件。...三.将反编译完的文件重新打包成apk  很简单,只要输入:      apktood b c:***文件夹(你编译出来文件夹)

2.8K20

利用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,同样的方法,

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

    AAB转换APK的操作与排错

    GooglePlay提交AAB,测试安装和国内分发通常使用APK。当手上只有AAB时,可使用安卓APK资源混淆加密重签名工具生成通用APK。...该功能从2.0.0版本开始提供,软件自带运行环境,无需安装Java、AndroidSDK或Gradle。格式说明APK是完整且可直接安装的安装包。...输出是通用APK,包含全部资源,所以体积一般会增加。转换操作打开软件,点击左侧AAB转APK。点击打开AAB,选择.aab,也可以粘贴完整路径。默认保存为同目录下的.apk。...出现APK保存路径提示后,转换完成。注意:新生成的APK未签名,安卓系统不会允许直接安装。完成签名和加固进入首页,点击打开单个文件载入APK。...请填写APK文件的绝对保存路径:例如D:\output\app.apk,并以.apk结尾。目标APK已存在:确定后覆盖,或取消并更换路径;软件会先写临时文件再替换。

    11410

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

    文章目录 一、解压 apk 文件 二、加密生成 dex 文件 三、打包未签名 apk 文件 四、完整代码示例 五、文件解压缩相关代码 六、执行结果 一、解压 apk 文件 ---- 被解压的 apk 文件位置...// 解压文件 unZip(apkFile, apkUnZipFile) unZip 方法中的代码在最后一节中 ; 二、加密生成 dex 文件 ---- 将 app-debug.apk...") // 压缩打包操作 zip(apkUnZipFile, unSignedApk) 四、完整代码示例 ---- @ExperimentalStdlibApi fun main() {...将 jar 包变成 dex 文件 使用 dx 工具命令 注意 : Windows 命令行命令之前需要加上 "cmd /c " 信息 , Linux 与...") // 压缩打包操作 zip(apkUnZipFile, unSignedApk) } 五、文件解压缩相关代码 ---- /** * 删除文件, 如果有目录, 则递归删除 */

    2.4K00

    APK加固之类抽取分析与修复

    0x01 APK加固前后对比 整体来看一下原始APK包和加固后的APK包结构相关变化 图1所示加固后的APK包变化如下: 新增2个文件夹: assets文件夹中增加3个文件 data dx pk lib..., 反编译出错,错误日志如下: 从图2可以看出反编译时出现了很多错误,我们用IDA对DEX进行反编译查看代码,发现方法指令都被零填充了,反编译后代码显示为nop样式,如图3所示。...图3 我们再来看看APK中的AndroidManifest.xml文件被修改了什么地方?...,这里只贴出部分代码详细的请看工程,代码写得比较粗操,看下思路就行了,有性趣的就慢慢撸吧!...中assets文件夹中的data文件与classes.dex放在修复程序同一个目录中,然后运行修复程序。

    2.7K00

    Java基础6:代码块与代码加载顺序

    本文主要介绍了三种代码块的特性和使用方法。...代码块:用{}包围的代码 java中的代码块按其位置划分为四种: 局部代码块 位置:局部位置(方法内部) 作用:限定变量的生命周期,尽早释放,节约内存 调用:调用其所在的方法时执行 public class...} } 静态代码块 位置:类成员位置,用static修饰的代码块 作用:对类进行一些初始化 只加载一次,当new多个对象时,只有第一次会调用静态代码块,因为,静态代码块...C(); C c2 = new C(); //结果,静态代码块只会调用一次,类的所有对象共享该代码块 //一般用于类的全局信息初始化 //静态代码块调用 //代码块调用.../details/80061047 关于Java类和包的内容可以在下一节查看: https://blog.csdn.net/a724888/article/details/80069504

    72700

    Android APK 加固实践与问题排查

    处理范围与配置对象是打包完成的APK,不涉及源码工程和Gradle构建脚本,整个过程通过图形界面完成。...功能分为四层:DEX代码层:DEX加壳与魔改、字符串加密、指令乱序、垃圾指令/分支注入、调用隐藏、DEX拆分、类/方法/域重命名资源层:资源名称混淆(含增强模式)、图片/XML/文本资源混淆、ARSC魔改...、资源防解压、Assets加密、JS混淆加密文件结构层:APK文件魔改、伪加密、垃圾注解、文件时间混淆、APK文件高级保护运行时层:反调试、防重签名、包名防修改、ROOT检测、VPN检测,以及日志与无用代码清理忽略列表可跳过推送...指定保存位置,等待混淆、加固与重签名完成。注意:DEX加壳、APK文件魔改、APK伪加密可能引起部分国外小众杀毒软件报壳或误报。...结论未加固APK的代码和资源容易被静态分析。发布前直接处理成品包,不改源码,也无需配置AndroidSDK或JDK环境,可以提升逆向和二次打包的成本。

    12810

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

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

    2.9K20

    【连载】聊聊 APK(二)——Dex 热修复与 Classpath

    想进大厂,就关注「 程序亦非猿 」 时不时 8:38 推送优质文章,觉得有用,置顶加星标 船长导读:「聊聊 APK」系列由我好基友 Gemini 老师提供 上一篇文章《聊聊 APK —— 直接运行 Dex...热修复与 Classloader 参照腾讯开源的 Tinker 和阿里的 DexPatch 的原理,我们知道对于现在对于 java 代码的热修复主要从 DexClassLoader 里面的 dexPathList...Android 提供的 DexClassloader 是按提供的 dex 顺序找的,因此对于 java 代码的热修复变得很简单 —— 只要把想要被修复的 Dex 放到最前面,加载相关的类就好了,Tinker...看图可以看见非常顺利,我们构造了一个“有Bug”的 Dex,假设这个 Dex 目前存在于我们的 apk 里面,那我们如何使用一个新的 Dex 去覆盖我们的 Test.run 方法呢?...构造修复后的 Dex 很简单,首先,在相同的类里面,把我们的代码改了,比如这样,在 Test.java 中: public class Test { public void run() {

    87730

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

    文章目录 一、apk 对齐操作 二、apk 对齐命令 三、apk 对齐操作代码示例 四、apk 对齐执行结果 一、apk 对齐操作 ---- 参考 【Android 安全】DEX 加密 ( DEX 加密使用到的相关工具...\debug\app-unsigned.apk D:\002_Project\002_Android_Learn\DexEncryption\app\build\outputs\apk\debug\app-unsigned-aligned.apk...\outputs\apk\debug\app-unsigned-aligned.apk 表示对齐后的输出文件的 绝对路径 ; 三、apk 对齐操作代码示例 ---- 对齐操作代码示例 : /*...对齐 使用 zipalign 工具命令 注意 : Windows 命令行命令之前需要加上 "cmd /c " 信息 , Linux 与 MAC 命令行不用添加...\debug\app-unsigned.apk D:\002_Project\002_Android_Learn\DexEncryption\app\build\outputs\apk\debug\app-unsigned-aligned.apk

    3.4K00

    关于java中普通代码块、构造代码块与静态代码块

    1.普通代码块 public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现”{普通代码的执行语句}“的就称为普通代码块。...; {   System.out.println("这里是普通代码块B"); } } 执行结果:这里是普通代码块A      这里是普通代码块B 2.静态代码块与构造代码块 在java...如果类中包含多个静态代码块,那么将按照"先定义的代码先执行,后定义的代码后执行。 ps:1 静态代码块不能存在于任何方法体内。...1"); } { System.out.println("这里是A中的普通代码块2"); } } 执行结果: 这里是静态代码块 这里是普通代码块A 这里是A中的普静态代码块1 这里是A中的普通代码块...1 这里是A中的普通代码块2 这里是普通代码块B 优先级总结:静态代码块>Main()>构造代码块

    2.4K30
    领券