【Android 逆向】Android 进程注入工具开发 ( 远程进程 注入动态库 文件操作 | Android 进程读取文件所需的权限 | fopen 打开文件标志位 | 验证文件权限 )
文章目錄
- 前言
- 一、Android 進(jìn)程讀取文件所需的權(quán)限
- 二、fopen 打開文件標(biāo)志位
- 三、驗(yàn)證文件權(quán)限
前言
一、Android 進(jìn)程讀取文件所需的權(quán)限
通過 注入工具 , 將 libbridge.so 注入到遠(yuǎn)程進(jìn)程 后 , 遠(yuǎn)程進(jìn)程中 , 會(huì) 為 libbridge.so 動(dòng)態(tài)庫分配一塊內(nèi)存 , 并將其運(yùn)行起來 ;
遠(yuǎn)程進(jìn)程 中 注入的 動(dòng)態(tài)庫 , 需要 對文件進(jìn)行讀寫操作 , 如讀取某個(gè)文件目錄 , 向某個(gè)路徑上寫入 內(nèi)存數(shù)據(jù) / 日志文件 等內(nèi)容 ;
文件讀寫操作 , 使用 標(biāo)準(zhǔn)文件讀寫函數(shù) 即可 , 如 fopen , fwrite , fread 等函數(shù) ;
在 Android 進(jìn)程中 , 對文件進(jìn)行讀寫操作 , 最重要的是 權(quán)限問題 , 如果要訪問 /data/system/debug/command.json 文件 , 需要確定是否有訪問該文件的權(quán)限 , 并且還要有該文件的上級目錄的訪問權(quán)限 , 上級目錄有 :
- /data/system/debug/
- /data/system/
- /data/
- /
如果沒有上級目錄的訪問權(quán)限 , 解析整個(gè)路徑時(shí) , 會(huì)因?yàn)槟硞€(gè)上級目錄沒有權(quán)限而中斷 , 進(jìn)而導(dǎo)致使用 fopen 打開文件報(bào)錯(cuò) ;
在 5.0 之前的版本 , 如果沒有目錄的權(quán)限 , 是可以讀取文件的 ;
5.0 版本兼容兩種模式 ;
但是在 5.1 及之后的版本 , 需要有所有路徑的權(quán)限 , 才可以讀取文件 ;
特別注意 : 如果要讀寫 /data/system/debug/command.json 文件數(shù)據(jù) , 上層目錄的權(quán)限必須有讀取的權(quán)限 , 上層目錄可以沒有寫的權(quán)限 ;
二、fopen 打開文件標(biāo)志位
文件的寫操作權(quán)限比較敏感 , w+ 權(quán)限指的是可以向文件中追加數(shù)據(jù) , r+ 權(quán)限指的是可讀可寫 , 具體參考 【C 語言】文件操作 ( fopen 文件打開方式詳解 ) 二、fopen 函數(shù)文件打開方式詳解 博客章節(jié) ;
三、驗(yàn)證文件權(quán)限
查看 /data/system/debug/command.json 文件的權(quán)限 , 將其權(quán)限設(shè)置為 -rwxrwxrwx 即可 , 權(quán)限分為 3 組 , 第一組是 root 用戶的 , 第二組是系統(tǒng)用戶的 , 第三組是應(yīng)用創(chuàng)建的用戶權(quán)限 ;
如果權(quán)限不足 , 使用
chmod 777 fileName命令 , 修改 fileName 文件的權(quán)限 ;
-rwxrwxrwx root root 80 2021-10-31 21:16 command.json查看 /data/system/debug/ 文件的權(quán)限 ,
drwxrwxr-x root root 2021-10-31 21:12 debug執(zhí)行
chmod 777 debug命令 , 為 debug 目錄賦予 777 完整權(quán)限 ;
由于 debug 目錄是我們自己創(chuàng)建的 , 可以任意修改 , 但是上一級 system 目錄的權(quán)限不能動(dòng) ;
查看 /data/system/ 文件的權(quán)限 , 該目錄針對應(yīng)用用戶 , 有 r-x 權(quán)限 , 只有讀取和執(zhí)行權(quán)限 , 沒有寫權(quán)限 , 上面提到過 , 要讀寫的文件的上級目錄只要有寫權(quán)限 , 就可以保證下級的文件讀寫 ;
drwxrwxr-x system system 2021-11-06 11:07 system總結(jié)
以上是生活随笔為你收集整理的【Android 逆向】Android 进程注入工具开发 ( 远程进程 注入动态库 文件操作 | Android 进程读取文件所需的权限 | fopen 打开文件标志位 | 验证文件权限 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 逆向】Android
- 下一篇: 【Android 逆向】Android