dex2jar

[android反编译小结]apktool/ AXMLPrinter2.jar/ dex2jar.bat/ jd-gui/ Jodeclipse/ JadClipse

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-26 12:10:09
开篇: “对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说Google Android平台选择了Java Dalvik VM的方式使其程序很容易破解和被修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构,类似Sun JavaMe的Jar压缩格式一样,不过比较去别的是Android上的二进制代码被编译成为Dex的字节码,所有的Java文件最终会编译进该文件中去,作为托管代码既然虚拟机可以识别,那么我们就可以很轻松的反编译。所有的类调用、涉及到的方法都在里面体现到,至于逻辑的执行可以通过实时调试的方法来查看,当然这需要借助一些我们自己编写的跟踪程序。Google最然在Android Market上设置了权限保护app-private文件夹的安全,但是最终我们使用修改定值的系统仍然可以获取到需要的文件。" from: http://www.cnblogs.com/huyipeng/archive/2010/07/25/1784679.html 搞过几天android的朋友都知道,将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),我们可以从.dex文件中得到.class,利用后者再得到大家垂涎已久的java文件。 下面分别针对这三种格式的文件进行反编译处理; 1

Apk decompile error: d2j-dex2jar command not found

≡放荡痞女 提交于 2019-12-20 12:36:37
问题 I try to get source code from an .apk I followed the steps from right here Is there a way to get the source code from an APK file? but on Step 2.4 when I wrote on my cmd dex2jar path> d2j-dex2jar classes.dex I get " 'd2j-dex2jar' is not recognized as an internal or external command, operable program or batch files. " any solutions ? 回答1: Use dex2jar classes.dex instead of d2j-dex2jar classes.dex And please check which version of dex2jar is with you. if it is dex2jar-2.x jar file then , please

Android札记【3】——关于Android反编译方面[首届 Google 暑期大学生博客分享大赛]

不问归期 提交于 2019-12-17 11:37:10
[首届 Google 暑期大学生博客分享大赛——2010 Android 篇] 写个东西不容易啊!第一次写了一半,上传个文件后,结果网络崩溃了。把我气得......(实践了几次之后发现,在Chrome浏览器下上传图片是会崩溃的,换了搜狗,一切才正常。)其实按照我的札记的顺序,这次本应该写一写关于Android的基本的技术和相关的知识。毕竟这样比较符合逻辑。可是最近学习的时候碰到了关于反编译方面的知识,所以自己留心进行了一系列的实践并做了一下总结,希望能够为大家提供一些帮助。通过反编译,我们可以去看一下别人的一些Android优秀的应用程序是怎样写的,这样也是一种学习的过程(虽然这种学习有点“不道德”。) (ps:对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说Google Android平台选择了Java Dalvik VM的方式使其程序很容易破解和被修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构,类似Sun JavaMe的Jar压缩格式一样,不过比较去别的是Android上的二进制代码被编译成为Dex的字节码,所有的Java文件最终会编译进该文件中去,作为托管代码既然虚拟机可以识别,那么我们就可以很轻松的反编译。所有的类调用、涉及到的方法都在里面体现到,至于逻辑的执行可以通过实时调试的方法来查看

Android APK反编译就这么简单

混江龙づ霸主 提交于 2019-12-10 18:30:23
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 使用工具: CSDN上下载地址: apktool (资源文件获取) 下载 dex2jar(源码文件获取) 下载 jd-gui (源码查看) 下载 工具介绍: apktool 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar 作用:将apk反编译成java源码(classes.dex转化成jar文件) jd-gui 作用:查看APK中classes.dex转化成出的jar文件,即源码文件 二、Apk 反编译 得到Java源代码 下载上述工具中的dex2jar和 jd-gui ,解压 将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的 classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内, 在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat classes.dex,效果如下: 在改目录下会生成一个 classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了,效果如下: 被混淆过的效果图

有没有办法从APK文件中获取源代码?

最后都变了- 提交于 2019-12-10 18:25:33
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我的笔记本电脑上的硬盘驱动器刚刚崩溃,并且丢失了过去两个月来我一直在使用的应用程序的所有源代码。 我所拥有的就是APK文件,该文件存储在我发送给朋友时的电子邮件中。 有什么办法可以从这个APK文件中提取我的源代码? #1楼 这两篇文章描述了如何结合使用 apktool 和 dex2jar 来获取 APK 文件,并创建一个可以构建和运行它的Eclipse项目。 http://blog.inyourbits.com/2012/11/extending-existing-android-applications.html http://blog.inyourbits.com/2012/12/extending-existing-android-applications.html 基本上,您: 使用 apktool 将资源文件移出apk 使用 dex2jar 获得一个jar文件,其中包含Eclipse所需格式的类。 创建一个Eclipse项目,将其指向资源文件和新的jar文件 使用zip实用程序打开jar文件并删除现有资源 使用 JDGui 打开jar文件以查看源代码 从 JDGui 所需的任何源代码,将其粘贴到Eclipse中的类中并对其进行修改 从jar文件中删除该类(因此您没有多次定义相同的类) 运行。 #2楼

APK反编译

落花浮王杯 提交于 2019-12-06 12:28:54
参考网站, https://www.cnblogs.com/geeksongs/p/10864200.html 1、直接解压apk得到classes.dex,有的apk可能有几个dex 2、将classes.dex放到dex2jar-2.0文件夹内。 3、cmd输入命令:d2j-dex2jar.bat classes.dex 4、使用jd-gui https://github.com/java-decompiler/jd-gui/releases/ 打开classes-dex2jar.jar就可以看到源代码 如果再第三步出现错误,报错 error.zip,可以把dex2jar的源码下载下来编译一下。 https://github.com/pxb1988/dex2jar gradlew.bat assemble 在dex2jar-2.x\dex-tools\build\distributions下生成压缩包(dex-tools-2.1-SNAPSHOT.tar,dex-tools-2.1-SNAPSHOT.zip),解压一个压缩包,重新反编译apk。 此外,还可以使用apktool工具来反编译, https://ibotpeaches.github.io/Apktool/install/ 命令 apktool.bat d XXX.apk 来源: https://www.cnblogs

[转]移动APP安全测试

让人想犯罪 __ 提交于 2019-12-06 11:41:35
1 移动App安全 风险分析 1.1 安全威胁分析   安全威胁从三个不同环节进行划分,主要分为客户端威胁、数据传输端威胁和服务端的威胁。     1.2 面临的主要风险       1.3 Android 测试 思维导图    1.4 反编译工具   有两种反编译方式,dex2jar和apktool,两个工具反编译的效果是不一样的,dex2jar反编译出 java 源代码,apktool反编译出来的是java汇编代码。   dex2jar主要是用来把之前zip解压出来的classed.dex转成jar包的   jd-gui主要是用来打开Jar包的    2 本地客户端安全 2.1 反编译保护 2.1.1 问题描述   APP源代码对于一个公司是非常重要的信息资源,对APP的保护也尤为重要,APP的反编译会造成源代码被恶意者读取,以及APP的逻辑设计,    反编译方法   我们一般想要反编译一个apk,无非就是想获得三样东西:图片资源、XML资源、代码资源   一. 图片资源获取   首先准备一个apk,这里是一个.apk后缀的文件,我们先把后缀改成,zip,打开zip文件在res目录下,我们就可以获取到我们需要的图片了。   二. XML资源获取   我们可以在刚刚打开的zip文件目录下看到很多.xml的文件,这个xml文件是无法直接打开的

Proguard进行Android代码混淆

泄露秘密 提交于 2019-12-04 22:20:41
在实际的开发成产品apk的发布过程中,我们经常会使用到代码混淆技术。不过在讲解如何进行代码混淆之前,我先跟大家演示一下反编译的过程,这样才能让大家明白为什么需要进行代码混淆。 一、代码反编译 1.准备工作 首先我们准备好一个项目的apk文件(未进行混淆打包 )、dex2jar工具(下载地址: http://code.google.com/p/dex2jar/ )、 jd-gui工具(下载地址 : http://jd-gui.softpedia.com/ )。 2.获取CodeMixTest.apk中的classes.dex文件 将CodeMixTest.apk解压,这里我们为了方便就直接解压到当前文件夹下。在解压出的文件中,我们可以看见有一个classes.dex文件,这就是我们的源代码打包生成的文件。 3.使用dex2jar工具还原jar文件 dex2jar工具的作用就是将class.dex文件还原成.jar文件。先将dex2jar-0.0.9.15.zip解压,然后将上面获得的classes.dex文件拷贝至解压的目录中。 查看解压目录中,有dex2jar.bat文件。 启动cmd,进入到dex2jar工具解压的目录中,运行命令:dex2jar.bat classes.dex, 有如下结果 。 查看 dex2jar工具解压的目录中,生成了我们想要得到的 classes

Apk decompile error: d2j-dex2jar command not found

匿名 (未验证) 提交于 2019-12-03 02:49:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I try to get source code from an .apk I followed the steps from right here Is there a way to get the source code from an APK file? but on Step 2.4 when I wrote on my cmd dex2jar path> d2j-dex2jar classes.dex I get " 'd2j-dex2jar' is not recognized as an internal or external command, operable program or batch files. " any solutions ? 回答1: Use dex2jar classes.dex instead of d2j-dex2jar classes.dex And please check which version of dex2jar is with you. if it is dex2jar-2.x jar file then , please try to download dex2jar-0.0.9.15 jar file. 回答2:

mac 终端快捷键

▼魔方 西西 提交于 2019-12-02 02:58:49
mac 终端快捷键 常用的快捷键: Ctrl + a 跳到行首 Ctrl + e 跳到行尾 Ctrl + d 删除一个字符,相当于通常的Delete键(命令行若无所有字符,则相当于exit;处理多行标准输入时也表示eof) Ctrl + h 退格删除一个字符,相当于通常的Backspace键 Ctrl + u 删除光标之前到行首的字符 Ctrl + k 删除光标之前到行尾的字符 Ctrl + c 取消当前行输入的命令,相当于Ctrl + Break Ctrl + a 光标移动到行首(Ahead of line),相当于通常的Home键 Ctrl + e 光标移动到行尾(End of line) Ctrl + f 光标向前(Forward)移动一个字符位置 Ctrl + b 光标往回(Backward)移动一个字符位置 Ctrl + l 清屏,相当于执行clear命令 Ctrl + p 调出命令历史中的前一条(Previous)命令,相当于通常的上箭头 Ctrl + n 调出命令历史中的下一条(Next)命令,相当于通常的上箭头 Ctrl + r 显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)</p> <p>次常用快捷键: Alt + f 光标向前(Forward)移动到下一个单词 Alt + b 光标往回(Backward)移动到前一个单词 Ctrl