Android逆向分析
yangxi_001
这个作者很懒,什么都没留下…
展开
-
Android逆向之旅---SO(ELF)文件格式详解
第一、前言从今天开始我们正式开始Android的逆向之旅,关于逆向的相关知识,想必大家都不陌生了,逆向领域是一个充满挑战和神秘的领域。作为一名Android开发者,每个人都想去探索这个领域,因为一旦你破解了别人的内容,成就感肯定爆棚,不过相反的是,我们不仅要研究破解之道,也要研究加密之道,因为加密和破解是相生相克的。但是我们在破解的过程中可能最头疼的是native层,也就是so文件的破解。所以转载 2016-12-01 18:48:43 · 587 阅读 · 0 评论 -
Android逆向之旅---运行时修改内存中的Dalvik指令来改变代码逻辑
一、前言最近在弄脱壳的时候发现有些加固平台的加固方式是修改了dex文件结构,然后在加载dex到内存的时候,在进行dex格式修复,从而达到了apk保护的效果,那么在dex加载到内存的时候,如何进行dex格式的修复呢?其实原理就是基于运行时修改内存中的Dalvik数据,本文就来用一个简单的例子来介绍一下如何在内存中去修改Dalvik指令代码来改变代码本生的运行逻辑。在讲解本文之前,一定要先看这篇文转载 2016-12-02 10:22:27 · 1405 阅读 · 0 评论 -
Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正
一、前言在之前的破解过程中可以看到我们唯一离不开的一个神器那就是apktool了,这个工具多强大就不多说了,但是如果没有他我们没法涉及到后面的破解工作了,这个工具是开源的,也是使用Java语言开发的,代码相对简单,我们今天就来分析一下他的大体逻辑,注意是大体逻辑哦,因为如果要一行一行代码分析,首先觉得没必要,其次浪费时间,有了源码,谁看不懂呢。至于为什么要分析这个工具其实原因只有一个,就是我们转载 2016-12-02 10:20:07 · 751 阅读 · 0 评论 -
Android逆向之旅---动态方式破解apk终极篇(加固apk破解方式)
一、前言今天总算迎来了破解系列的最后一篇文章了,之前的两篇文章分别为:第一篇:如何使用Eclipse动态调试smali源码 第二篇:如何使用IDA动态调试SO文件现在要说的就是最后一篇了,如何应对Android中一些加固apk安全防护,在之前的两篇破解文章中,我们可以看到一个是针对于Java层的破解,一个是针对于native层的破解,还没有涉及到apk的加固,那么今天就要来介绍一下转载 2016-12-02 10:18:23 · 9494 阅读 · 3 评论 -
Android逆向之旅---Android应用的安全的攻防之战
一、前言在前两篇破解的文章中,我们介绍了如何使用动态调试来破解apk,一个是通过调试smali源码,一个是通过调试so代码来进行代码的跟踪破解,那么今天我们就这两篇文章的破解方法,来看看Android中开发应用的过程中如何对我们的应用做一层安全保护,当然现在市场中大部分的应用已经做了一些防护策略,但是没有绝对的安全,破解只是时间上的问题。所以攻破和防护是相生相克,永不停息的战争,没有绝对的安全转载 2016-12-02 10:15:47 · 552 阅读 · 0 评论 -
Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)
一、前言今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为了安全或者效率问题,会把一些重要的功能放到native层,那么这样一来,我们前篇说到的Eclipse调试smali源码就显得很无力了,因为核心的都在native层,Android中一般native层转载 2016-12-02 10:14:29 · 2279 阅读 · 0 评论 -
Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)
一、前言今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了:Android中使用静态方式破解Apk 主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和转载 2016-12-02 10:12:14 · 1154 阅读 · 1 评论 -
Android逆向之旅---Android中如何获取在非Root设备中获取应用隐私数据
一、前言今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失。下面就来看一下这个属性的影响到底有多大。他的作用是什么?二、Android中的allowBackup属性1、allowBackup安全风险描转载 2016-12-02 10:10:46 · 933 阅读 · 0 评论 -
Android逆向之旅---Android中的sharedUserId属性详解
一、前言今天我们来看一下Android中一个众人熟悉的一个属性:shareUserId,关于这个属性可能大家都很熟悉了,最近在开发项目,用到了这个属性,虽然知道一点知识,但是感觉还是有些迷糊,所以就写篇文章来深入研究一下。关于Android中的sharedUserId的概念这里就简单介绍一下:Android给每个APK进程分配一个单独的空间,manifest中的userid就是对应一个转载 2016-12-02 10:07:49 · 1341 阅读 · 0 评论 -
Android逆向之旅---解析编译之后的Dex文件格式
一、前言新的一年又开始了,大家是否还记得去年年末的时候,我们还有一件事没有做,那就是解析Android中编译之后的classes.dex文件格式,我们在去年的时候已经介绍了:如何解析编译之后的xml文件格式:http://blog.csdn.net/jiangwei0910410003/article/details/50568487如何解析编译之后的resource.arsc转载 2016-12-01 19:09:50 · 627 阅读 · 0 评论 -
Android逆向之旅---解析编译之后的Resource.arsc文件格式
一、前言快过年了,先提前祝贺大家新年快乐,这篇文章也是今年最后一篇了。今天我们继续来看逆向的相关知识,前篇文章中我们介绍了如何解析Android中编译之后的AndroidManifest.xml文件格式:http://blog.csdn.net/jiangwei0910410003/article/details/50568487当时我说到其实后续还要继续介绍两个文件一个是resource转载 2016-12-01 19:07:03 · 836 阅读 · 1 评论 -
Android逆向之旅---解析编译之后的AndroidManifest文件格式
一、前言今天又是周六了,闲来无事,只能写文章了呀,今天我们继续来看逆向的相关知识,我们今天来介绍一下Android中的AndroidManifest文件格式的内容,有的同学可能好奇了,AndroidManifest文件格式有啥好说的呢?不会是介绍那些标签和属性是怎么用的吧?那肯定不会,介绍那些知识有点无聊了,而且和我们的逆向也没关系,我们今天要介绍的是Android中编译之后的AndroidM转载 2016-12-01 19:04:10 · 734 阅读 · 0 评论 -
Android逆向之旅---静态分析技术来破解Apk
一、前言从这篇文章开始我们开始我们的破解之路,之前的几篇文章中我们是如何讲解怎么加固我们的Apk,防止被别人破解,那么现在我们要开始破解我们的Apk,针对于之前的加密方式采用相对应的破解技术,Android中的破解其实大体上可以分为静态分析和动态分析,对于这两种方式又可以细分为Java层(smail和dex)和native层(so)。所以我们今天主要来讲解如何通过静态分析来破解我们的apk,这转载 2016-12-01 19:01:42 · 593 阅读 · 0 评论 -
Android逆向之旅---基于对so中的section加密技术实现so加固
一、前言好长时间没有更新文章了,主要还是工作上的事,连续加班一个月,没有时间研究了,只有周末有时间,来看一下,不过我还是延续之前的文章,继续我们的逆向之旅,今天我们要来看一下如何通过对so加密,在介绍本篇文章之前的话,一定要先阅读之前的文章:so文件格式详解以及如何解析一个so文件http://blog.csdn.net/jiangwei0910410003/article/detai转载 2016-12-01 18:52:33 · 637 阅读 · 0 评论 -
Android逆向之旅---Android应用的汉化功能(修改SO中的字符串内容)
一、前言今天我们继续来讲述逆向的知识,今天我们来讲什么呢?我们在前一篇文章中介绍了关于SO文件的格式,今天我们继续这个话题来看看如何修改SO文件中的内容,看一下我们研究的主题:需求:想汉化一个Apk思路:汉化,想必大家都了解,老外开发的一个游戏,结果他不支持中文,那么我们就需要做一下汉化,那么我们知道汉化的工作其实很简单,就是替换Apk中英文的字符串位置,那么我们可以反编译Apk..得转载 2016-12-01 18:50:31 · 709 阅读 · 0 评论 -
干货分享:分析Android应用使用的技术框架和开源库
App应用本质上是一个apk包, 即一个zip包, 可以直接显示其中的内容. 通过apk文件, 我们可以获知apk的版本信息, so库和第三方库, 并了解一些主流公司的应用框架. 分析工具主要是ApkTool和ClassyShark, 本人比较喜欢Shark工具. 我使用ClassyShark分析一下美团的框架, 也可以按照这个原理, 分析其他App的基本架构.Shark让我们看看,转载 2017-08-02 17:17:44 · 448 阅读 · 0 评论