【Android】应用安全——反编译】的更多相关文章

又到周末一个人侘在家里无事可干,这就是程序员的悲哀啊.好了我们利用周末的时间继续介绍android apk防止反编译技术的另一种方法.前三篇我们讲了加壳技术(http://my.oschina.net/u/2323218/blog/393372).运行时修改字节码(http://my.oschina.net/u/2323218/blog/396203)和伪加密(http://my.oschina.net/u/2323218/blog/399326),如果有不明白的可以查看我的博客的前三篇中关于这…
转: android apk 防止反编译技术 做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习.现在将最近学习成果做一下整理总结.学习的这些成果我会做成一个系列慢慢写出来与大家分享,共同进步.这篇主要讲apk的加壳技术,废话不多说了直接进入正题. 一.加壳技术原理 所谓apk的加壳技术和pc exe的加壳原理一样,就是在程序的外面再包裹上另外一段代码,保护里面的代码不被非法修改或反编译,在程序…
做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习.现在将最近学习成果做一下整理总结.学习的这些成果我会做成一个系列慢慢写出来与大家分享,共同进步.这篇主要讲apk的加壳技术,废话不多说了直接进入正题. 一.加壳技术原理 所谓apk的加壳技术和pc exe的加壳原理一样,就是在程序的外面再包裹上另外一段代码,保护里面的代码不被非法修改或反编译,在程序运行的时候优先取得程序的控制权做一些我们自己想…
=========================================================================虽然反编译很简单,也没下面说的那么复杂,不过还是转了过来. Android混淆.反编译以及反破解的简单回顾          搜索下,发现文章相关文档好多好多.就简单点,不赘述了==   一.Android混淆 1)概述          新建Android工程,根目录下会有个proguard.cfg.简单的混淆,你只需要在project.proper…
转自: http://www.freebuf.com/tools/76884.html 一.前言 对抗反编译是指让apk文件或者dex文件无法正常通过反编译工具,而且有可能导致工具异常或者崩溃,如apktool.baksmali.dex2jar.JEB等等工具,如下图dex2jar无法正常工作. 二.Dex文件格式解析 目前大多数android软件的反编译工具都是开源的,比如apktool.Dex2jar.baksamli,大家可以非常方便的从github下载并源阅读代码,然后找到可以利用的点,…
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d…
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d…
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d…
第一步:下载逆向助手:(链接: https://pan.baidu.com/s/15jtoFDg9LWV80HREeyx5HA 提取码: k527 ) 第二步:将apk文件拷贝到逆向助手的apktool目录,并CD到当前目录下: 第三步:在cmd命令行中输入命令 apktool d -f 应用程序名,如: apktool d -f com.google.earth_190791304.apk ,回车 可以看到生成了以apk名字命名的文件夹,里面可以直接看到res目录下的资源文件和android的…
上一篇<How To Use Proguard in Android APP>介绍了如何对Android进行混淆,现在来对它进行反编译看看,里面有些什么东西. APK文件,其实也是一个压缩文件,我们可以把它的后缀改为zip格式,解压缩后看看里面的东西,如下: 这里,Android对XML之类文件进行了加密,因此看到的是乱码: resources.arsc文件是资源文件的二进制索引,每个目录下都放着相关的资源文件,另外还有一个重要角色:classes.dex,这个就是源码打包后的文件,后面再搞它…
odex 是经过优化的dex文件,且独立存在于apk文件.odex 多用于系统预制应用或服务.通过将apk中的dex文件进行 odex,可以加载 apk 的启动速度,同时减小空间的占用.请参考ODEX关于 odex 的说明. 在反编译 odex 文件的过程中,我们需要使用到以下工具 smali/baksmali dex2jar JD Compiler, jar反编译工具 smali/baksmali是odex与dex文件格式互相转换的两个工具,dex2jar则是将dex文件转为java的jar文…
今天就来详细的讲一讲apk的反编译过程,之前自己一直没彻底搞清楚. 一.准备工作 反编译首先要准备三个工具.这三个工具都是可以百度下载的.就是下图所示的三个工具. 这三个工具是有各自作用的: (1)apktool工具用来反编译apk中的res下的文件,即所有的xml文件(包括Manifest.xml). (2)dex2jar工具用来反编译apk中的.class文件,即android项目的所有java代码. (3)jd-gui-0.3.3工具不是用来反编译的,是用来查看使用dex2jar反编译得到…
这几天在上海出差,忙里偷闲学习了一下Apk的反编译工具的基本使用.下面就简单介绍一下如何将我们从网上下载的Apk文件进行反编译得到我们想要获得的资源文件和源码. Android的应用程序APK文件说到底也是一个压缩文件,那么可以通过解压缩得打里面的文件内容,不过很显然,当你去解压完去查看的时候,发现里面的很多东西和你想象中的不太一样.资源文件等xml文件基本打不开,即使打开了也都是乱码(而这正是Android进行加密过),有些应用会将图片资源等的也加密(如qq音乐). 而既然直接解压无法看到正常…
混淆 Android Studio:  只需在build.gradle(Module:app)中的buildTypes中增加release的编译选项即可,如下: <code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace…
版权声明:本文为博主原创文章.转载请注明出处. https://blog.csdn.net/ysjian_pingcx/article/details/25468867 Android apk反编译一步到位        Andriod的apk在编译打包的时候将资源文件进行了二进制编译,.class文件编译成了.dex文件,经过了这几步之后,我们是无法查看资源文件和java文件,假设我们想看看市面上一些优秀app的设计和实现,我们就须要做一些工作了,具体有一下三个方面市面上有些app的布局设计的…
1, 文件 project.properties 修改: target=android-14proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 必须这个顺序. 2,proguard-project.txt 注意排除使用反射的源码. # To enable ProGuard in your project, edit project.properties# to define the…
一.反编译 1.获取工具: 既然是反编译,肯定要用到一些相关的工具,工具可以到这里下载,里面包含三个文件夹,用于反编译,查看反编译之后的代码: 其实这两工具都是google官方出的,也可在google code上下载 dex2jar,apktool: 2-1.反编译获取Java源代码: 将要反编译的apk文件后缀改为zip并解压,得到classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到apk2java目录下的dex2jar-0.0.9.9文件夹:…
反编译:上工具ApkTool 下载自行搜索google  apktool github cd apktool目录 java -jar apktool_2.0.1.jar d xx.apk 生成xx目录即反编译的文件,配置以及资源文件可以直接编辑,但是java源码在smali目录,是smali文件. java -jar apktool_2.0.1.jar b xx 回编译成apk,现在不能直接安装使用,可以USB调试安装,即adb install -r xx.apk 签名:jdk自带签名法 需要用…
http://blog.csdn.net/u010921385/article/details/52505094 1.需要加密的Apk(源Apk) 2.壳程序Apk(负责解密Apk工作) 3.加密工具(将源Apk进行加密和壳Dex合并成新的Dex) 主要步骤: 我们拿到需要加密的Apk和自己的壳程序Apk,然后用加密算法对源Apk进行加密在将壳Apk进行合并得到新的Dex文件,最后替换壳程序中的dex文件即可,得到新的Apk,那么这个新的Apk我们也叫作脱壳程序Apk.他已经不是一个完整意义上的…
使用JD-GUI反编译Android代码 本文地址: http://blog.csdn.net/caroline_wendy Android程序出现Bug时,须要依据Bug寻找问题出错的地方; 须要使用工具dex2jar.sh和JD-GUI,并把dex2jar.sh加入进系统路径; 把须要反编译的apk包改动为zip文件, 解压, 找到".dex"文件, "classes.dex"; 使用命令: sh dex2jar.sh ~/Desktop/ChunyuDocto…
最近,自己坑逼的把一个android 项目修改版本的代码删除了.这个项目居然还没上传到源代码管理器.幸好还有apk文件,修改的代码也不多可以反编译一下. 1.下载 dex2jar  获取源码工具  地址:https://sourceforge.net/projects/dex2jar/   下载 jd-gui     查看源码工具     地址:http://jd.benow.ca/ 2.解压 dex2jar  . 3.修改 apk 文件后缀为 .rar 或 .zip ,然后解压文件,找到解压文…
主要是为了分析一个 App 里面用到的接口,以后移植 UWP 用. 1.http://jd.benow.ca/ 下载 JD-GUI. 2.https://github.com/pxb1988/dex2jar 下载 dex2jar. 3.打开 cmd 并输入命令. 跳转到 dex2jar 的目录后,输入 d2j-dex2jar XXX.XXX 为 apk 的路径.完成后会在 dex2jar 的目录中找到 XXX-dex2jar.jar 这个文件. 4.打开 jar 文件. 使用 JD-GUI 打开…
1. 查看或者提取资源文件:     使用谷歌官方工具apktool,命令行如下: apktool d xxx.apk xxx_decode d代表反编译,xxx.apk为你要反编译的apk,xxx_decode是反编译结果存放的目录. 2. 查看java代码文件: 使用dex2jar和jd-gui工具. 首先,将xxx.apk改名为xxx.zip(或者直接用winrar打开),提取出里面的classes.dex文件. 使用命令行: dex2jar classes.dex 之后,会自动在同一目录…
简短不割了,我们直接奔主题吧. 把apktool-install-windows-r05-ibot文件里的两个文件剪切到apktool1.5.1目录. 新建一个文件夹把需要破解的apk应用程序放进去. 在此文件夹下打开cmd 输入apktool 显示如下信息方可使用. apktool d 应用程序路径 解压路径 反编译后代码如下. Res是一些图片文件可以修改,程序代码修改在smali 文件里,接下来需要提取classes.dex文件出来,直接用360压缩打开提取出来破解源代码. 接下里打开de…
一.先查壳,再反编译看验证首先打开.apk文件==>反编译apk(dex/配置文件/资源文件(apk反编译失败)>修改关键文件实现自己的目的>重新打包签名(无法重新打包)==>apk安装后无法运行. 反编译工具:apktool dex=>.smalidex2jar .dex=>.jar=>.class apktool工具实际上只反编译以下三种类型文件:1.AndroidManifest.xml文件2..dex文件3.resources.arsc文件 二.去除广告和…
Input file (d:\t) was not found or was not readable 出现这个错误是因为apktool压缩包下载错误,我是下成首页的那个压缩包了 正确下载地址:https://code.google.com/p/android-apktool/downloads/list 如果是windows系统下载这两个包 解压下载下来的两个包,将里面的文件放到同一个文件夹下 这样apktool就可以正常使用了…
1. 判断程序是否运行在模拟器上 boolean isRunningInEmualtor() { boolean qemuKernel = false; Process process = null; DataOutputStream os = null; try{ process = Runtime.getRuntime().exec("getprop ro.kernel.qemu"); os = new DataOutputStream(process.getOutputStrea…
github :  https://github.com/skylot/jadx 输入: .dex, .apk, .jar or .class 输出: 资源文件 和  class文件 不支持重新打包,但apktool支持 git clone https://github.com/skylot/jadx.git cd jadx ./gradlew dist…
转自 http://blog.csdn.net/u013108312/article/details/54234439  …
需要准备的道具需要哪些软件会在后面逆向过程中详细介绍,这里先大致罗列一下 android一台root并安装了xposed框架的手机(主要是为了脱壳) 类似[海马玩]这种模拟器 android-killer zjdroid androidSDK自带工具,如adb.ddms等 androidZjDroid工具介绍及脱壳详细示例[http://www.cnblogs.com/goodhacker/p/3961045.html] Xposed框架了解及教程[http://www.52pojie.cn/t…