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

歡迎訪問 生活随笔!

生活随笔

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

Android

【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取注入的 libbridge.so 动态库中的 load 函数地址 并 通过 远程调用 执行该函数 )

發布時間:2025/6/17 Android 22 豆豆

文章目錄

  • 一、dlsym 函數簡介
  • 二、獲取 目標進程 linker 中的 dlsym 函數地址
  • 三、遠程調用 目標進程 linker 中的 dlsym 函數 獲取 注入的 libbridge.so 動態庫中的 load 函數地址
  • 四、遠程調用 目標進程 中的 libbridge.so 動態庫中的 load 函數





一、dlsym 函數簡介



dlsym 是 Dynamic Library Symbol 的縮寫 , 該函數的作用是 根據 動態鏈接庫 句柄 和 符號 , 返回對應 符號的地址 , 這個符號可以是方法名 , 也可以是變量名 ;


包含頭文件 :

#include<dlfcn.h>

函數原型 :

void* dlsym(void* handle, constchar* symbol)

參數說明 :

① void* handle : dlopen 打開 動態鏈接庫 的返回值;

② constchar* symbol : 函數名稱 / 全局變量名稱 ;


void* 返回值 : 返回對應 函數 / 變量 地址 ;





二、獲取 目標進程 linker 中的 dlsym 函數地址



獲取 某個動態庫 / 可執行文件 中的某個方法的地址 , 參考 【Android 逆向】Android 進程注入工具開發 ( 注入代碼分析 | 獲取 遠程 目標進程 中的 /system/lib/libc.so 動態庫中的 mmap 函數地址 ) 博客 ;


獲取 遠程 目標進程 中的 動態庫中的 函數地址流程 :

① 獲取 本地進程 動態庫 地址 ;

② 獲取 遠程進程 動態庫 地址 ;

③ 計算 本地進程 與 遠程進程 的 動態庫 地址 偏移量 ;

④ 獲取 本地進程 函數地址 ;

⑤ 根據 本地進程 函數地址 + 本地進程 與 遠程進程 的 動態庫 地址 偏移量 , 計算出 遠程進程 動態庫 的 函數地址 ;





三、遠程調用 目標進程 linker 中的 dlsym 函數 獲取 注入的 libbridge.so 動態庫中的 load 函數地址



參考 【Android 逆向】Android 進程注入工具開發 ( 注入代碼分析 | 遠程調用 目標進程中 libc.so 動態庫中的 mmap 函數 二 | 準備參數 | 遠程調用 mmap 函數 ) 博客 , 通過

  • 設置 EIP 寄存器 , 設置要執行的函數指令地址 ;
  • 設置 ESP 寄存器 , 設置要執行的函數參數的棧內存 ;

可以遠程調用執行指定的方法 ;





四、遠程調用 目標進程 中的 libbridge.so 動態庫中的 load 函數



下面是 libbridge.so 動態庫的代碼 , 在該換行代碼中 , 只是調用 dlopen 函數加載了真正的 libnative.so 動態庫 , 這個動態庫是進行逆向操作的主要的庫 , 執行核心邏輯 ;


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

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


#include <unistd.h> #include <jni.h> #include <dlfcn.h>#include <android/log.h> #define LOG_TAG "DongNao" #define LOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)) #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)) #define LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__)) #define LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__))int load() {LOGW("%s(%d):%s\n", __FILE__, __LINE__, __FUNCTION__);void* handle = dlopen("/data/system/debug/libnative.so", RTLD_GLOBAL);LOGW("%s(%d):%s handle=%p\n", __FILE__, __LINE__, __FUNCTION__, handle);void* invoke = dlsym(handle, "invoke");LOGW("%s(%d):%s invoke=%p\n", __FILE__, __LINE__, __FUNCTION__, invoke);((void(*)())invoke)();return 0; }

總結

以上是生活随笔為你收集整理的【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取注入的 libbridge.so 动态库中的 load 函数地址 并 通过 远程调用 执行该函数 )的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 另类男人与善交video | 亚洲自拍激情 | 精品人妻一区二区三区三区四区 | 伊伊总综合网 | 1024毛片| 草1024榴社区成人 | 男人天堂免费视频 | 亚洲一区动漫 | 999精品在线视频 | 人人妻人人澡人人爽国产一区 | 影音先锋成人在线 | 日韩免费观看一区二区三区 | 91中出| 亚洲精品污 | 亚洲国产精品视频一区二区 | 国内免费毛片 | 特黄特色大片免费视频大全 | 男人的天堂av网站 | 男女草比视频 | 刘亦菲毛片 | 九九热re | h片在线观看免费 | 午夜精品久久久久久久99老熟妇 | 精品无码一区二区三区蜜臀 | 午夜激情在线观看视频 | 欧美鲁鲁| 宅男视频污 | 五月天欧美 | 国产亚洲精品成人av久久ww | 亚洲天堂国产精品 | 色91在线 | jizz黄 | 国产成人av网 | 老版k8经典电影 | 日本一区二区三区视频在线播放 | 午夜羞羞网站 | 校园sm主奴调教1v1罚视频 | 亚洲三级理论 | 男女午夜视频在线观看 | 久久成人a毛片免费观看网站 | mm1313亚洲国产精品无码试看 | 不卡av免费在线观看 | 黄金网站在线观看 | 四川丰满妇女毛片四川话 | 亚洲第一av在线 | 久久疯狂做爰流白浆xx | 少妇特黄a一区二区三区 | 在线人成| 日韩在线导航 | 精品一区二区三区不卡 | 欧美激情性做爰免费视频 | 亚洲大尺度在线观看 | 久草这里只有精品 | 欧美日韩三区 | 91视频xxx| 日本做爰高潮又黄又爽 | 亚洲成人黄色 | 久久噜| 日韩欧美高清一区 | 草莓视频成人在线 | 日本天堂在线视频 | 亚洲综合不卡 | 荷兰av| 国产妇女馒头高清泬20p多 | 欧美第一视频 | 国产三级短视频 | 国产熟女精品视频 | 青青国产在线视频 | 中国老熟妇自拍hd发布 | 噼里啪啦免费观看 | 一级黄毛片 | 丁香花电影免费播放电影 | 亚洲 激情| 一区免费观看 | 成人做爰9片免费视频 | 欧美一区二区三区视频在线观看 | 色眯眯视频 | 91视频综合网 | 小早川怜子一区二区三区 | 欧美一区二区三区免费在线观看 | 黄色小视频在线 | 亚洲精品乱码久久久久久自慰 | 日本精品人妻无码免费大全 | 日本中文在线观看 | 天天干天天插 | 国产在线视频一区二区三区 | 蜜桃视频久久一区免费观看入口 | 色午夜视频 | 男人天堂综合网 | 奴色虐av一区二区三区 | 国产91视频在线 | 国产亚洲精品久久久久婷婷瑜伽 | 日本性久久 | 亚洲av无码久久精品狠狠爱浪潮 | 欧美日韩精品一区二区三区视频播放 | 亚洲a一区二区 | www.在线观看网站 | 香蕉视频在线看 | 国产激情文学 |