对于前两个就不提了,直接解压缩,修改执行权限就可以运行了。
而如果要在手机上运行,最好在root过的手机上,并且将dextraarmv7放置到/system/xbin目录下,将其改名成dextra并加上可执行权限。
使用起来很简单,要想从指定的oat(一般在手机上还是以odex结尾)文件中提取dex文件,可以使用下面的命令:
[plain] view plain copy
dextra -dextract <OAT_FILE>
这时候,等程序执行完后,会在当前目录下生成一个dex文件,可以直接对其进行分析。
当然dextra还有很多其它的功能,以后用到的时候再说。
dex文件是Android平台上可执行文件的类型。
对于Android DEX文件进行优化,需要注意的一点是DEX文件的结构是紧凑的,但是我们还是要想方设法的进行提高程序的运行速度,我们就仍然需要对DEX文件进行进一步优化。
调整所有字段的字节序(LITTLE_ENDIAN)和对齐结构中的每一个域 验证DEX文件中的所有类 对一些特定的类进行优化,对方法里的操作码进行优化 。优化后的文件大小会有所增加,应该是原Android DEX文件的1-4倍。 优化发生的时机有两个:对于预置应用,可以在系统编译后,生成优化文件,以ODEX结尾。
这样在发布时除APK文件(不包含DEX)以外,还有一个相应的Android DEX文件;对于非预置应用,包含在APK文件里的DEX文件会在运行时被优化,优化后的文件将被保存在缓存中。
每一个Android应用都运行在一个Dalvik虚拟机实例里,而每一个虚拟机实例都是一个独立的进程空间。虚拟机的线程机制,内存分配和管理,Mutex等等都是依赖底层操作系统而实现的。
第一步,下载并安装jdk
第二步,安装成功之后可以进行配置,右键我的计算机-属性-高级系统选项
第三步,点开环境变量选项卡
新建变量
1变量名:JAVA_HOME 值:C:\Program Files\Java\jdk170 (以你安装目录为准,确认里面有bin和lib,jre等多个文件夹)
2变量名:classpath 值:;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dtjar;(千万别漏了开头的小点)
如果变量目录下没有PATH这个变量,还需要新建一个
3变量名:PATH 值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
如果已经存在PATH,就在值前面加上面的一段路径就可以了,末尾有;隔开。
有的程序的文件夹是自动建立在sd卡上的,有的程序是没有文件夹的,程序位于date/app文件夹内,而系统的程序位于system/app文件夹内。
软件安装完成后,就会在date/app目录出现一个apk文件。
这个文件相当于windows下exe安装完成后在c盘生成的安装文件夹里的一样,只不过安卓环境下只是一个apk文件(有的还另外会在sd卡自动建立一个用于该程序存放数据的文件夹)
而windows环境下是一个包含有exe启动文件的文件夹,你不能把apk从那个目录删除,就像你把c盘的某个安装路径文件夹里的exe文件删除一样,你就不能启动该程序了,另外,system/app里放的是系统自带的程序,就像是windows自带的office程序类似。
注意apk文件总是相当于电脑里的setup安装文件,所以你不能把apk文件再在date/app里打开,因为它已经安装完毕了,所以提示是否替换。
扩展资料:
安装帮助
一错误解决
1提示:文件受损
说明:安装程序文件被破坏或者不完整有可能是在程序下载或者解压缩时引起的文件破坏
解决:请确定下载的程序文件完整性网络不好也会损坏下载文件,建议再次下载或解压缩程序再试
2提示:无任何提示,运行无反映
说明:一般是中文文件名的JAR程序出现这种情况
解决:删除掉已经安装的JAR程序,将JAR程序文件名改为全英文之后再试
3提示:手机启动失败,请与零售商联系
说明:一般是某个程序安装失败后重启手机时出现这个提示,也有部分是升级机器时失败导致
解决:如果是某个程序安装失败,那么只需要将存储卡拿出来,然后再次启动机器并将安装错误的程序删除掉即可如果是手机升级后出现,那么就只有重新格机了需要注意的是:一些开机启动并常驻内存的软件是无法通过格式化解决的所以,软格前先需要把这些软件全部关闭或删除
4问题:jar程序安装打不开
说明:特别注意,JAR程序下载后不能改中文名再安装,否则会打不开,只能起英文名和数字!
解决:删除已安装程序,再把安装包重命名为英文或数字重新安装
5问题:打开程序时提示运存或储存空间不足!
说明:正在运行的程序太多或开机太久
解决:可以关闭一些程序或重起手机再打开程序,或查看手机储存是否太小,可以移动一些自己的文件到卡里增加手机空间!
6问题:下载程序分辨率不合适该屏幕
说明:1资源分类出错
2资源本身支持问题
解决:重新设置机型下载
7问题:在运行中提示出错
说明:1资源本身的BUG
2手机平台支持问题
3运行内存不足
解决:可以找一个高版本或重新开机再试试
参考资料:
在管理器里搜索dex编辑器就能找到。
MT管理器是一款强大的文件管理工具和APK逆向修改神器。软件有汉化应用、替换资源、修改布局、修改逻辑代码、资源混淆、去除签名校验等功能。
主要功能
文件复制、移动、创建软链接、重命名、删除、创建文件(夹),文件批量操作。获取Root权限后可访问系统目录,挂载文件系统为读写,修改文件权限和所有者。
像WinRAR那样打开ZIP格式文件,可以对ZIP内的文件进行删除、重命名、移动,添加/替换外部文件到ZIP中,无需解压后再重新打包,同时支持单独解压ZIP内的部分文件。
自带强大的文本编辑器,可以流畅编辑大文本文件,支持设置是否显示行号、开关自动换行、双指缩放字体大小、自动识别编码、代码语法高亮、自动缩进、正则搜索替换。
拥有查看、音乐播放、字体预览、执行脚本、文本对比等功能,在侧拉栏中可方便地查看存储设备、FTP连接、书签、后台、工具等。
可以在Dex文件头隐藏另一个DEX数据并在运行时加载附带DEX数据。
构建非规范的Dex文件
通过反射调用DexFile类的方法加载附带DEX数据
通过反射实际调用DexFile的openDexFile方法
该种方式允许通过byte[]解析dex数据,而无须在再把DEX数据存储在设备的某个文件。
可以从安装APK文件、内存或dalvik-cache等读取dex数据。
该种方式将给自动化分析工具带来一个问题,自动化工具会按照dex格式处理DEX文件而不会处理附带的dex数据。需要特定的工具、16进制编辑器或手工提取嵌入的dex数据。
我们可以采用各种不同的方式增加嵌入数据的提取难度,比如:
对嵌入的DEX数据进行加密;
嵌入的DEX数据加密后在对其进行ZIP压缩;
使用native代码解密,直接从内存加载;
等等
该种隐藏方式可以通过判断Dex文件头长度是否大于0x70检测。
欢迎分享,转载请注明来源:品搜搜测评网