1. 武器 get
小白,要使用這個武器,就要先打通經脈。
1.1 經脈(環境)
1.Root,手機root,無root不安卓。打通root經脈我們才能進行之後的操作。
2.Xposed框架安裝,想要使用Xposed這個武器,就要先能拿的起來才能談使用。
1.2武器
xposedBridgeApi-82.jar.jar。
這個就是我們的武器了,小白,來,我給你示範示範這個武器的基本使用方法。
2.武器示範
我們這裡使用Xposed武器攔截packageName,然後進行輸出。
其實這個武器還是搭配內功才能發揮最大的能力。
搭配內功,師傅,這個怎麼搞。
莫急莫急,我們一步一步來。
0x02 練習使用Hook的第一重內功(Android Studio 3.0 Xposed)
小白,我先傳授你第一重內功的運行穴位。要好好聽哦。
Android Studio 3.0 基本設定
我們先來提供內容運作一個環境。
(1)先建立一個不需要Activity的專案
(2)然後導入jar套件。並且右鍵add as Library。
(3)填入Androidmanifest.xml檔。
<meta-data></meta-data> <meta-data></meta-data> <meta-data></meta-data>
(4) 修改依賴方式
Xposed裡已有該jar套件內容,再次打包進去會衝突。
(5)基本Xposed模型建立
使用alt enter實作一個方法。
小白,聽我囉嗦兩句。
handleLoadPackage,這個方法用於在載入應用程式的套件的時候執行使用者的操作。
LoadPackageParam loadPackageParam:,這個參數包含了載入的應用程式的一些基本資訊。
內功實作
這裡一句話就可以實作。
XposedBridge.log("HAI_app: " loadPackageParam.packageName);
這裡我們要進行思考了,什麼是 XposedBridge.log了。
The print of posedBridge.log will be output to the logging feature of the xposed framework's startup program.。這樣也更方便我們的查看。
我們來做設定的最後一步。設定開始地方。
新建assets目錄裡,新建一個file。 file名稱為xposed_init。
寫入套件名稱 類別。
測試成果
Build APK
#安裝進行測試。
手機安裝然後重新啟動即可。
思考
所謂師父領進門,修行看個人。所以啊。
我知道了師傅,我們是不是可以透過這個簡單的來進行過濾啊。例如寫一個簡單的分析系統。或者是其他的東西,我們還可以對這個進行過濾。我先自己去試試。
小白的自我修行
透過這個運行路徑,對報名進行分析和過濾。
進行簡單的嘗試。
使用昨天學的java字串的substring來進行對字串過濾。
然後進行測試。
當然也可以針對這個進行更詳細的說明。
0x03木樁實戰練習
小白,來來,師傅這裡給你找了一個木樁,我打給你看看。這個hook是怎麼法功的,怎麼打的。要學好。
知道了師傅。
木樁資訊收集
1.基本資訊
小白啊,用我們之前使用過的一個武器,來收集這些基本資訊。
師傅,我們一般都會收集什麼資訊啊。
恩,我們一般要收集
1.木樁的包名
2.木樁的簡單的邏輯
....
2.反编译信息收集
小白啊,收集玩了吗?
收集完了师傅。
好,我们接下来收集反编译信息。知己知彼,方能百战不殆。
师傅的操作
首先我们来看看我们要收集的东西。
1.关键的类名。
2.关键的函数位置。
来用Android Killer武器反编译木桩。
定位。
查看类名,进行记录。
小白,看清楚,是这个样子进行记录。
原来是这样。com/example/login/MainActivity;
但是我们要改成这样的。com.example.login.MainActivity
现在就需要定位到关键函数了。
这个login就是我们要Hook住的函数啦。
Ljava/lang/String;Ljava/lang/String;从这里我们可以看到是两个输入内容。并且类型是String。我们现在要做的就是要hook住这个输出,然后对其进行输出。
木桩实战练习
环境搭建
好了,小白,前期资料收集的差不多了。我现在要发功了,要看清楚我的使用哦。
先把环境调整好。
然后先做一个简单的过滤。
这个时候,收集的包名就排上用场了。
因为是hook的是方法,所以我们这里使用一个方法。
第一个参数,要hook的包名+方法名,这个也是我们收集好的。
第二个参数不动
第三个参数方法名
第四个参数 输入的参数
我们有两个String类型的参数,所以才这样写
最后一个参数,就是做一个监听。可以监听这个方法的使用前和使用后。
f for木桩
小白,一切准备你就须,看为师给你f这个木桩。
小白,你看这第一招
XposedBridge.log("ZHUZHU520:LoginName:"+param.args[0]);
这一招搞它的第一个输入。
然后再来看这一招
XposedBridge.log("ZHUZHU520:Passward:"+param.args[1]);
这一招搞它的第二个输入。
然后最后一招。
XposedBridge.log("ZHUZHU520:end???:"+param.getResult());
这一招就是拦截返回值。
小白啊,这里有一个需要思考的内容。
这样hook的意义或者作用是什么?
小白的思考
师傅,我觉得首先,这样可以拦截下输入的参数,还有返回的值。如果在hook里做一个转发信息的技能。那不就可以成功的对登录账户的人进行账号和密码的获取。
这不就是和钓鱼一样了嘛。
我觉得这是一个很大的漏洞,如果登录厂商没有做相应的处理,那这里我可以拿这个搞死他。
好了,小白,你说的很对,我们现在来对这个进行下测试吧。
f 木桩测试
小白啊,你看这里我们就成功的拦截内容了。小白分配给你一个任务,使用hook f来拦截木桩,并确保不管我是否输入正确,木桩能够成功登录。
0x04 木桩f进阶(小白的自我进步)
XposedBridge.log("ZHUZHU520:end???:"+param.getResult());
思考一
师傅之前使用了一个param.getResult()获取了返回值,那我是不是可以使用相同的set方法,重新对这个进行赋值啊。
根据各种方式,我们知道了这里的返回值就是Z,也就是布尔型。
说干就干,争取f掉木桩。
以上是Android逆向進階的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver CS6
視覺化網頁開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中