关于LD_PRELOAD在Android API HOOK中的应用
原址
受xposed启发,有了一些想法。
我以前都是通过注入的形式,拦截目标进程的API,从而达到一些目的。这个方法相对笨拙,每次都需要注入(启动时);关键问题是,除非做成INLINE HOOK,否则你就得Hook每个so中你想拦截的函数,也不方便。
看到xposed后,就萌发一个想法,能否用Preload,做API HOOK。
这个问题相对比较容易解决:传递一个系统环境变量LD_PRELOAD=xx给目标进程(Zygote)即可。然后所有的Android应用都被装上HOOK了。
目前我的做法是写一个自己的程序,命名为app_process,将系统原来的app_process修改为old_app_process。app_process中做2件事情:
1. 添加一个环境变量:setenv("LD_PROLOAD=xxxx");
2. 启动原来的app_process:execv("/system/bin/old_app_process", args, envs);
这样就把Preload的so加入到zygote中了,然后所有的Android应用都加载了Preload的so。
这个东西目前已经初步实现,这里提出来和大家一起讨论,希望大家多多讨论。
关于LD_PRELOAD在Android API HOOK中的应用相关推荐
- android API HOOK
API层面的hook是android hook技术中比较入门的一种,根据hook点选择的不同,能实现很多强大的功能,比如hook掉框架层的某些系统类达到不可思议的效果. hook主要技术点: 1.寻找 ...
- Android Native Hook工具
前言 在目前的安卓APP测试中对于Native Hook的需求越来越大,越来越多的APP开始逐渐使用NDK来开发核心或者敏感代码逻辑.个人认为原因如下: 安全的考虑.各大APP越来越注重安全性,NDK ...
- hook android api伪造设备信息做刷量
hook android api伪造设备信息做刷量 概述 Android平台上app的统计数据都是基于Android的设备信息的,比如首次使用(激活),活跃(日活跃DAU,月活跃MAU)等都需要根据设 ...
- unity发布成手机app怎么不能被顶_Unity中Android API 28之后无法HTTP请求
本文节选自洪流学堂公众号技术专栏<大话Unity2019>,未经允许不可转载. 洪流学堂公众号回复log获取最新版运行时查看日志的工具. 小新:"最近我升级到Android AP ...
- Unity中Android API 28之后无法HTTP请求
本文节选自洪流学堂公众号技术专栏<大话Unity2019>,未经允许不可转载. 洪流学堂公众号回复log,获取最新版运行时查看日志的工具. 小新:"最近我升级到Android A ...
- Android 如何在Eclipse中查看Android API源码 及 support包源码
http://blog.csdn.net/vipzjyno1/article/details/22954775 当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是 ...
- Android API中文文档(111) —— MailTo
一.结构 public class MailTo extends Object java.lang.Object android.net.MailTo 二.类概述 MailTo URL解析器.这个类解 ...
- android api 设置,Android API中文文档EditText
Android API中文文档EditText是本文要介绍的内容,主要是来了解并学习Android API文档的帮助,具体关于Android API的内容的详解来看本文. 一.Android API中 ...
- uni-app中使用native.js调用android API实现双卡发送短信
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台官网地址 因 ...
最新文章
- 加速AI应用落地,英特尔AI 2.0的进阶之道
- 佛祖保佑 永无bug
- 禁止Html5在手机上屏幕页面缩放
- 构建根文件系统之busybox(二)编译
- JAVA实验报告九异常处理_Java课后练习9(异常处理)
- Linux基本命令总结(六)
- 光纤传感技术:基于Matlab的OFDR系统数值仿真
- unity材质丢失素材变成粉红色的解决方法
- Keil5下载及安装
- 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器 DirectInput专场
- java使用POI5.0生成简易Excel工作簿的一种方法
- 基于空间直方图meanshift跟踪
- Java后台生成多个Excel并用Zip打包后(可以将excel文件放置到不同的目录)下载
- ACMCODER-股神
- RNN、RNNCell
- android华为手机虚拟键盘盖住底部,Android 虚拟键盘遮挡住页面问题我遇到的坑及个人解决办法...
- java 类型转换 效率_盘点16个有用的Java工具类,显著提升工作效率!
- Pytorch手势识别
- ggdag 绘制DAG和因果图
- 嵌入式系统的学习困惑、知识体系、及学习建议
热门文章
- Oracle database sqldeveloper study(1)
- [转]分析MySQL数据类型的长度【mysql数据字段 中length和decimals的作用!熟悉mysql必看】...
- 你还在烦U盘记录该如何消除吗
- 伪装nginx版本防止***web服务器
- Java中继承和面向接口的编程
- Serverless Framework 无服务器架构
- 可能是国内最火的开源项目 —— C/C++ 篇
- javascript绘制静态或者动态的图表、关系表、流程图-JointJS
- 黑马程序员C++学习笔记(第二阶段核心:面向对象)(一)
- loop在python中什么意思_在python中使用loop打开多个文件