菜单

微信公众号:Android安全中文站

分类: 安卓逆向分析

Home 安卓逆向分析
Home 安卓逆向分析

彻底理解Android Binder通信架构

安卓漏洞攻防, 安卓逆向分析 by

基于Android 6.0的源码剖析, 本文深度剖析Binder IPC过程, 这绝对是一篇匠心巨作,从Java framework到Native,再到Linux Kernel,带你全程看Binder通信过程. 一. 引言 1.1 Binder架构的思考 Android内核是基于Linux系统, 而Linux现存多种进程间IPC方式:管道, 消息队列, 共享内存, 套接字, 信号量, 信号. 为什么Android非…

阅读全文

 

28 2016-10

Android逆向随笔之遇见MultiDex

安卓逆向分析 by

0x00 Who is Multidex 很多大厂的Android App因为业务量大,引用库多导致其apk包中的类于方法剧增。这样就有可能出现因为方法数过多导致编译失败的情况。产生这个问题的主因是dex文件格式的限制。一个DEX文件中method个数采用使用原生类型short来索引文件中的方法,也就是4个字节共计最多表达65536个method,field/class的…

阅读全文

 

26 2016-10

Android逃逸技术汇编

安卓逆向分析 by

摘    要 传统逃逸技术涉及网络攻防和病毒分析两大领域,网络攻防领域涉及的逃逸技术主要为网络入侵逃逸技术,病毒分析领域涉及到的逃逸技术主要包括针对静态分析、动态分析的木马逃逸技术。 本文介绍的Android木马逃逸技术研究了针对用户感知、杀软查杀、沙箱动态养殖和人工分析的各种逃逸技术。 大多数Android木马的作…

阅读全文

 

25 2016-10

常见app加固厂商脱壳方法研究

安卓逆向分析 by

目录 简述(脱壳前学习的知识、壳的历史、脱壳方法) 第一代壳 第二代壳 第三代壳 第N代壳 简述 Apk文件结构 Dex文件结构 壳史 壳的识别 Apk文件结构 Dex文件结构 壳史 第一代壳 Dex加密 Dex字符串加密 资源加密 对抗反编译 反调试 自定义DexClassLoader 第二代壳 Dex抽取与So加固 对抗第一代壳常见的脱壳法 Dex …

阅读全文

 

26 2016-09

Hook Android C代码

安卓逆向分析 by

创建一个目标apk 编写目标项目,用于本次实操过程的hook对象 1.创建项目 android create project –target android-23 –path targetapp –package com.example.targetapp –activity Mainactivity //执行命令,在当前目录下创建Android项目 2.编写C程序 在项目下创建jni目录,并新建targetlib.c文…

阅读全文

 

26 2016-09

Android虚拟机调试器原理与实现

安卓逆向分析 by

本文主要讲解Android虚拟机动态调试背后涉及到的技术原理,除了JDWP协议细节,还包括任意位置断点、堆栈输出、变量值获取等基础调试功能的具体实现。另外本文提供了一款新的android动态调试工具——AVMDBG,提供调试API接口,支持python脚本扩展。作为android调试技术研究过程中的实验项目,AVMDBG功能尚不完善,开源出来仅…

阅读全文

 

23 2016-09

Android Accessibility安全性研究报告

安卓逆向分析, 移动安全资讯 by

第一章    Accessibility简介 近期,360烽火实验室发现一款滥用Accessibility的木马,该木马具有浏览器地址栏劫持、搜索劫持、桌面点击劫持以及防卸载等系列恶意行为。本报告将结合我们对该木马的分析,从Accessbility的设计初衷、技术发展、滥用情况等角度研究Accessibility的安全性。 一、    设计意义 依据Android官方…

阅读全文

 

09 2016-09

使用CodeInspect破解WiFi万能钥匙接口协议

APP漏洞挖掘, 安卓逆向分析 by

在上篇文章中我已经使用CodeInspect对WiFi万能钥匙进行了演示分析,在大概分析了下它的代码后,我发现这款APP并没有做什么加固措施,导致接口很容易就可以被分析出来。事实上在去年网上就有针对WiFi万能钥匙接口协议的分析,在经过多次版本迭代后,新版的Wifi万能钥匙在安全性上似乎并没有太大的提升,虽然接口有一些变化…

阅读全文

 

10 2016-08

安卓动态调试七种武器之离别钩 – Hooking(下)

安卓逆向分析 by

0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的。另外工具是死的,人是活的,如果能搞懂工具的原理再结合上自身的经验,你也可以创造出属于自己的调试武器。因此,笔者将会在这一系列文章中分享一些自己经常用或原创的调试工具以及手段,希望能对国内移动安全的研…

阅读全文

 

23 2016-06

Anti-debugging Skills in APK

安卓逆向分析 by

0x00 时间相关反调试 通过计算某部分代码的执行时间差来判断是否被调试,在Linux内核下可以通过time、gettimeofday,或者直接通过sys call来获取当前时间。另外,还可以通过自定义SIGALRM信号来判断程序运行是否超时。 0x01 检测关键文件 (1)/proc/pid/status、/proc/pid/task/pid/status 在调试状态下,Linux内核会向…

阅读全文

 

20 2016-06