自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大将军王虎剩的专栏

天地不仁,以万物为刍狗

  • 博客(19)
  • 收藏
  • 关注

原创 ART异常处理机制(3) - NullPointerException实现

在本篇介绍 NullPointerException在 ART种的实现。在 ART异常处理1 中,我们已经知道了 ART会注册信号处理函数,优先尝试处理 SIGSEGV信号。ART中总共又 4 种 handler 享有优先处理 SIGSEGV信号的权利。今天我们主要分析下 NullPointerHandler 以及 NullPointerException 的检测以及抛出。

2017-11-22 20:20:29 2855

原创 ART异常处理机制(2) - StackOverflowError 实现

在本篇介绍 StackOverflowError 在 ART种的实现。在 ART异常处理1 中,我们已经知道了 ART会注册信号处理函数,优先尝试处理 SIGSEGV信号。ART中总共又 4 种 handler 享有优先处理 SIGSEGV信号的权利。今天我们主要分析下 StackOverflowHandler以及 StackOverflowError的检测以及抛出。先看下StackOve

2017-11-22 20:01:40 4163

原创 ART异常处理机制(4) - throw & catch & finally实现

本文深入研究了 java exception的 throw,try-catch在ART中的实现。

2017-11-21 18:38:10 2552 2

原创 ART异常处理机制(1) - SIGSEGV信号的拦截和处理

主要讲述 Android ART虚拟机的异常处理,StackOverflowError的检测和抛出原理,NullPointerException的检测和抛出原理等。

2017-11-14 20:51:18 9141 1

转载 Segmentation Fault in Linux 原因与避免(SIGSEGV)

https://www.cnblogs.com/no7dw/archive/2013/02/20/2918372.html

2017-11-17 15:09:32 5557

转载 OAT文件格式图解

注:图片转载自 luoshengyang 老师的文章。

2017-11-14 20:26:10 2760

原创 DEX 文件格式图解

计划。

2017-11-14 20:25:17 386

原创 ELF 文件格式学习

先写个标题作为计划,,,,。

2017-11-14 20:23:54 235

原创 学习 IDA 使用

1.安装 IDA Pro百科:交互式反汇编器专业版(Interactive Disassembler Professional),人们常称其为IDA Pro,或简称为IDA。是目前最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器!IDA Pro是一款交互式的,可编程的,可扩展的,多处理器的,交叉Windows或LinuxWinCE

2017-11-14 19:10:11 4518 1

转载 ubuntu IDA 安装方法

http://www.cnblogs.com/ryuasuka/p/5493371.html

2017-11-14 15:03:01 3706

原创 hook read_chk 导致dex2oat进程 abort

1.问题描述Native Crash 如下:Build fingerprint: 'ddddd:7.0/ddddd/7.3.27:user/release-keys'Revision: '0'ABI: 'arm'pid: 23898, tid: 23898, name: dex2oat >>> /system/bin/dex2oat

2017-11-01 22:20:17 2961

原创 Android profile-guided dex2oat

KeyWord: ART,Dalivk,.class file,dex file, java bytecode, dalvik bytecode, oat file,profile,dex2oat,app-image1. ART vs Dalvik 涉及的各类文件 开始之前,简单介绍下ART和Dalvik。我们知道 java是运行在java虚拟机JVM上,所以JAVA代码可移植性比较强。Andro

2017-11-01 21:17:01 8138 9

原创 Java Class/Object Memory layout

1. Java class memory layoutclass内存布局可以从下面这个函数来分析一个Java类对应的内存布局:function Class::ComputeClassSize()714715716717718719720721722723724

2017-11-01 21:14:45 1349

原创 Android ANR Trace 详解

本文主要总结一下 Signal Catcher 线程在收到 SIGQUIT(3)后,Dump 信息的流程。Android SourceCode: 6.0Keyword:block signal,kRunnable,kSuspended,Checkpoint,traces.txt1.ART中 block 信号信号的block在虚拟机

2017-11-01 21:11:42 23842 1

原创 ART Method Execution

ART Method Execution:1.entry_point_from_quick_compiled_code_   其作为一个ArtMethod对象的成员,   1.1 一般情况下指向这个函数对应的 quick code的起始地址,而当quick code不存在时,它的值则会代表其他的意义;   1.2 当一个 java 函

2017-11-01 21:08:57 1334

原创 ART Mterp Interpreter 解释 bytecode

Interpreter首先分析 Interpreter 如何解释执行 dalvik byte code,Interpreter 在 ART 7.0有 3种实现:InterpereImplenum InterpreterImplKind {  kSwitchImplKind,        // Switch-based i

2017-11-01 21:06:25 3492 1

原创 从 Java 调用一个 Native 函数

Java 调用Native函数,实际就是 JNI 调用。我们将关注 Java端如何把参数传递到 Native,Java调用Native函数时,额外的做了哪些事情。在前面分析Native 调用Java 函数时,直接打断点,就能得到调用 backtrace,那是得益于 GDB 对 Native代码的调试支持,可以根据包含 symbols的 so库,自动帮忙我们理清

2017-11-01 21:03:36 5565

原创 从 Native 函数调用 Java 函数

从一个Native调用java方法的实例开始:backtrace(gdb) bt#0  art_quick_invoke_stub () at art/runtime/arch/arm64/quick_entrypoints_arm64.S:667#1  0x0000007f8265ae54 in art::ArtMe

2017-11-01 20:56:14 1683

原创 Reference & ReferenceQueue

分析了Java FinalizerReference的创建,Finalizer的执行,以及GC时 Reference的处理。1.Finalizable ClassClass Testpublic class Test {    public void finalize() {        close(

2017-11-01 20:20:51 2420

空空如也

空空如也

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

TA关注的人

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