RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在App中編寫控制fridaserver啟動(dòng)和停止的代碼邏輯簡析

哆啦安全 ? 來源:卓碼星球 ? 2023-08-22 09:27 ? 次閱讀

1.控制屬性梳理

在章節(jié)"添加自定義屬性控制fridaserver啟動(dòng)和停止"已經(jīng)添加了相關(guān)控制屬性。具體添加的屬性功能如下:

#控制adbd重啟的屬性,為1表示重啟
xro.start.myadb=

#控制fridaserver啟動(dòng)停止的屬性
#0表示停止fridaserver1表示啟動(dòng)fridaserver
xro.start.myfrd=0

#設(shè)置fridaserver啟動(dòng)的端口
xro.start.myfrd.port=27042

2.封裝屬性讀取和寫入接口

在安卓系統(tǒng)中提供了SystemProperties類來進(jìn)行系統(tǒng)屬性獲取和設(shè)置操作。但是由于該類是隱藏類,沒有在sdk中提供。所以在我們開發(fā)的App中是不能直接調(diào)用的??梢圆捎靡韵聝煞N方法進(jìn)行該接口調(diào)用。

(1) 反射方式調(diào)用

在代碼中通過反射方法使用SystemProperties類提供的接口。如下關(guān)鍵代碼:

publicstaticStringget(Stringkey,StringdefValue){
try{
ClasssystemPropertiesCls=Class.forName("android.os.SystemProperties");
MethodsetKeyMethod=systemPropertiesCls.getDeclaredMethod("get",String.class,String.class);
setKeyMethod.setAccessible(true);
return(String)setKeyMethod.invoke(null,key,defValue);
}catch(Exceptioneee){
eee.printStackTrace();
}
returnnull;
}

publicstaticvoidset(Stringkey,Stringval){
try{
ClasssystemPropertiesCls=Class.forName("android.os.SystemProperties");
MethodsetKeyMethod=systemPropertiesCls.getDeclaredMethod("set",String.class,String.class);
setKeyMethod.setAccessible(true);
setKeyMethod.invoke(null,key,val);
}catch(Exceptioneee){
eee.printStackTrace();
}
}

(2).App工程中添加只編譯方式的依賴庫調(diào)用

App工程中添加獨(dú)立工程模塊,然后聲明和系統(tǒng)類SystemProperties一模一樣的類。該類中聲明需要調(diào)用的方法,但是不具體實(shí)現(xiàn)函數(shù)功能。比如參考如下:

packageandroid.os;

publicclassSystemProperties{
publicstaticStringget(Stringkey,Stringdef){
thrownewUnsupportedOperationException("SystemProperties");
}

publicstaticvoidset(Stringkey,Stringval){
thrownewUnsupportedOperationException("SystemProperties");
}
}

App工程配置如圖所示:

f3828b78-407d-11ee-ac96-dac502259ad0.jpg

3.編譯內(nèi)置測試

App工程中的AndroidManifest.xml中添加"android:sharedUserId="android.uid.system"",然后編譯打包apk并內(nèi)置到系統(tǒng)即可。

由于我們只是增加了App模塊,所以只需要編譯App模塊然后adb push模塊apk文件到手機(jī)進(jìn)行測試。參考編譯模塊測試命令:

qiang@ubuntu:~/lineageOs$makeclean-ControlFrida
qiang@ubuntu:~/lineageOs$makeControlFrida
qiang@ubuntu:~/lineageOs$adbremount
[libfs_mgr]dt_fstab:Skipdisabledentryforpartitionvendor
[libfs_mgr]dt_fstab:Skipdisabledentryforpartitionvendor
[libfs_mgr]dt_fstab:Skipdisabledentryforpartitionvendor
remountsucceeded
qiang@ubuntu:~/lineageOs$adbpushout/target/product/oneplus3/system/app/ControlFrida/ControlFrida.apk/system/app/ControlFrida/ControlFrida.apk
out/target/product/oneplus3/system/app/ControlFrida/Co...pk:1filepushed.21.4MB/s(2754053bytesin0.123s)
qiang@ubuntu:~/lineageOs$
qiang@ubuntu:~/lineageOs$

4.驗(yàn)證測試

4.1 控制fridaserver主界面

內(nèi)置的控制FridaServerApp功能控制界面如下所示:

f3a22262-407d-11ee-ac96-dac502259ad0.png

4.2 控制啟動(dòng)fridaserver

App控制啟動(dòng)frida-server測試如下所示:

f3b98196-407d-11ee-ac96-dac502259ad0.jpg

4.3 控制停止運(yùn)行的fridaserver

App控制停止frida-server測試如下:

f3d7831c-407d-11ee-ac96-dac502259ad0.jpg

4.3 修改fridaserver端口后再重啟

App控制修改fridaserver端口測試:

f3e8bdbc-407d-11ee-ac96-dac502259ad0.jpg

App端修改fridaserver端口重啟之后,PC端需要使用adb進(jìn)行端口重定向,否則電腦frida工具是不能連上的。參考如下命令:

C:UsersQiang>adbforwardtcp:27049tcp:27049
C:UsersQiang>frida-ps-H127.0.0.1:27049

,否則電腦端frida工具是不能連上的。參考如下命令:

C:UsersQiang>adbforwardtcp:27049tcp:27049
C:UsersQiang>frida-ps-H127.0.0.1:27049





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16332

    瀏覽量

    177803
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1035

    瀏覽量

    45899
  • ADB驅(qū)動(dòng)
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    6263
  • TCP通信
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    4221

原文標(biāo)題:App中編寫控制fridaserver啟動(dòng)和停止的代碼邏輯

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    調(diào)試代碼程序啟動(dòng)閃存停止

    調(diào)試時(shí),我的代碼啟動(dòng)閃存停止。程序內(nèi)存為84%,數(shù)據(jù)存儲(chǔ)器為20%,這可能是問題的原因。
    發(fā)表于 09-26 17:22

    為什么16位單片機(jī)集成環(huán)境下編寫代碼時(shí)不需要自己寫啟動(dòng)代碼?

    視頻APP直接寫C文件啟動(dòng)代碼由操作系統(tǒng)提供然而比如16位單片機(jī)沒有操作系統(tǒng)集成環(huán)境下編寫
    發(fā)表于 06-26 04:20

    (可遠(yuǎn)程)App inventor編寫安卓app控制ESP8266

    ,如果WIFI信息沒有填錯(cuò)的話ESP8266就會(huì)自動(dòng)連接到云服務(wù)器上。開發(fā)者可進(jìn)行測試,測試方法,控制臺(tái)該主題處推送消息,可觀察ESP8266是否收到該消息??赏ㄟ^串口工具查看輸出。消息檢測
    發(fā)表于 08-23 18:52

    BGA封裝技術(shù)與質(zhì)量控制

    BGA封裝技術(shù)與質(zhì)量控制   SMT(Surface Mount Technology)表面安裝技術(shù)順應(yīng)了電子產(chǎn)品小型化、輕型化的潮流趨勢,為實(shí)現(xiàn)電子
    發(fā)表于 03-30 16:49 ?1486次閱讀

    鼠標(biāo)HID例程()

    鼠標(biāo) HID 例程 緊接《鼠標(biāo) HID 例程(上)》一文,繼續(xù)向大家介紹鼠 標(biāo) HID 例程的未完的內(nèi)容。
    發(fā)表于 07-26 15:18 ?0次下載

    順序啟動(dòng)逆序停止帶報(bào)警

    三菱PLC(可編程邏輯控制器)編程實(shí)例項(xiàng)目例程:順序啟動(dòng)逆序停止帶報(bào)警
    發(fā)表于 12-10 13:13 ?9次下載

    可編程邏輯控制器PLC

    PLC代表可編程邏輯控制器。它們基本上用于控制工業(yè)的自動(dòng)化系統(tǒng)。它們是最先進(jìn)和最簡單的控制系統(tǒng)之一,現(xiàn)在正在大規(guī)模地取代硬連線
    發(fā)表于 07-03 14:48 ?2239次閱讀
    <b class='flag-5'>簡</b><b class='flag-5'>析</b>可編程<b class='flag-5'>邏輯</b><b class='flag-5'>控制</b>器PLC

    獲取單片機(jī)代碼運(yùn)行時(shí)間的方法資料下載

    電子發(fā)燒友網(wǎng)為你提供獲取單片機(jī)代碼運(yùn)行時(shí)間的方法資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助
    發(fā)表于 04-24 08:49 ?12次下載
    <b class='flag-5'>簡</b><b class='flag-5'>析</b>獲取單片機(jī)<b class='flag-5'>代碼</b>運(yùn)行時(shí)間的方法資料下載

    (遠(yuǎn)程控制App inventor 編寫安卓app控制 ESP8266

    App inventor 編寫安卓app控制 ESP8266第一 下載ESP8266示例(arduino ide 編程開發(fā))第二 修改demo例程第三
    發(fā)表于 12-08 17:06 ?28次下載
    (遠(yuǎn)程<b class='flag-5'>控制</b>)<b class='flag-5'>App</b> inventor <b class='flag-5'>編寫</b>安卓<b class='flag-5'>app</b><b class='flag-5'>控制</b> ESP8266

    AD9361芯片進(jìn)行數(shù)據(jù)接口邏輯代碼編寫

    本文通過以高速AD9361芯片為例進(jìn)行數(shù)據(jù)接口邏輯代碼編寫,利用SelectIO IP快速高效完成芯片驅(qū)動(dòng)的生成。
    的頭像 發(fā)表于 07-01 09:59 ?5729次閱讀

    5G AAU 功放控制和監(jiān)測模塊

    5G AAU 功放控制和監(jiān)測模塊
    發(fā)表于 10-28 12:00 ?2次下載
    5G AAU 功放<b class='flag-5'>控制</b>和監(jiān)測模塊<b class='flag-5'>簡</b><b class='flag-5'>析</b>

    添加自定義屬性控制fridaserver啟動(dòng)停止

    添加自定義屬性控制fridaserver啟動(dòng)停止
    的頭像 發(fā)表于 08-09 10:08 ?1708次閱讀
    添加自定義屬性<b class='flag-5'>控制</b><b class='flag-5'>fridaserver</b><b class='flag-5'>啟動(dòng)</b>和<b class='flag-5'>停止</b>

    AFE8092幀同步特性

    AFE8092幀同步特性
    的頭像 發(fā)表于 08-24 13:37 ?645次閱讀
    AFE8092幀同步特性<b class='flag-5'>簡</b><b class='flag-5'>析</b>

    TSMaster小程序啟動(dòng)停止的自動(dòng)化控制流程

    實(shí)際應(yīng)用場景,用戶常常需要按一定邏輯和時(shí)序來控制TSMaster內(nèi)置功能模塊的啟動(dòng)停止,T
    的頭像 發(fā)表于 12-02 08:21 ?1264次閱讀
    TSMaster小程序<b class='flag-5'>啟動(dòng)</b>和<b class='flag-5'>停止</b>的自動(dòng)化<b class='flag-5'>控制</b>流程

    【鴻蒙】OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)

    OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)前言 OpenHarmony 4.0上藍(lán)牙倉和目錄結(jié)構(gòu)進(jìn)行一次較大整改,本文基于4.0以上版本對藍(lán)牙代碼進(jìn)行分析,便于讀者快速了解和學(xué)習(xí)
    的頭像 發(fā)表于 02-26 16:08 ?1533次閱讀
    【鴻蒙】OpenHarmony 4.0藍(lán)牙<b class='flag-5'>代碼</b>結(jié)構(gòu)<b class='flag-5'>簡</b><b class='flag-5'>析</b>
    RM新时代网站-首页