【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 注入工具收尾操作 | 关闭注入的动态库 | 恢复寄存器 | 脱离远程调试附着 )
2023-06-13 09:17:59 时间
文章目录
一、dlclose 函数简介
dlclose 函数的作用是 卸载一个 指定句柄 的动态库 ;
包含头文件 :
#include<dlfcn.h>
函数原型 :
int dlclose (void *handle);
参数说明 : void *handle
: dlopen 函数返回的句柄 ;
int 返回值 : 返回 0 说明成功 , 其它失败 ;
二、关闭注入的 libbridge.so 动态库
参考 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 linker 中的 dlopen 函数地址 并 通过 远程调用 执行该函数 ) 博客 , 调用 dlclose 函数 ;
- 首先 , 获取 目标进程 linker 中的 dlclose 函数地址 ;
- 然后 , 远程调用 目标进程 linker 中的 dlclose 函数 ;
三、恢复寄存器
调用 ptrace_setregs
方法 , 直接设置远程进程的寄存器值 ;
/* restore 恢复寄存器 */
ptrace_setregs(target_pid, &original_regs);
四、脱离远程调试附着
注入工具最后一步操作是 脱离远程调试附着 , 之后就可以使用 调试工具 与 远程进程的 libnative.so 进行通信 ;
/* 脱离远程调试附着 */
ptrace_detach(target_pid);
相关文章
- 安卓四大组件面试题_android常见面试题
- android 浏览器 开发,Android 浏览器的开发实例分享
- 代码加密 android,Android 开发怎样做代码加密或混淆「建议收藏」
- Android代码混淆及调试错误「建议收藏」
- android开发笔记之 Android代码混淆打包
- android-studio安装及android开发环境搭建[通俗易懂]
- Android Studio NDK 代码 Source Insight调试 (NDK 目前开发方案 | NDK 编译 | 导入 so 库 | 项目编码转换)
- 【Android NDK 开发】Ubuntu 函数库交叉编译 ( Android 动态库交叉编译 | Android 静态库交叉编译 )
- 【Android 内存优化】内存抖动 ( 垃圾回收算法总结 | 分代收集算法补充 | 内存抖动排查 | 内存抖动操作 | 集合选择 )
- 【错误记录】Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1. )
- 【ijkplayer】编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-android/android 目录 | 执行 compile-ijk.sh 脚本完成编译 )
- 【Android UI】Canvas 画布 ⑥ ( Canvas 绘图源码分析 | ViewRootImpl#draw 方法源码 | ViewRootImpl#drawSoftware 方法源码 )
- Android与Linux:一段持久而又充满变数的联系(安卓内核linux)
- 攻击者宣称可利用 0day 漏洞完全控制 Android 手机
- 使用Android实现连接MySQL数据库:实现快速数据交互与管理(android连接mysql数据库)
- 前世界之窗团队要重塑Android平板体验,凤凰五元素平板上线众筹
- Android系统自带样式(android:theme)
- android在连拍菜单中增加连拍张数选项功能实现代码
- android的UDP编程实例
- Android手机获取root权限并实现关机重启功能的方法