中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

竊聽風云——關機竊聽原理與實現

發布時間:2020-08-25 17:16:20 來源:網絡 閱讀:603 作者:FKwuxing 欄目:移動開發

前言

斯諾登此前在接受采訪時曾指出美國國家安全局(NSA)可以對手機進行竊聽,即使是在關機的情況下也不能幸免。

竊聽風云——關機竊聽原理與實現
就在不久前的GeekPwn大賽(一個旨在演示智能設備安全漏洞利用、宣傳安全意識的會議)上,來自KeenTeam的高手現場演示了Android手機在關機狀態下被***通過聽筒進行竊聽的全過程,如此炫酷的神技原來果真存在。
視頻地址:http://v.qq.com/page/v/e/x/v0141kvwrex.html
“沒有想不到,只有做不到”。在強烈的好奇心的驅使下,筆者根據猜想,分析和模仿實現了一個類似的場景。技術原理就是在Android手機上安裝用于竊聽的程序偽裝成關機狀態后實現監聽、偷拍等操作,并遠程發送給壞人。
先看看效果,手機雖然被“關機”了,但是電話仍然可以撥通,這時聲音會通過電話傳給***而讓用戶毫不察覺。


竊聽風云——關機竊聽原理與實現

安卓系統源碼分析

要對關機做手腳,先要了解它到底是怎么關機的。來看下Android源碼對關機事件的處理。從按電源鍵開始,下面是PhoneWindowManager.interceptKeyBeforeQueueing方法的部分代碼,如圖1。

竊聽風云——關機竊聽原理與實現

圖 1
interceptKeyBeforeQueueing方法主要做一些對特殊按鍵的處理,這里可以看到當電源鍵按下時做一些處理,最后進入了interceptPowerKeyDown。

竊聽風云——關機竊聽原理與實現
圖 2
如圖2,在interceptPowerKeyDown中,判斷參數handled,如果為false就延時500ms觸發一個Runnable,這里主要負責檢測長按事件。

竊聽風云——關機竊聽原理與實現

圖 3
如圖3,進入LONG_PRESS_POWER_GLOBAL_ACTIONS這個case,分別執行以下動作:

1.     發起振動;

2.     請求關閉所有窗口;

3.     顯示關機對話框。
關注一下第三步,這里調用showGlobalActionsDialog顯示一個關機選擇對話框,進入這個方法后后直接轉入GlobalActions.showDialog,如圖4。

竊聽風云——關機竊聽原理與實現

圖 4
如圖4,在showDialog中再調用createDialog創建一個對話框列表供用戶選擇“關機”、“飛行模式”、“靜音”等操作,以下為createDialog的部分代碼,如圖5。

竊聽風云——關機竊聽原理與實現

圖 5
注意圖5的onPress方法,這里調用mWindowManagerFuncs.shutdown。代碼執行到這里framework層的工作基本就結束了,再往下分析就是關閉系統服務,還有Power.cpp中實現的電源管理,執行系統調用關閉內核等。要實現之前說的關機竊聽不用再往下看,只要了解到這一步就夠了。
不過還有個問題,mWindowManagerFuncs這個引用是怎么得到的,從剛才的代碼開始向上回溯,最終找到了PhoneWindowManager類的init方法,如圖6。

竊聽風云——關機竊聽原理與實現

圖 6

 

Xposed模塊實現
了解了Android處理關機的流程以后,想一想怎么關機竊聽呢?斷電了還怎么竊聽?你問我,我也不知道。不過要實現看上去像是“關機竊聽”,這我倒是知道怎么做。無非就是播放關機動畫,然后讓手機裝死,讓用戶以為它真的關機了,其實只是屏幕黑了、聲音沒了、按鍵沒反應了而已。
現在要做的是當用戶要關機的時候阻止用戶關機,并且實施自己的“關機竊聽”計劃。劫持關機動作只需要掛鉤mWindowManagerFuncs對象的shutdown方法。掛鉤的話這里我們采用的是xposed框架。
之前說到mWindowManagerFuncs的引用是在PhoneWindowManager的init中傳過來的,從這里入手吧,Hook之,如圖7。

竊聽風云——關機竊聽原理與實現
圖 7
如圖8,在init方法結尾處插入一段代碼,把this對象(即phoneWindowManager的引用)保存下來,取到this.mWindowManagerFuncs,反射它,利用它再次Hook它自己的shutdown方法。

竊聽風云——關機竊聽原理與實現
圖 8

如圖9在shutdown執行之前保存一個關機flag,然后顯示關機動畫,直接返回方法,阻止系統真實關機。在播放關機動畫的同時還延時5秒拋了一個Runnable。

竊聽風云——關機竊聽原理與實現

圖 9
關機時保存的flag主要用來阻止一些系統事件,如按鍵、屏幕喚醒等,使偽裝關機更加真實,如圖10。

竊聽風云——關機竊聽原理與實現

圖 10
5秒以后關閉關機窗口,關閉系統音量,休眠機器,放一個Recriver監聽來電,一有來電自動接聽,如圖11。

竊聽風云——關機竊聽原理與實現

圖 11

發現與防御
要發現這種***其實也很簡單,只要抓住他的弱點——關機狀態下檢查手機和SIM卡的使用情況,如通話記錄、流量記錄等,實在有強迫癥的同學可以把手機電池摳出來(要是你是高大上的iPhone系列那就把手機放遠點,再遠一點)。
至于防御,要及時更新系統,不要安裝未知來源的APP。總之還是一句話:珍愛Android,遠離root。

文中提到的工具可以在“騰訊安全應急響應中心”的實驗室中下載到
地址:http://security.tencent.com/index.php/opensource/detail/14


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

奉节县| 韶关市| 越西县| 虹口区| 衢州市| 怀安县| 麟游县| 汝阳县| 青河县| 资兴市| 新沂市| 广水市| 德令哈市| 舞阳县| 体育| 海阳市| 道孚县| 图木舒克市| 肇东市| 会昌县| 华容县| 灵山县| 盈江县| 石屏县| 江华| 鹰潭市| 南通市| 彰武县| 嵊泗县| 北票市| 翁牛特旗| 绥棱县| 大兴区| 都江堰市| 平江县| 白城市| 西乌珠穆沁旗| 铁岭县| 九龙坡区| 永康市| 电白县|