原创 Android實用命令彙總——dumpsys

dumpsys命令功能很強大,能dump系統服務的各種狀態,非常有必要熟悉該命令的用法以及含義。 一、 dumpsys命令 1.1 服務列表 不同的Android系統版本支持的命令有所不同,可通過下面命令查看當前手機所支持的dump

原创 Android實用命令彙總——am

一、概述 作爲一名開發者,相信對adb指令一定不會陌生。那麼在手機連接adb後,可通過am命令做很多操作: (1) 撥打電話10086 adb shell am start -a android.intent.action.CAL

原创 Android實用命令彙總——ps

ps進程命令 在adb shell終端,輸入 ps,可查看手機當前所有的進程狀態,其中ps的英文全稱是Process Status。 1. ps命令參數 -t 顯示進程裏的所有子線程-c 顯示進程耗費的CPU時間-p 顯示進程優先

原创 Android應用安全相關工具總結

1. AndroGuard,基於python的逆向工程和分析框架,主要用於靜態分析Android應用。 2. apktool,APK解包和打包相關工具。 3. dexdump,Android SDK中自帶的解析dex文件的工具。 4. a

原创 Arm彙編學習筆記(七)——ARM9五級流水及流水線互鎖

本文主要是通過分析五級流水及流水線互鎖的原理,從而可以編寫出更加高效的彙編代碼。 1. ARM9五級流水線 ARM7採用的是典型的三級流水線結構,包括取指、譯碼和執行三個部分。其中執行單元完成了大量的工作,包括與操作數相關的寄存器和存儲

原创 我腦海中的優秀技術團隊

轉發自:http://f2e.souche.com/blog/wo-li-xiang-zhong-de-ji-zhu-tuan-dui/?spm=0.0.0.0.q3sB9T 文中的“我”,其實不是一個單純的角色,它可能會包含多層含義

原创 mediacodec和OpenGLES紋理共享方案

  1、OpenGL生成紋理 2、紋理綁定到SurfaceTexture上 3、用SurfaceTexture做參數創建Surface 4、MediaCodec解碼的視頻就往Surface發送,就顯示出畫面了 直接上代碼 vertex_s

原创 【Android 音視頻開發打怪升級:FFmpeg音視頻編解碼篇】一、FFmpeg so庫編譯

轉自:https://juejin.im/post/5e130df55188253a8b42ebac 目錄 一、Android音視頻硬解碼篇: 1,音視頻基礎知識 2,音視頻硬解碼流程:封裝基礎解碼框架 3,音視頻播放:音視頻同步 4,音

原创 安卓動態調試七種武器之離別鉤 – Hooking(上)

作者:蒸米 地址:http://drops.wooyun.org/tips/9300   0x00 序   隨着移動安全越來越火,各種調試工具也都層出不窮,但因爲環境和需求的不同,並沒有工具是萬能的。另外工具是死的,人是活的,如果能搞懂工

原创 APK瘦身記,如何實現高達53%的壓縮效果

原帖:http://bbs.pediy.com/showthread.php?t=209029&highlight=apk+%E7%98%A6%E8%BA%AB+%E8%BA%AB 1、我是怎麼思考這件事情的 APK是Android系統

原创 Arm彙編學習筆記(八)——寄存器的使用

在程序中,我們可以使用16個通用寄存器中的14個來保存自己的數據,r13和r15分別是sp和pc寄存器,我們無法使用。 ATPCS規定,棧指針應該是8字節對齊。 ATPCS規定,被調用函數必須保證在執行前和執行後r4-r11的內容

原创 Arm彙編學習筆記(六)——函數調用棧空間以及fp寄存器

Arm上函數調用的規則在ARM System Developer's Guide文檔中的ATPCS部分有詳細的定義,這裏主要通過函數調用過程中函數棧的情況來說明fp和sp等寄存器的作用。有關ATPCS的詳細內容可以去文檔中看。 fp叫做

原创 圖解Dex文件結構及解析要點

Dex文件格式相當簡單,看下圖: 上圖是我從數據結構的角度畫出來的Dex文件格式,每個數據結構在android源碼dalvik/libdex目錄下都有定義,關於上圖有幾點需要注意: 1. 圖中所有以(encoded)標註的數據結構在文

原创 Android進程總結

在網上看到一篇比較全的Android進程整理文章,這裏轉載一下,原帖地址:http://gityuan.com/2015/12/19/android-process-category/ 一、概括 系統啓動架構圖: 上圖在A

原创 Android LLVM-Obfuscator C/C++ 混淆編譯的深入研究

一、 LLVM是什麼? (1)LLVM是lowlevel virtual machine的簡稱,是一個編譯器框架。蘋果公司的Xcode 4.0之後用的都是LLVM編譯器。 (2)LLVM 誕生於2003.10伊利諾伊大學香檳分校,創始人