进击的Android注入术《二》

本文详细探讨了Android的注入技术,包括静态注入和动态注入的分类,解释了注入的本质是改变进程状态,如查看和修改变量,跟踪进程。主要目的是增强、修复、劫持和控制目标进程。文中通过示例介绍了注入的过程,从ATTATCH到DETACH,并展示了如何在Host代码和libmyso.so中实现注入操作。
摘要由CSDN通过智能技术生成

继续

在《一》里,我把基本思路描述了一遍,接下为我们先从注入开始入手。

注入


分类

我们平时所说的代码注入,主要静态和动态两种方式
  • 静态注入,针对是可执行文件,比如平时我们修改ELF,DEX文件等等,相关的辅助工具也很多,比如IDA、JEB、ApkTool等等;
  • 动态注入,针对是进程,比如修改进程的寄存器、内存值等等;
动态跟静态最大的区别是,动态不需要改动源文件,但需要高权限(通常是root权限),而且所需的技术含量更高。

本质

动态注入技术,本质上就是一种调度技术。想想平时我们调试一个进程时,可以做哪些功能? 一般有下列几项:
  • 查看变量值
  • 修改变量值
  • 跟踪进程跳转
  • 查看进程调用堆栈
  • 等等
动态注入相比于普通的调试,最大的区别就是动态注入是一个 ”自动化调试并达到加载自定义动态链接库“的过程。所谓自动化,其实就是通过代码实现,在Linux上通过Ptrace就可以完成上面所有功能,当然Ptrace功能是比较原始的,平时调试中的功能还需要很多高层逻辑封装才可以实现。
在阅读下面章节之前,强烈建议阅读一下man文档,见 <
评论 60
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值