原创 Bionic中的ptrace函數

ptrace函數的原型是: long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); q  參數request是請求ptrace執行

原创 AT&T彙編格式介紹

AT&T彙編格式主要用在Unix/Linux系統中,但是國內計算機課主要是以Intel彙編爲主,其實這兩種彙編只是語法格式不同而已,只要知道了兩者的區別,有Intel彙編基礎的人能很快的看懂AT&T彙編代碼。下面是兩種彙編主要的區別:

原创 gcc彙編中的僞操作

學習gcc彙編編程,主要是學習gcc中定義的各種僞操作,下面是常見僞操作的說明: 一、 段定義僞操作:   1. 標示段的開始 僞操作:.text,.data,.bss 說明:這三個僞操作分別表示代碼段,數據段,未初始化數據段的開始。

原创 彙編語言的種類

彙編語言的種類 彙編語言和CPU息息相關,但是不能把彙編語言完全等同於CPU的機器指令。不同架構的CPU指令並不相同,如x86,powerpc,arm各有各的指令系統;甚至同一種架構的CPU有幾套指令集,典型的如arm除了有32位

原创 Android的Futex系統調用

  新書上市《深入解析Android 5.0系統》  以下內容節選自本書 在Linux中,Futex系統調用的定義如下 #define __NR_futex             240 1.       Futex系統調用的用法爲:

原创 gcc內嵌彙編介紹

閱讀Android或Linux的源碼時,有時會遇到使用內嵌彙編的代碼。閱讀內嵌彙編代碼不是一件特別容易的事,如果只瞭解普通彙編語言,沒學習過內嵌彙編,從語言上大概能明白內嵌彙編代碼的作用,但是要精確的瞭解每行代碼,每個寄存器的含義就

原创 Android中的編譯屏障和內存屏障

現代 CPU中指令的執行次序並不一定嚴格按順序執行的,沒有相關性的指令可以打亂次序執行,以充分利用 CPU的指令流水線,提高執行速度。另外,編譯器也會對指令進行優化,例如:調整指令順序來利用CPU的指令流水線。這些優化方式,絕大部分情

原创 Futex同步機制簡介

新書上市《深入解析Android 5.0系統》  以下內容節選自本書 Futex是fast userspacemutex的縮寫,意思是快速用戶空間互斥體。它由HubertusFranke,MatthewKirkwood,IngoM

原创 Android簽名漏洞分析

新書上市《深入解析Android 5.0系統》  以下內容節選自本書 Android的簽名在理論上可以防止別人破壞了軟件後(例如加入惡意代碼)還能以你的名義發佈。但是Android的簽名機制最近接連暴露了兩個漏洞,導致整個簽名機

原创 Android ART 的初始化和啓動

新書上市《深入解析Android 5.0系統》  以下內容節選自本書 ART的初始化  下面我們從JNI_GetDefaultJavaVMInitArgs(),JNI_CreateJavaVM()和JNI_GetCreatedJava

原创 Android利用ptrace實現Hook API

以下內容選自《深入解析Android5.0系統》,京東,噹噹,亞馬遜上有售。 Hook API的技術由來已久,在操作系統未能提供所需功能的情況下,利用HookAPI的手段來實現某種必需的功能也算是一種不得已的辦法。 筆者瞭解Hook

原创 Android ART模式簡介

新書上市《深入解析Android 5.0系統》  以下內容節選自本書 Android4.4最大的變化就是引入ART模式來代替Dalvik虛擬機。ART是AndroidRuntime的縮寫,它提供了以AOT(Ahead-Of-Time)的

原创 Android原子操作的實現原理

Android原子操作的實現方式和CPU的架構有密切關係,現在的原子操作一般都是在CPU指令級別實現的,這樣不但簡單,而且效率非常高。下面看看arm平臺下Android是如何實現原子操作的。 雖然原子操作的接口函數有十來個,但是

原创 Android build系統中常用LOCAL_變量

新書上市《深入解析Android 5.0系統》  以下內容節選自本書 編寫模塊的編譯文件,實際就是定義一系列以“LOCAL_”開頭的編譯變量,因此我們有必要弄明白這些變量的具體含義。下面是一些經常使用的LOCAL_編譯變量的說明:

原创 新書上市《深入解析Android 5.0系統》

 本書在京東,噹噹,亞馬遜上都有出售。 本書的QQ交流羣:216840480 【本書簡介】 《深入解析Android 5.0系統》詳細剖析了最新Android 5.0 系統主要框架的原理和具體實現。本書共24章,覆蓋了Andro