Android动态代码注入调试

目录
一、动态代码注入技术    1
二、动态分析工具jdb介绍    2
四、jdb动态分析Android实例应用程序    10
五、jdb动态分析第三方文件管理器应用程序    17
六、动态注入动态链接库    20
一、动态代码注入技术
Android动态代码注入即是不修改源程序只修改进程的寄存器、内存值等就能控制程序实现既定目标的一种方法。动态代码注入技术本质上就是一种调度技术,动态代码注入相比于普通的调试,最大的区别就是动态代码注入是一个“自动化调试并达到加载自定义动态链接库”的过程。所谓自动化,其实就是通过代码实现,在Linux上通过Ptrace就可以完成查看变量值、
android模拟器
修改变量值、跟踪进程跳转、查看进程调试堆栈等待所有功能,当然,Ptrace功能是比较原始的,平时调试中的功能还需要很多高层逻辑封装才可以实现。一般而言,我们要对一个进程进行动态注入,主要有以下几个方便目的:增强目标进程的功能、修复目标进程缺陷、劫持目标进程函数、窃取目标进程数据、篡改目标进程数据。
如上图所示,进程A注入到进程B后,通过司改寄存器和内存,让进程B加载自定义的动态链接库a,当a被加载后,a会尝试加载其他模块,比如加载dex文件等等,具体的注入过程如下:
ATTATCH,指定目标进程,开始调试;
GETREGS,获取目标进程的寄存器,保存现场;
SETREGS,修改PC等相关寄存器,使其指向mmap;

本文发布于:2024-09-22 20:30:50,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/358485.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进程   目标   注入   动态   代码   调试   寄存器   加载
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议