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

java打开dex文件_dex文件反编译工具(Dedexer)

dedexer是Android DEX文件反汇编工具,目前网上唯一一个反编译dex文件的反编译工具。如果你用过ant编译java程序,那么编译Dedexer是一件非常简单的工作。...该软件要求您的电脑要装有Java环境(进入下载jre.Java环境)才能正常使用 dedexer与dexdump相比至少有3个优点 一,不需要在android模拟器中运行。...二,把dex文件按照java源代码package的目录结构建好了目录,每个class文件对应一个ddx文件。不像dexdump那样把所有的结果都放在一起。...运行结果,出现一个使用帮助.仔细阅读后试了下: java -jar ddx.jar -o -D -d java -jar ddx1.5.jar -o -D -d c:\dex\gen c:\dex\classes.dex...示例: D:\WINDOWS\system32> java -jar ddx1.5.jar -o -D -d c:\dex\gen c:\dex\classes.dex Processing com/

1.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

Java基础知识:动态联与静态联

动态联与静态联类型 JAVA中联有两种,一种是动态联,一种是静态联。 动态联:也叫多态联、迟后联、晚联,因为到底要调用哪一个函数,在编译时不能确定,而要推迟到运行中确定。...静态联:静态联是指联工作出现在编译连接阶段,这种联又称作早期联,因为这种联工作是程序开始运行之前完成的。 静态联编条件:静态类方法,静态类变量。...public static int i=4; //无参构造 public Test() { System.out.println("Test initialzed"); } //动态联...test.smile_static(); //静态联 } } 由整个程序最终的运行结果可以看出: 在构造一个子类对象时,先调用其父类的构造函数,再执行本类构造函数。...动态联与静态联的本质区别在于对static关键字的运用与变换,这将使得整个程序拥有更强的灵活性。

80210

【Android 安全】DEX 加密 ( Java 工具开发 | 生成 dex 文件 | Java 命令行执行 )

文章目录 一、生成 dex 文件 二、生成 dex 文件代码示例 三、生成 dex 结果 一、生成 dex 文件 ---- 上一篇博客解压了 代理 Application 依赖库 multiple-dex-core-debug.aar..., 并获取了其中的 classes.jar 文件 ; 现在开始使用 dx 命令 , 将其转为 dex 文件 ; dx 具体用法参考 【Android 安全】DEX 加密 ( DEX 加密使用到的相关工具...( dex 转换前的文件 ) , classes.dex ( dex转换后的文件 ) 文件对象 , 使用这两个文件对象获取完整路径 ; // 拿到 multiple-dex-core-debug.aar..., 下面会开始创建该 dex 文件 var classesDexFile = File(aarUnzip, "classes.dex") Java 代码中调用命令行执行 : 使用 Runtime.getRuntime...结果 ---- 控制台打印结果 : D:\001_Programs\001_Android\004_AndroidStudio_4.1\jre\bin\java.exe -javaagent:D:\001

81900

Java文件是如何编译成Dex文件的?如何执行Dex文件?「建议收藏」

Dex文件介绍 ---- Android系统中,一个App的所有代码都在一个Dex文件里面。Dex是一个类似Jar的存储了多有Java编译字节码的归档文件。 为什么要使用dex文件来存储呢?...dex文件最终会和资源文件等一起打包成为apk,签名后安装到手机上。 Java文件编译成Dex文件 ---- Java文件编程成dex文件,要经历以下几个步骤: Java文件生成.class文件。....class文件生成dex文件。 1. Java文件生成.class文件 Java文件是Java的源文件。 .class文件是Java的字节码文件,它可以被JVM识别、加载和执行。...我们想要生成dex文件,第一步是要把Java文件编译成.class文件,也就是字节码文件。...-target 1.7 Demo.java 2. .class文件生成Dex文件 生成.class文件之后,就需要我们转换成dex文件了。

1.7K10

Java 虚拟机原理】Dalvik 虚拟机 ( 打包 Jar 文件和 Dex 文件 | 反编译 Dex 文件 | 分析 Dex 文件反编译结果 )

文章目录 前言 一、打包 Jar 文件和 Dex 文件 1、示例代码 2、打包 Jar 文件 3、打包 Dex 文件 二、反编译 Dex 文件 三、分析 Dex 文件 1、Student 类相关信息...一、打包 Jar 文件和 Dex 文件 ---- Dalvik 虚拟机中运行的是 Dex 文件 , Java 虚拟机运行的是 Jar 文件 ; 1、示例代码 示例代码 : 代码 1 : public...文件 , 命令行输出 : 打包后的 main.dex 文件 ; 二、反编译 Dex 文件 ---- 使用如下命令 , 反编译 Dex 文件 : dexdump -d -l plain main.dex...输出 Dex 文件的内容 : D:\002_Project\004_Java_Learn\Main\out\production\Main>dexdump -d -l plain main.dex Processing...) D:\002_Project\004_Java_Learn\Main\out\production\Main> 三、分析 Dex 文件 ---- 1、Student 类相关信息 第 #0 号

2.2K20

java用那个软件,java编译软件 编写java程序用什么软件?

java用什么编译软件 用JCreator或eclipse, Jbuilber占用内存太大 java本身的就是javac和java 常用Java编程软件有哪些 常用的倒是有很多,比如:JDK,NetBases...初学JAVA者应该使用什么编译软件?...(此变量最好设置,因为以后运行tomcat,eclipse等都需要依*此变量); Path使得系统可以在任何路径下识别java命令,设为: %JAVA_HOME%\bin;%JAVA_HOME%\jre...;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示当前路径) %JAVA_HOME%就是引用前面指定的JAVA_HOME; 6....编译java程序需要使用什么命令 编译命令是 javac首先使用记事本编辑一段简单的Java代码 然后保存为HelloWorld.java文件(注意类名需要和文件名保持一致) 3.打开cmd命令行

2.9K30

Class 和 Dex 文件深入理解 | JAVA_Android

本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接 class 文件结构深入解析 什么是 class 文件 ​ 能够被 JVM 识别,加载并执行的文件格式,他就类似于 mp3...中记录的信息远远多于java源代码中的信息。...文件结构 ​ 一种 8 位字节的二进制流文件 ​ 各个数据按顺序紧密的排列,无间隙 ​ 整个应用中所有的 java 源文件都放在一个dex中,这里不考虑 multidex dex 文件头 magic...最后看一下整个 dex 未必会的格式 Class 和 Dex 的区别 每个 class 文件是一个表。这个文件只记录了当前java的信息。...dex 将文件划分为了 三个区域,这三个区域存储了整个工程中所有的java 文件的信息,所以 dex 在类越来越多的时候优势就提现出来了。

50820

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

new 按钮 , 在下面的对话框中输入 jks 的密码 , Key 名称 , 及 Key 的密码 ; 密码都是 000000 生成结果 : 二、签名命令 ---- 参考 【Android 安全】DEX...加密 ( DEX 加密使用到的相关工具 | dx 工具 | zipalign 对齐工具 | apksigner 签名工具 ) 博客中的 apksigner 签名工具使用方法 , 签名命令参考 : apksigner...Android/002_Sdk/Sdk/build-tools/30.0.2/apksigner sign –ks D:\002_Project\002_Android_Learn\DexEncryption\dex.jks...30.0.2/apksigner 是完整的命令工具路径 ; sign 表示操作选项 , 签名 ; –ks D:\002_Project\002_Android_Learn\DexEncryption\dex.jks...30.0.2/apksigner sign --ks D:\002_Project\002_Android_Learn\DexEncryption\dex.jks --ks-key-alias Key0

2.8K00

APK逆向工程

APK结构 内容 含义 AndroidManifest.xml 二进制xml文件,提供设备运行应用程序所需的各种信息 classes.dexdex格式编译的应用程序代码 resources.arsc...APK签名也存储在此文件夹中 lib 此文件夹包含已编译的代码,例如本地代码库 工具介绍 名字 介绍 dex2jar 将apk中的class.dex文件反编译为jar包 jd_gui 将jar反编译为....java文件 apktool 提取apk中的资源文件 下载注意: 根据自己的系统平台下载对应版本的工具,dex2jar貌似不支持Mac OS,其他两种工具支持Windows,Linux,Mac OS...相关命令 解包: apktool d test.apk dex2jar dex2jar下载 使用dex2jar,可以将解压apk包得到的classes.dex生成jar包。...相关命令 d2j-dex2jar classes.dex jd-gui jd-gui下载 使用jd-gui可以将jar包生成java代码。 解压后直接双击打开exe执行: ?

1.1K20

APP加固攻防梳理

(xposed是java编译,适用于java层hook;frida适用于java层和native层hook)。 通过对关键函数dvmDexFileOpenPartial进行hook实现脱壳。...(xposed是java编译,适用于java层hook;frida适用于java层和native层hook)。 通过对关键函数memcmp、dexFileParse进行hook实现脱壳。...定制系统脱壳法 通过修改系统源码中的关键函数如DexFile、OpenFile、dexFindClass函数的关键逻辑,然后进行重系统。 在ART中通过修改定制dex2oat法进行脱壳。...通过将程序的代码编译为虚拟机指令也就是虚拟机代码(也就是自定义的代码集),通过虚拟机cpu解释并执行的一种方式。...2、利用frida的搜索内存,通过匹配DEX文件的特征,例如DEX文件的文件头中的魔法值---dex.035或dex.036这个特征。frida-Dexdump便是这种脱壳方法的代表作。

2.9K32

ApkScan-PKID 查壳工具下载使用以及相关技术介绍

2、apk的组成原理:apk壳和pc端的都差不多,只是在处理不同的文件格式dex和exe中会有差别;导致不同的加壳;Android上的应用安装文件是apk格式的,这个apk文件其实就是个归档文件压缩包,...把应用相关的源码、资源文件、配置文件等等都归档打包,直接解压之后就能得到app的dalvik指令集dex文件,然后再反编译为smali,还可以再反编译为Java,这样就几乎等同于拿到了app就能拿到可读性还蛮清晰的源码...动态加载)、(源程序)需要加壳处理的被保护代码 二、 关于壳的技术资料 Dex文件结构:https://blog.csdn.net/androidsecurity/article/details/8664778...版的需要用到Java环境 下载JAVA1.8链接: https://www.java.com/zh_CN/download/windows-64bit.jsp JDK安装教程:https://blog.csdn.net...-version检测java环境: 4、输入指令:java -jar .

2.3K20

【Android 逆向】加壳技术识别 ( VMP 加壳示例 | Dex2C 加壳示例 )

文件后 , Java 函数变为 Native 函数 ; 二、VMP 加壳示例 ---- 推荐一个 VMP 加壳程序 ADVMP ; 源码地址 : https://gitee.com/simon_haha...develop/p/4397397.html VMP 的核心原理是 自定义 Dalvik 和 ART 解释器 , 解释器解释 Smali 指令流 ; 该解释器是 VMP 加壳的核心原理 ; 解释器可以使用 Java...实现 , 也可以使用 C 实现 , 使用 Java 实现更容易被破解 ; 因此 , 解释器一般使用 C 实现 , 为了保护解释器不被快速定位 , 一般会使用 OLLVM 技术对解释器进行保护 , 增加逆向的难度...文件后 , 其中被保护的函数 , 由 Java 函数变为了 Native 函数 ; 传统的编译原理 : 将代码进行词法 , 句法分析 , 生成二进制汇编代码 , 也就是机器码 ; Dex2C 中, 将...Java 代码进行词法 , 句法分析 , 生成对应的 C / C++ 文件 , 然后交叉编译为 SO 动态库 ;

5K41

Android开发中的ART、JIT、AOT、Dalvik都指的是什么

Dalvik Dalvik是Google公司自己设计用于Android平台的Java虚拟机,Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一,它可以支持已转换为....dex格式的java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。...由于Dalvik每次执行代码,都需要Dalvik将dex代码翻译为微处理器指令,然后交给系统处理,这样效率不高。...前面介绍过,JIT是运行时编译,这样可以对执行次数频繁的dex代码进行编译和优化,减少以后使用时的翻译时间,虽然可以加快Dalvik运行速度,但是还是有弊病,那就是将dex译为本地机器码也要占用时间,

1.2K30

ApkScan-PKID 查壳工具

2、apk的组成原理:apk壳和pc端的都差不多,只是在处理不同的文件格式dex和exe中会有差别;导致不同的加壳;Android上的应用安装文件是apk格式的,这个apk文件其实就是个归档文件压缩包,...把应用相关的源码、资源文件、配置文件等等都归档打包,直接解压之后就能得到app的dalvik指令集dex文件,然后再反编译为smali,还可以再反编译为Java,这样就几乎等同于拿到了app就能拿到可读性还蛮清晰的源码...动态加载)、(源程序)需要加壳处理的被保护代码 二、 关于壳的技术资料 Dex文件结构:https://blog.csdn.net/androidsecurity/article/details/8664778...版的需要用到Java环境 下载JAVA1.8链接: https://www.java.com/zh_CN/download/windows-64bit.jsp JDK安装教程:https://blog.csdn.net...-version检测java环境: 4、输入指令:java -jar .

50630
领券