【Android 逆向】修改运行中的 Android 进程的内存数据 ( 使用 IDA 分析要修改的内存特征 | 根据内存特征搜索修改点 | 修改进程内存 )
文章目錄
- 一、使用 IDA 分析要修改的內(nèi)存特征
- 二、根據(jù)內(nèi)存特征搜索修改點
- 三、修改進程內(nèi)存
一、使用 IDA 分析要修改的內(nèi)存特征
在前的博客 【Android 逆向】逆向修改游戲應(yīng)用 ( 分析應(yīng)用結(jié)構(gòu) | 定位動態(tài)庫位置 | 定位動態(tài)庫中的修改點 | 修改動態(tài)庫 | 重打包 ) 中 , 已經(jīng)分析過該動態(tài)庫 ;
修改的動態(tài)庫的位置是 如下 , 將 0x354A8 地址處的 0x59 字節(jié)數(shù)據(jù) 修改為 0x58 ;
在程序運行時 , 會將上述動態(tài)庫加載到內(nèi)存中 , 0x354A8 是在靜態(tài)文件中 該字節(jié)的地址 , 如果加載到內(nèi)存中 , 該字節(jié)的地址就需要進行查找 ;
上圖中 , 0x59 之后的 9 個字節(jié)為 59 28 B3 07 00 06 02 7B 41 08 , 可以在進程內(nèi)存中搜索上述 10 個字節(jié) , 然后將第一個字節(jié)修改成 59 即可 ;
這 10 個字節(jié)為 :
0x59 0x28 0xB3 0x07 0x00 0x06 0x02 0x7B 0x41 0x08二、根據(jù)內(nèi)存特征搜索修改點
這里需要使用到 【Android 逆向】修改運行中的 Android 進程的內(nèi)存數(shù)據(jù) ( Android 系統(tǒng)中調(diào)試器進程內(nèi)存流程 | 編譯內(nèi)存調(diào)試動態(tài)庫以及調(diào)試程序 ) 博客中 , 編譯的 Android 平臺的 cmd 可執(zhí)行程序 ;
先將編譯好的 cmd 可執(zhí)行程序傳輸?shù)?Android 模擬器的 /data/system/debug/cmd 路徑中 ;
Y:\002_WorkSpace\001_AS\magic3.1.3\Debug\x86>adb push cmd /data/system/debug/cmd cmd: 1 file pushed, 0 skipped. 13.4 MB/s (444196 bytes in 0.032s)Y:\002_WorkSpace\001_AS\magic3.1.3\Debug\x86>在 Android 模擬器中為其賦予 777 權(quán)限 , 主要是可執(zhí)行權(quán)限 ;
=root@aosp:/data/system/debug # chmod 777 cmd root@aosp:/data/system/debug # ls -l -rwxrwxrwx root root 444196 2021-10-31 18:37 cmd -rwxrwxrwx root root 5476 2021-10-31 18:37 libbridge.so -rwxrwxrwx root root 9684 2021-10-31 18:37 tool root@aosp:/data/system/debug #執(zhí)行
./cmd 2328 searchcode 0x59 0x28 0xB3 0x07 0x00 0x06 0x02 0x7B 0x41 0x08 10命令 , 查詢 2328 進程中 , 0x59 0x28 0xB3 0x07 0x00 0x06 0x02 0x7B 0x41 0x08 10 個字節(jié)的內(nèi)存特征 , 主要是查詢首字節(jié) 0x59 在該進程內(nèi)存中的地址 ;
三、修改進程內(nèi)存
查詢到要修改的字節(jié)在內(nèi)存中的地址為 0x96A2C355 , 修改該地址的數(shù)據(jù) ;
執(zhí)行
./cmd 2328 modify 96A2C355 0x58 0x28 0xB3 0x07 4命令 , 修改 0x96A2C355 處的進程內(nèi)存值 , 將從上述地址開始的 4 字節(jié)數(shù)據(jù)修改為 0x58 0x28 0xB3 0x07 數(shù)據(jù) ;
總結(jié)
以上是生活随笔為你收集整理的【Android 逆向】修改运行中的 Android 进程的内存数据 ( 使用 IDA 分析要修改的内存特征 | 根据内存特征搜索修改点 | 修改进程内存 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 逆向】修改运行中的 A
- 下一篇: 【Android 逆向】Android