0x01 xposed hook原理
0x02 建立android工程
0x03 引入xposed-framework-api
在android專案中新建乙個lib資料夾,將api-82-sources.jar、api-82.jar放入該資料夾中;右鍵api-xx.jar檔案api-xx.jar 選擇
build path -> add to build path
參考:0x04 修改androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?>
0x05 編寫入口類建立乙個類,繼承ixposedhookloadpackage類,覆寫handleloadpackage方法,xposed的該方法在任何應用啟動時都會被呼叫,故可以進入任何應用程式的程序,但是一般只針對某個特定的應用
1view codepackage
com.example.hooktest;23
import
static
de.robv.android.xposed.xposedhelpers.findandhookmethod;
4import
android.graphics.color;
5import
android.widget.textview;
6import
de.robv.android.xposed.ixposedhookloadpackage;
7import
de.robv.android.xposed.xc_methodhook;
8import
de.robv.android.xposed.xposedbridge;
9import
de.robv.android.xposed.callbacks.xc_loadpackage.loadpackageparam;
1011
public
class hook implements
ixposedhookloadpackage
22@override
23protected
void afterhookedmethod(methodhookparam param) throws
throwable
29});30}
31 }
xposedbridge.log根log差不多,log列印的語句會出現在控制台,而xposedbridge.log的列印會輸出到xposed框架的啟動程式的日誌功能中,要除錯的話就要到xposed的日誌下檢視log輸出
也可以用 android.util.log輸出到logcat
0x06 指定模組入口
乙個模組可以有多個繼承ixposedhookloadpackage的子類,所以要指定乙個入口讓xposed去執行(指定兩個似乎也是可行的,未測試)。指定乙個入口的步驟:
1、在assets目錄下新建乙個名為xposed_init的檔案。
2、在xposed_init中寫入某個ixposedhookloadpackage子類的完整類名
AspectJ基於xml和基於註解
一 基於xml 執行的切入點中具體方法有返回值,則方法結束會立即執行後置通知,然後再執行環繞通知的放行之後的 2 連線點即所有可能的方法,切入點是正真被切的方法,連線點方法名 其中,只有環繞通知的切入點引數不一樣,是可以放行的切入點 3 異常通知是處理異常 切面類中的異常通知的方法引數列表中異常引數...
拓撲排序(基於dfs 基於佇列)
dfs函式的返回值表示是否成環,若存在有向環,則不存在拓撲排序。不包含有向環的有向圖稱為有向無環圖 dag 可以借助dfs完成拓撲排序,在訪問完乙個結點時把他加入當前拓撲序的首部。舉個栗子 比如乙個 1,2 1,3 2,3 的有向無環圖,就先搜尋1,再遞迴搜尋2,再搜尋3,3沒有出度了,於是放進拓撲...
基於insert update delete的注入
inset注入原理 所謂inset注入就是指我們前端註冊的資訊會被後台通過insert操作插入到資料庫裡邊去,若此時後台沒有做出相應的處理就會構成insert注入。insert注入方法 insert用法例如 insert into member username,pw,phonenum,email,...