日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 逆向】Android 进程注入工具开发 ( 编译注入工具 | 编译结果文件说明 | 注入过程说明 )

發布時間:2025/6/17 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 逆向】Android 进程注入工具开发 ( 编译注入工具 | 编译结果文件说明 | 注入过程说明 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、編譯注入工具
  • 二、編譯結果文件說明
  • 三、注入過程說明





一、編譯注入工具



在 Visual Studio 2019 中打開了一個 " 生成文件項目 " , 該項目就是注入項目 ; 參考 【Android 逆向】修改運行中的 Android 進程的內存數據 ( Android 系統中調試器進程內存流程 | 編譯內存調試動態庫以及調試程序 ) 博客 ;

編譯該項目 ,

生成結果如下 :

已啟動生成… 1>------ 已啟動生成: 項目: magic, 配置: Debug Win32 ------ 1>[x86] Compile : bridge <= bridge.c 1>[x86] SharedLibrary : libbridge.so 1>[x86] Install : libbridge.so => ../Debug/x86/libbridge.so 1>[x86] Compile++ : cmd <= command.cpp 1>[x86] Compile++ : cmd <= json_reader.cpp 1>[x86] Compile++ : cmd <= json_value.cpp 1>[x86] Compile++ : cmd <= json_writer.cpp 1>[x86] Executable : cmd 1>[x86] Install : cmd => ../Debug/x86/cmd 1>[x86] Compile : tool <= main.c 1>[x86] Executable : tool 1>[x86] Install : tool => ../Debug/x86/tool ========== 生成: 成功 1 個,失敗 0 個,最新 0 個,跳過 0==========









二、編譯結果文件說明



編譯完成后的編譯結果有

  • tool 可執行文件
  • cmd 可執行文件
  • libbridge.so 動態庫

上述文件都是在 PC 電腦上的 x86 架構的 Android 模擬器上運行的相關文件 , 具體就是 雷電模擬器 3.75 版本 ;


使用上述工具調試 Android 進程參考如下博客 :

  • 【Android 逆向】修改運行中的 Android 進程的內存數據 ( 運行環境搭建 Android 模擬器安裝 | 拷貝 Android 平臺可執行文件和動態庫到 /data/system )
  • 【Android 逆向】修改運行中的 Android 進程的內存數據 ( Android 命令行中獲取要調試的應用進程的 PID | 進程注入調試進程內存的 so 庫 )
  • 【Android 逆向】修改運行中的 Android 進程的內存數據 ( 使用 IDA 分析要修改的內存特征 | 根據內存特征搜索修改點 | 修改進程內存 )




三、注入過程說明



將所有文件拷貝到 Android 模擬器的 /data/system/debug/ 目錄下 , 然后賦予 777 權限 ;

執行

tool 2222

命令 , 即可 attach 調試 進程號 PID 為 2222 的 進程 ;

根據 PID , 一定能在 /proc/2222/mmaps 文件中找到該進程 每個 so 動態庫的運行地址 , 尤其是 libc.so 動態庫的地址 ;


先遠程注入 libbridge.so 動態庫 , 然后遠程調用 libbridge.so 中的 load 函數 , 將真正的 libnative.so 加載到目標進程中 ;

使用修改寄存器的方法 強行加載 libbridge.so 動態庫 , 會影響目標進程的布局 , 因此這個動態庫越小越好 , 并且 使用完畢后 , 馬上關閉該動態庫 , libbridge.so 動態庫只起一個敲門的作用 , libnative.so 加載完成后 , 直接將 libbridge.so 動態庫干掉 , 過河拆橋 ;

上述操作同時 , 恢復 寄存器 和 棧內存 的值 ;

總結

以上是生活随笔為你收集整理的【Android 逆向】Android 进程注入工具开发 ( 编译注入工具 | 编译结果文件说明 | 注入过程说明 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。