對(duì)Xposed的認(rèn)識(shí)和思考

Xposed是什么

Xposed 是一款可以在不修改 APK 的情況下影響程序運(yùn)行的框架服務(wù),基于 Xposed 能夠制作出許多功能強(qiáng)大的模塊,且在功能不沖突的情況下同時(shí)運(yùn)作。
Xposed 通過(guò)替換 /system/bin/app_process 程序控制 zygote 進(jìn)程,使得 app_process 在啟動(dòng)過(guò)程中會(huì)加載 XposedBridge.jar 這個(gè) jar 包,從而完成對(duì)系統(tǒng)應(yīng)用的劫持。
Xposed 不僅僅是一個(gè)插件加載功能,而是它從根上 Hook 了 Android Java虛擬機(jī),所以它需要 root,所以每次為它啟用新插件APP 都需要重新啟動(dòng)。

Xposed能做什么?

能夠修改微信運(yùn)動(dòng)的步數(shù),我修改了微信小號(hào)走路的步數(shù),其實(shí)只是 hook 了傳感器的 api 而已。


hook了傳感器API.JPG

能夠修改手機(jī)當(dāng)前位置。我們知道手機(jī)的定位一般是混合定位,借助wifi、gps、基站等等來(lái)獲取定位數(shù)據(jù),如果能 hook 基站、wifi、gps等api,那么就能實(shí)現(xiàn)修改手機(jī)的當(dāng)前位置。


修改手機(jī)的定位.JPG

用這個(gè)思路,做個(gè) AR 搶紅包的外掛也是未嘗不可。

能夠 hook 住 android 任意 api 的 Xposed 能做的遠(yuǎn)不止于此,還能夠做很多非常有想象力的事情。

Xpose開(kāi)發(fā)遇到的坑

首先,root 是安裝 Xposed 的前提。有時(shí),即使 root 了也不行,我遇到過(guò)一臺(tái)三星 s6,已經(jīng) root 了仍然無(wú)法安裝Xposed :(

每調(diào)試一次,都需要重啟手機(jī),經(jīng)過(guò)一天的調(diào)試會(huì)有一種手機(jī)都快被玩壞的錯(cuò)覺(jué)。

最后,曾經(jīng)被一個(gè)配置困擾了一個(gè)下午。Xposed 的 jar 包不能使用 compile,而是應(yīng)該使用provided,就是因?yàn)檫@個(gè)配置錯(cuò)了,我一個(gè)下午拿不到結(jié)果:(

對(duì)于開(kāi)發(fā) Xposed 模塊,必須要有足夠的耐心。當(dāng)然,所有的開(kāi)發(fā)都是如此。

對(duì)利用Xposed的思考

在移動(dòng)互聯(lián)網(wǎng)時(shí)代,某些數(shù)據(jù)可能只存在于app之中,非常封閉。如果 app 有對(duì)應(yīng)的網(wǎng)站,還能通過(guò)爬蟲(chóng)抓取內(nèi)容,如果沒(méi)有對(duì)應(yīng)的網(wǎng)站,抓取就會(huì)有困難。如果 app 跟后端的通信協(xié)議是 protobuf、thrift 之類(lèi),那抓取數(shù)據(jù)包都會(huì)比較麻煩。

這幾天一直在玩 Xposed ,所以我想寫(xiě)一個(gè)抓取 app 內(nèi)容的爬蟲(chóng),當(dāng)然首先需要逆向 app 查找到內(nèi)容所在的地方,才能借助 Xposed 進(jìn)行hook。

Xposed 也能幫助測(cè)試,既然能修改手機(jī)的location,那么對(duì)地理位置要求高的lbs應(yīng)用做一些測(cè)試就不在話(huà)下了,不再需要人工跑過(guò)去。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,811評(píng)論 25 708
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評(píng)論 18 139
  • 安全博客 > 技術(shù)研究 > 淺談android hook技術(shù) 淺談android hook技術(shù) 您當(dāng)前的位置:...
    光劍書(shū)架上的書(shū)閱讀 6,193評(píng)論 0 8
  • 我有一項(xiàng)工作,負(fù)責(zé)了多年了,這項(xiàng)工作對(duì)我來(lái)說(shuō)真的很為難,體力加腦力,沒(méi)有人可以參考指導(dǎo),都是我自己摸索著,...
    carol曉霞閱讀 316評(píng)論 1 0
  • 郭相麟 走在心靈精神修為的路上,遇見(jiàn)幾位背景離鄉(xiāng)的朋友,聽(tīng)到他們因選擇奮斗而堅(jiān)持人生夢(mèng)想,充滿(mǎn)自強(qiáng)不息的心路歷程...
    郭相麟閱讀 150評(píng)論 0 0