原址

受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中的应用相关推荐

  1. android API HOOK

    API层面的hook是android hook技术中比较入门的一种,根据hook点选择的不同,能实现很多强大的功能,比如hook掉框架层的某些系统类达到不可思议的效果. hook主要技术点: 1.寻找 ...

  2. Android Native Hook工具

    前言 在目前的安卓APP测试中对于Native Hook的需求越来越大,越来越多的APP开始逐渐使用NDK来开发核心或者敏感代码逻辑.个人认为原因如下: 安全的考虑.各大APP越来越注重安全性,NDK ...

  3. hook android api伪造设备信息做刷量

    hook android api伪造设备信息做刷量 概述 Android平台上app的统计数据都是基于Android的设备信息的,比如首次使用(激活),活跃(日活跃DAU,月活跃MAU)等都需要根据设 ...

  4. unity发布成手机app怎么不能被顶_Unity中Android API 28之后无法HTTP请求

    本文节选自洪流学堂公众号技术专栏<大话Unity2019>,未经允许不可转载. 洪流学堂公众号回复log获取最新版运行时查看日志的工具. 小新:"最近我升级到Android AP ...

  5. Unity中Android API 28之后无法HTTP请求

    本文节选自洪流学堂公众号技术专栏<大话Unity2019>,未经允许不可转载. 洪流学堂公众号回复log,获取最新版运行时查看日志的工具. 小新:"最近我升级到Android A ...

  6. Android 如何在Eclipse中查看Android API源码 及 support包源码

    http://blog.csdn.net/vipzjyno1/article/details/22954775     当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是 ...

  7. Android API中文文档(111) —— MailTo

    一.结构 public class MailTo extends Object java.lang.Object android.net.MailTo 二.类概述 MailTo URL解析器.这个类解 ...

  8. android api 设置,Android API中文文档EditText

    Android API中文文档EditText是本文要介绍的内容,主要是来了解并学习Android API文档的帮助,具体关于Android API的内容的详解来看本文. 一.Android API中 ...

  9. uni-app中使用native.js调用android API实现双卡发送短信

    uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台官网地址 因 ...

最新文章

  1. 加速AI应用落地,英特尔AI 2.0的进阶之道
  2. 佛祖保佑 永无bug
  3. 禁止Html5在手机上屏幕页面缩放
  4. 构建根文件系统之busybox(二)编译
  5. JAVA实验报告九异常处理_Java课后练习9(异常处理)
  6. Linux基本命令总结(六)
  7. 光纤传感技术:基于Matlab的OFDR系统数值仿真
  8. unity材质丢失素材变成粉红色的解决方法
  9. Keil5下载及安装
  10. 【Visual C++】游戏开发笔记四十二 浅墨DirectX教程之十 游戏输入控制利器 DirectInput专场
  11. java使用POI5.0生成简易Excel工作簿的一种方法
  12. 基于空间直方图meanshift跟踪
  13. Java后台生成多个Excel并用Zip打包后(可以将excel文件放置到不同的目录)下载
  14. ACMCODER-股神
  15. RNN、RNNCell
  16. android华为手机虚拟键盘盖住底部,Android 虚拟键盘遮挡住页面问题我遇到的坑及个人解决办法...
  17. java 类型转换 效率_盘点16个有用的Java工具类,显著提升工作效率!
  18. Pytorch手势识别
  19. ggdag 绘制DAG和因果图
  20. 嵌入式系统的学习困惑、知识体系、及学习建议

热门文章

  1. Oracle database sqldeveloper study(1)
  2. [转]分析MySQL数据类型的长度【mysql数据字段 中length和decimals的作用!熟悉mysql必看】...
  3. 你还在烦U盘记录该如何消除吗
  4. 伪装nginx版本防止***web服务器
  5. Java中继承和面向接口的编程
  6. Serverless Framework 无服务器架构
  7. 可能是国内最火的开源项目 —— C/C++ 篇
  8. javascript绘制静态或者动态的图表、关系表、流程图-JointJS
  9. 黑马程序员C++学习笔记(第二阶段核心:面向对象)(一)
  10. loop在python中什么意思_在python中使用loop打开多个文件