自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 ARTist中dex2oat和原生dex2oat的区别

为了更好了解ARTist的工作原理,这里分析下ARTist中dex2oat的特殊之处。

2017-11-20 11:04:44 954

原创 ARTistGUI主要流程分析

通过应用层分析,ARTistGUI的主要处理函数在/ArtistGui/app/src/main/java/saarland/cispa/artist/artistgui/instrumentation/InstrumentationTask.java中,代码如下: @Override public void run() { Log.i(TAG, "Run() comp

2017-11-13 14:49:59 733

原创 dex2oat源码流程分析

dex2oat是ART运行模式下虚拟机必备的一个组件,主要用来把安装的apk和动态加载的dex等文件转换成oat文件,方便下一步的加载解析,获得其中的类并执行相关方法,所以本文以Android 6.0源码为例,对dex的处理流程尝试做一下分析,了解其中的处理情况。dex2oat源码位于art\dex2oat\Dex2oat.cc,入口函数为main:int main(int argc,

2017-10-23 12:45:10 5600 1

原创 Android动态加载DEX文件流程分析

Android提供机制来在应用运行的过程中动态加载dex文件中的类,ClassLoader是抽象类,一般使用DexClassLoader或者PathClassLoader加载。

2017-10-19 10:36:04 5937

原创 【个人笔记四】ART系统执行类方法流程分析

在ART上用YAHFA、Legend以及一个java层实现的Andix: http://weishu.me/2017/03/20/dive-into-art-hello-world/,发现除了framework层的类(如telephonymanager)和应用中的类有效外,对于java核心库的类(如IOBridge和Class等)的hook都无效,所以我就以telephonymanager和IOBridge这两

2017-08-26 14:58:25 1346

原创 【个人笔记三】ART系统类和方法加载分析

- 在ART上用YAHFA、Legend以及一个java层实现的Andix: http://weishu.me/2017/03/20/dive-into-art-hello-world/,发现除了framework层的类(如telephonymanager)和应用中的类有效外,对于java核心库的类(如IOBridge和Class等)的hook都无效,所以我就以telephonymanager和IOBridge这两

2017-08-22 15:16:19 2889

原创 【个人笔记二】ART系统OAT文件的加载解析

在ART上用YAHFA、Legend以及一个java层实现的Andix:http://weishu.me/2017/03/20/dive-into-art-hello-world/,发现除了framework层的类(如telephonymanager)和应用中的类有效外,对于java核心库的类(如IOBridge和Class等)的hook都无效,所以我就以telephonymanager和IOBridge这两个类为例

2017-08-14 15:40:42 2524 1

转载 Android ART运行时无缝替换Dalvik虚拟机的过程分析

原文地址:Android ART运行时无缝替换Dalvik虚拟机的过程分析本文针对老罗的文章,在Android6.0源码上重新梳理一遍自己学习,内容上没什么变化,只是代码可能有所更新。        Android 4.4发布了一个ART运行时,准备用来替换掉之前一直使用的Dalvik虚拟机,希望籍此解决饱受诟病的性能问题。老罗不打算分析ART的实现原理,只是很有兴

2017-08-10 17:37:08 796 1

原创 【个人笔记一】ART系统类的编译解析加载探究

在ART上用YAHFA、Legend以及一个java层实现的Andix:ART深度探索开篇:从Method Hook谈起对系统中不同的类进行hook,发现除了framework层的类(如telephonymanager)和应用中的类有效外,对于java核心库的类(如IOBridge和Class等)的hook都无效,所以我就以telephonymanager和IOBridge这两个类为例,试图从编译

2017-08-09 17:07:35 5207 4

转载 ART虚拟机特点与组件

原文地址:ART虚拟机启动之image空间接下来以Android-5.1.1-R14版本的源码介绍ART虚拟机的相关知识,本来不想对Dalvik多说的,可是发现Dalvik虽然已经退休了,但其影响力依然不小,ART中很多地方都引用了其中的内容,而且最近的项目也需要对Dalvik定制,所以可能会穿插Dalvik的内容。ART简介Android 4.4开始引

2017-08-09 16:53:59 583

原创 GDB调试Android代码——环境搭建及调试过程

网上看了好多关于GDB调试android本地代码的,但是都是直接上手,对于一点都不懂的我,真是难办,所以本人根据个人经历,总结下怎么从小白一步一步进行调试。调试环境:调试平台:ubuntu14.04LTS目标手机:Android6.0虚拟机 X86架构软件环境:android-ndk-r10b搭配adt-bundle然后准备gdb和gdbserver,远程调试需要在

2017-07-27 08:51:55 16594 1

原创 ART执行类方法解析流程

在类的加载过程中,需要对类的各个方法进行链接,实际上就是确定它们是通过解释器来执行,还是以本地机器指令来直接执行(art/runtime/class_linker.cc),如下所示:void ClassLinker::LinkCode(ArtMethod* method, const OatFile::OatClass* oat_class,

2017-07-13 21:37:39 4530

原创 ART加载OAT文件的分析

本文对老罗博客进行学习理解,针对android6.0系统源码,连个人理解带复制粘贴,总结的ART虚拟机对OAT文件的加载解析流程。ART运行时提供了一个OatFile类,通过调用它的静态成员函数Open可以在本进程中加载OAT文件,它的实现如下所示(art/runtime/oat_file.cc):OatFile* OatFile::Open(const std::st

2017-07-11 12:04:00 1904

转载 android ART hook

原文地址:http://www.cnblogs.com/lanrenxinxin/p/5207174.html0x00 前言之前一直都是在Dalvik 虚拟机上在折腾,从Android 4.4开始开始引入ART,到5.0已经成为默认选择。而且最近看到阿里开源的 Dexposed 框架,已经提供了对于android art 模式下的 hook 支持,所以对照着android art

2017-07-11 09:36:58 1090

原创 YAHFA--ART环境下的Hook框架(代码详解)

上文转载YAHFA作者的原文熟悉了YAHFA的原理,但是由于比较笼统,所以本文针对代码细节,从流程上更加简明的介绍一下YAHFA的做了什么和怎么起效。开篇前我们区分下方法的命名,防止文中被绕晕:originMethod:文中指将要hook的方法,及target。hookMethod:我们自定义的方法,用来替换originMethod,当调用originMethod时,执行我们的

2017-07-05 17:20:52 5898

转载 YAHFA--ART环境下的Hook框架

在Android Dalvik时代,最流行的Hook框架非Xposed莫属了。各种功能强大的Xposed插件极大地丰富了Android的可玩性,而对于安全研究人员来说,hook则是应用逆向工作中的一项非常有效的手段。但是,进入到ART时代后,情况逐渐发生了变化。Xposed框架对系统进行了较大的改动,因此其安装适配难度显著提高;另一方面,随着近年来热修复技术的兴起,各大国内厂商也纷纷推出了

2017-05-26 11:05:00 6571

原创 android 从java到C层文件读取流程

代码调用流程:      主要类及函数 :                                                         函数所在的文件:java层:  FileInputSteam.read                                               java\io\InputStream.java   

2016-05-25 11:03:24 5826 1

转载 JAVA增删改查XML文件

读取XML配置文件  首先我们需要通过DocumentBuilderFactory获取xml文件的工厂实例。DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); dbf.setIgnoringElementContentWhitespace(true);  创建文档对象1

2016-05-10 11:49:34 342

转载 Chromium Android WebView层的设计

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]ContentMainDelegateAPI native javaRendererBrowser渲染网络Android特别的schemes处理CAW对Components的依赖Chromium Android WebView是Chromium专为Android WebVie

2016-05-05 17:24:04 818

转载 使用baksmali和smali反编译和编译apk

为了方便,把baksmali和smali都放到android sdk安装路径下的tools里面,然后老规矩,把apk文件改成rar文件,解压后取出classes.dex文件,也放入tools里面,然后用cmd,cd  到tools目录下,java -jar baksmali-1.3.2.jar -o classout/ classes.dex   前提是你的path路径中有你的

2016-01-28 16:08:13 621

原创 Smali语法

Smali语法简单介绍如下:       Davlik字节码中,寄存器都是32位的,能够支持任何类型,64位类型(Long/Double)用2个寄存器表示;       Dalvik字节码有两种类型:原始类型;引用类型(包括对象和数组)              原始类型:v   void  只能用于返回值类型

2015-10-26 15:37:58 1095

原创 mitmproxy加密数据分析

import magicmagic.from_file("/home/conan/Desktop/aaaaa.56")gunzip -c aaaaa.56 > test

2015-10-21 22:10:37 663

原创 Linux安装mitmproxy并监控android数据包

首先列出相关参考资料,本文也是基本上这几个链接的文章融合总结来的:mitmproxy——中间人攻击的神器python环境筹建win7、linux安装使用pip、mitmproxyHow To: Use mitmproxy to read and modify HTTPS traffic如何调试 Android 上 HTTP(S) 流量mitmproxy实

2015-10-11 22:24:35 7789

转载 Android源码调试方法

最近忙修改Launcher,不知道大家都是怎么做开发和调试的,可能遇到最大的问题就是源码太大,打开很慢,修改的时候也很慢。调试更是需要打日志,重新编译,痛苦不堪。最近学到一个方法,不知道是不是自己out了,拿出来和大家分享一下。1.准备首先你应该有如下环境:eclipse,Android任意版本源码一套,jdk(版本满足源码标准即可)2.修改eclipse配置在ec

2015-09-13 16:53:53 509

转载 Android Mms之:短信发送流程(图文详解)

本篇文章是对Android中的短信发送流程进行了详细的分析介绍,需要的朋友参考下信息的发送,对于Mms应用程序来讲主要就是在信息数据库中创建并维护一条信息记录,真正的发送过程交由底层(Frameworks层)函数来处理。总体的来讲,当信息创建完成后,对于信息通常有三个去处,一个是放弃这个信息,也就是用户不想要此信息,一旦选择,信息将不会被保存;第二个去处就是保存为草稿;最后一个去处就是发送

2015-09-11 17:31:49 5985

转载 Android 短信发送流程(修改版)

短信发送Framework流程,源代码的版本是4.41、通过Mms源代码可以知道短信发送最后调用的关键api如下:SmsSingleRecipientSender.java[java] view plaincopySmsManager smsManager = SmsManager.getDefault();  

2015-09-11 15:51:49 428

转载 android短信拦截实现的两种方法

1、系统的有序广播级别是重-1000~1000 设置我1000 在 onReceive 中调用abortBroadcast()方法 拦截不了短信的通知。查资料说同等级别动态设置优先使用广播 我试过 也不行 。     2、使用ContentObserver 观察模式监听短信是否改变      这个方式可以获取到所有的收件箱的短信,但是修改不了短信的状态。 没有权限以下是我的代码

2015-09-03 15:46:33 3174

转载 Ubuntu安装配置JDK+Eclipse+Tomcat

一、安装JDK1.去官网下载最新版的JDK,http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html,这里选择的是最新版的jdk-8u20-linux-i586.tar.gz。2.下载完成后打开下载的安装包所在的文件夹,将该压缩包拷贝到/usr/java文件夹下cp jdk-8u20-li

2015-08-25 11:23:55 494

转载 Android Mms之短信接收流程--从Framework到App

本文主要介绍Android如何接收短信,流程分为两个部分,Framework层和App层。Framework层:短信的接收,Framework部分处理的顺序是RIL->SMSDispatcher->GsmSMSDispatcher/CdmaSMSDispatcher->SMSDispatcher。当短信到Framework层之后,会首先启动RIL中的RILReceiver去

2015-08-14 15:21:54 2135

转载 Android中SMS的接收处理

在解析WAP PUSH over SMS时,看了一下Android里SMS接收的流程,并按照自己需要的流程记录,其他分支的详细处理并未讲述。PDU数据的encode/decode也并未在本文中进行解析,有兴趣的读者可以到相应的代码处自己解读一下。 Android中,RIL用RILReciever接收SMS pdu,并根据不同的信息类型用相应函数来处理。因手机制式的差异,用GsmSm

2015-08-14 11:34:51 415

误删恢复工具(FdWizard)

误删之后千万不要对磁盘进行写入操作,然后用这个工具进行扫描,一般情况下都能恢复的

2015-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除