【Android 逆向】修改运行中的 Android 进程的内存数据 ( 使用 IDA 分析要修改的内存特征 | 根据内存特征搜索修改点 | 修改进程内存 )





一、使用 IDA 分析要修改的内存特征



在前的博客 【Android 逆向】逆向修改游戏应用 ( 分析应用结构 | 定位动态库位置 | 定位动态库中的修改点 | 修改动态库 | 重打包 ) 中 , 已经分析过该动态库 ;

修改的动态库的位置是 如下 , 将 0x354A8 地址处的 0x59 字节数据 修改为 0x58 ;

在这里插入图片描述

在程序运行时 , 会将上述动态库加载到内存中 , 0x354A8 是在静态文件中 该字节的地址 , 如果加载到内存中 , 该字节的地址就需要进行查找 ;

上图中 , 0x59 之后的 9 个字节为 59 28 B3 07 00 06 02 7B 41 08 , 可以在进程内存中搜索上述 10 个字节 , 然后将第一个字节修改成 59 即可 ;

这 10 个字节为 :

0x59 0x28 0xB3 0x07 0x00 0x06 0x02 0x7B 0x41 0x08




二、根据内存特征搜索修改点



这里需要使用到 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 系统中调试器进程内存流程 | 编译内存调试动态库以及调试程序 ) 博客中 , 编译的 Android 平台的 cmd 可执行程序 ;

先将编译好的 cmd 可执行程序传输到 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 权限 , 主要是可执行权限 ;

=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 #

执行

./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 个字节的内存特征 , 主要是查询首字节 0x59 在该进程内存中的地址 ;





三、修改进程内存



查询到要修改的字节在内存中的地址为 0x96A2C355 , 修改该地址的数据 ;

执行

./cmd 2328 modify 96A2C355 0x58 0x28 0xB3 0x07 4

命令 , 修改 0x96A2C355 处的进程内存值 , 将从上述地址开始的 4 字节数据修改为 0x58 0x28 0xB3 0x07 数据 ;

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用MobSF静态分析工具来检测App在运行时,内存数据是否可被dump,可以按照以下步骤进行操作: 1. 首先,你需要下载并安装MobSF静态分析工具,并打开它。 2. 然后,你需要将App的APK文件导入到MobSF。可以在MobSF的主界面选择“Upload”按钮,并选择要分析的APK文件。 3. 分析完成后,你需要击左侧导航栏的“Filesystem”选项卡,并查看App是否存在可疑的文件或目录。例如,是否存在可被其他应用程序读取的文件或目录。 4. 接着,你需要击左侧导航栏的“Strings”选项卡,并查看App是否存在敏感数据,例如密码、密钥等。如果存在敏感数据,那么就可能存在内存数据被dump的风险。 5. 最后,你可以使用一些内存分析工具,例如“IDA Pro”、“GDB”等,来检测App在运行时,内存数据是否可被dump。在使用这些工具时,你需要在模拟器或实际设备上运行App,并使用工具来监控App的内存行为。 需要注意的是,内存数据被dump可能是一种非常危险的情况,因为攻击者可以通过dump出的内存数据来获取敏感信息,例如密码、密钥等。因此,在开发过程,开发人员应该采取一些防范措施,例如使用内存加密技术、禁用日志输出等,来保护敏感数据。 总之,使用MobSF静态分析工具来检测App在运行时,内存数据是否可被dump是一种有效的方法。在开发过程,开发人员应该采取多种防范措施,来保护敏感数据。同时,定期进行安全评估和测试也是必要的,以确保App不存在安全漏洞。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值