apk中java代码反编译

     2022-04-13     698

关键词:

Android APK中的Java代码可以被反编译到什么程度主要看APK的加密程度。
第一种情况:无混淆无加密无加壳。
直接利用Dex2jar和JD-GUI可把源码从APK里抠出来,代码逻辑清晰,基本上做到可复用,只是资源文件的引用需要计算一下。

第二种情况:混淆。
通常是利用Proguard做的防护。因为是对jar做的不可逆混淆(除非有mapping),因此不能还原成原来的代码。但是代码结构,代码逻辑一致,只要花长时间对代码进行梳理一样可找准核心代码,解密方法跟第一种一致。

第三种情况:加密。
这里以DexGuard为例。对于这种代码加密的方法,在程序运行中必定会进行解密,只要抽出它解密的逻辑便可。PS:我自己做过DexGuard的解密,如果用Dex2jar反编译看的话逻辑是不对的,一定要从Smali代码看。后来发现网上已经有人做了。
解密的脚本:A look inside Dexguard

第四种情况:加壳。
这种情况跟第三种类似。无论你怎么加壳,运行的时候必定是Dalvik可识别的Odex代码,建议直接在内存里dump出来。这里推荐Xpose的ZjDroid。
脱壳教程:ZjDroid工具介绍及脱壳详细示例
作者:Vince
链接:http://www.zhihu.com/question/30723538/answer/49382019


来自为知笔记(Wiz)


反编译androidapk的具体步骤是怎样的

反编译步骤方法:一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar,将需要反编译的APK文件放到该目录下,打开命令行界面(运行-CMD)&nb... 查看详情

apk反编译

...APK进行反编译。Android的反编译分成两个部分:一个是对代码反编译,也就是java文件的反编译。一个是对资源反编译,也就是res文件的反 查看详情

如何防止代码被反编译

...法识别apk了。完全避免是不可能的,总有人能够破解你的代码。但是有几种方式来提高被反编译取代码的难度。1关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译2混淆java代码。混淆是不改变代码逻辑的... 查看详情

apk反编译

... 用命令(dex2jar.batclasses.dex)得到一个jar文件2.用jd-gui反编译工具将得到.jar文件反编译成.java文件 三、使用apktool得到apk的xml文件&nb 查看详情

反编译apk,问题lambda

】反编译apk,问题lambda【英文标题】:Decompileapk,problemslambda【发布时间】:2017-08-0219:20:33【问题描述】:ImDecompiledapk,分别出现了.java文件,但是有的文件名中有这样的“AudioPlayerActivity$$Lambda$1.java”,这个“$$Lambda$1”是什么?... 查看详情

如何从 APK 反编译中保护 Fabric API 密钥?

...键。如何保护FabricAPIKey免受APK反编译?我已经完成了以下代码更改以从清单文件中隐藏FabricAPI密钥。但 查看详情

反编译apk时出现异常

】反编译apk时出现异常【英文标题】:Exceptionwhiledecompilingapk【发布时间】:2015-02-1622:05:54【问题描述】:我正在尝试制作一个安全的Android应用程序。我在我的应用中启用了proguard。但它在反编译时不会隐藏任何xml文件或清单。... 查看详情

android反编译apk(代码片段)

1.环境准备安装Apktool使用Apktool可以解包apk照着官网的安装步骤安装:https://ibotpeaches.github.io/Apktool/install/下载dex2jar使用dex2jar可以把dex转化为jar下载地址:https://github.com/pxb1988/dex2jar/releases如果转化过程中出错,可以试... 查看详情

apk反编译(代码片段)

...之后,就无法再看到开发这个应用时使用的资源文件以及代码了。但是我们通过网上提供了一些工具,还是可以将apk进行反编译的,apk反编 查看详情

安卓apk反编译修改重新打包签名全过程

首先明确,反编译别人apk是一件不厚道的事情。代码是程序员辛苦工作的成果,想通过这种手段不劳而获,是不对的。这也说明,代码混淆是非常重要的。本文抱着学习的态度,研究在一些特殊的情况下如果有需要,该怎么反编... 查看详情

apk反编译再打包并重签名(代码片段)

需要了两个外部工具:(1)apktool.jar   这个需要去网上下载,最好是下载最新的 https://ibotpeaches.github.io/Apktool/install/ (2)jarsigner.exe   这个安装了JDK之后就有了  反编译java.exe-jarapktool.jardHello.apk重... 查看详情

androidapk反编译工具jadx(代码片段)

...kylot/jadxJADX支持将APK,dex,aar,zip中的dalvik字节码反编译为Java代码,也支持反编译AndroidManifest.xml和resources.arsc资源。JADX安装首先安装JDK1 查看详情

反编译apk得到布局文件

 下载反编译工具:    apktool:http://ibotpeaches.github.io/Apktool/  命令:java-jarapktool.jardyourApkFile.apk  输入命令即可反编译apk。 参考:Android反编译技术总结 AndroidAPK反编译就这么简单详解(附图) 查看详情

如何通过 show java app 使 apk 难以反编译? [复制]

】如何通过showjavaapp使apk难以反编译?[复制]【英文标题】:Howtomakeapkhardtodecompilebyshowjavaapp?[duplicate]【发布时间】:2015-11-0414:29:37【问题描述】:请帮助我是android开发的新手我正在构建一个android应用程序,但它很容易被showjavaapp... 查看详情

反编译app

...两个工具反编译的效果是不一样的,dex2jar反编译出java源代码,apktool反编译出来的是java汇编代码。dex2jar反编译工具:dex2jar+jdgui方法:首先修改apk为zip扩展名,然后解压出classes.dex文件 查看详情

代码编译-反编译-解混淆

...其解压缩,再借用其他工具就能被反编译出来.为了能对源代码就行一些必要的保护,我们可以对编译好的class文件进行混淆处理.ProGuard的就是一个混淆器,混淆器通过删除从未用过的代码和使用晦涩名字重命名类、字段和方法,对代... 查看详情

apk是啥文件,android文件中怎么反编译

参考技术A1使用apk_killer工具,可以查看内部所有的东西,代码如果没有很厉害的功底没有办法更改,但是一些res下的资源都是可以修改的,还有版本号等。2修改好的文件重新编译一下,可以使用你自己的key,直接可以连接模拟... 查看详情

反编译 APK 上的 .smali 文件 [重复]

】反编译APK上的.smali文件[重复]【英文标题】:Decompile.smalifilesonanAPK[duplicate]【发布时间】:2011-07-3118:26:50【问题描述】:我下载了APKManager,它可以让我解压APK文件。但它只是将其解包,不会将.smali文件反编译为.java。.smali可以... 查看详情