注入 init 進程,使得 APP 可調試


注入 init 進程,使得 APP 可調試


上篇文章提到了,我想通過注入 init 進程,讓手機能夠輕鬆的以調試的方式來打開應用。

昨天也通過 shell 命令拿到了我手機的架構,今天就來詳細的說下怎麼注入吧。

一、準備 mprop 工具

他是一個執行文件,可以修改內存中的所有屬性值,搜一下就能拿到了,如果沒有搜到可以私信我,我發給你哈。

mprop 文件是區分手機 CPU 架構的,通過上篇文章,我知道了的我的手機是 v8 架構的,所以需要選擇 v8 架構的 mprop

二、將 mprop 文件拷貝到手機目錄中,然後執行命令

<code>adb push mprop sdcard/
/<code>
注入 init 進程,使得 APP 可調試

我這裡把這個文件拷貝到了手機的根目錄

這裡要特別提一下,手機需要是root 之後的手機,如果手機沒有root 會爆出錯誤,如圖
注入 init 進程,使得 APP 可調試


爆出的錯誤

然後執行命令

<code>//進入 shell 環境
adb shell
//進入 mprop 存放的目錄,然後修改 ro.debuggable 屬性

cd sdcard/
./mprop ro.debuggable 1
/<code>

執行過程是這樣的


注入 init 進程,使得 APP 可調試


修改ro.debuggable 過程

然後通過

<code>getprop ro.debuggable
/<code>

查看改後的結果

執行結果

注入 init 進程,使得 APP 可調試


執行結果

三、第二步ok之後,基本上就快成功了,第三步我們需要重啟一個 adbd 進程

這個adbd 進程是 adb 進程的守護進程,如果想看到可以調試的進程信息的話,需要重啟這個 adbd 進程,才能是最新的進程信息

重啟的命令是

<code>stop;start
/<code>

這樣就能看到所有可調式的應用了。

這麼搞有什麼用呢?

不可調試的應用逆向處理應用比較困難,將應用設置為可調式,就方便應用的邏輯,是很有必要的。

好了,本篇文章就到這裡,有時間的話,我會繼續更新的~

奧利給~


分享到:


相關文章: