版權聲明:本文爲博主原創文章,未經博主容許不得轉載。javascript
此次是真的好長時間都沒有寫博客了,主要不是由於工做上的事,主要仍是這個問題真的有點複雜,實現起來有點麻煩,因此研究了很長時間(大約有一個月的時間)。可是幸虧最後問題搞定了~~php
1、問題場景java
想實現360手機衛士那樣能夠攔截應用請求系統的一些權限(好比:位置信息,通信錄等)linux
2、目的android
公司開發的app須要使用音頻權限,可是老是被360那樣的安全管家所攔截(root以後的手機),因此想經過底層的攔截,咱們能夠作到不會被其餘應用所攔截。c++
3、資料算法
http://blog.csdn.net/jinzhuojun/article/details/9900105
安全
http://bbs.pediy.com/showthread.php?t=186880
微信
http://bbs.pediy.com/showthread.php?t=157419
數據結構
http://blog.csdn.net/l173864930/article/details/38455951
4、瞭解到的知識
此次的研究和以前的全部研究可能不同,由於以前那些研究即便再難,也就花費不到一週的時間,並且那些研究的知識點也是很單一的,可是此次的研究所掌握的知識是很全面的。
1.如何在Linux中執行NDK編譯那些會使用帶有Androoid系統源碼頭文件的程序
2.如何編譯引用多個so文件的程序
3.如何在底層C++中動態的加載apk/dex文件,而後執行指定的方法
4.如何獲取系統中全部的log信息(包括全部的應用進程)
5.如何在linux中動態的加載so文件,而後執行指定的方法(至關於Java中的反射機制)
6.如何在Linux中建立Socket鏈接
7.如何在C程序中引用C++的動態庫so
4、總結
我此次攔截主要仍是根據網上的廣泛方法,兩種方法實現攔截
1.經過底層C注入和攔截
http://blog.csdn.net/jiangwei0910410003/article/details/39346151
2.經過framework層注入和攔截
http://blog.csdn.net/jiangwei0910410003/article/details/40949475
好吧,後續的兩篇文章就開始正式來講一下如何實現這兩種方式,請繼續關注後續的文章~~
更多內容:點擊這裏