首页 > 其他分享 >android hook之ELF hook

android hook之ELF hook

时间:2022-10-10 12:44:06浏览次数:50  
标签:函数 自定义 导出 ELF hook 地址 android elf

android平台的ELF hook技术

LD_PRELOAD hook

linker程序在对elf可执行程序进行重定位时会根据so库加载的顺序去寻找对应导出符号。利用LD_PRELOAD优先加载自定义的so库并导出需要hook的函数就可以劫持elf可执行文件中指定的导出函数。

GOT hook

.got表中保存了程序导入的外部函数的地址,通过修改需要hook函数的got项的地址为自定义函数的地址可以实现劫持。

.dynsym导出表hook

.dynsym符号表的末尾保存了elf文件导出的符号以及其对应的地址,修改此地址为自定义函数的地址可以实现导出表hook

基于异常的hook

程序主动抛出异常并设置异常处理函数。

inline hook

通过修改目标函数的指令,跳转到自定义函数中执行并跳回到原函数继续执行。

标签:函数,自定义,导出,ELF,hook,地址,android,elf
From: https://www.cnblogs.com/revercc/p/16775262.html

相关文章

  • 调整 FMX Android 文字显示「锯齿」效果
    说明:调整FiremonkeyAndroid显示文字有「锯齿」效果适用:FiremonkeyAndroid平台修改方法:请将源码FMX.FontGlyphs.Android.pas 复制到自己的工程目录里,再进行修改。......
  • android注入之so注入
    android平台的so注入技术LD_PRELOAD注入LD_PRELOAD是linux的系统环境变量,因为android基于linux内核所以此环境变量依然存在。当android的linker程序在初始化时会先获取......
  • Android进阶笔记-7. Context详解
    Context数量Activity数量+Service数量+1(1为Application)Context的继承关系Context下有两个子类,ContextWrapper是上下文功能的封装类,而ContextImpl则是上下文功能的实现......
  • Android——application全局类的使用
    目录 ​​1.概述​​​​2.Application基类​​​​3.自定义Application类​​​​4.Application的生命周期​​​​5.Application对象的回调函数​​​​6.Application对......
  • Android日志的过滤方法
    Android应用启动之后,有时候根据项目需要,我们只需要指定的日志,过滤掉多余的日志,方式如下......
  • Android RecyclerView的ItemAnimator (item的刷新动画)
    前言notifyItemChanged()在更新的时候会执行ItemAnimator动画,默认是闪烁的动画,此动画可以自定义。取消默认闪烁动画valanimator=mBinding.applyList.it......
  • android download hosts 域名解析
    203.208.40.97dl.google.com203.208.40.33dl.l.google.com74.125.137.91dl-ssl.google.com......
  • Android dialog使用案例
    需求:应用锁,//自定义dialog的显示viewViewview=getLayoutInflater().inflate(R.layout.passwd_dialog_view,null);finalEditTexteditText=(EditText)view.findV......
  • Android开发 Jetpack compose 配置开发环境
    前言 JetpackCompose是用于构建原生Android界面的新工具包。它可简化并加快Android上的界面开发,使用更少的代码、强大的工具和直观的KotlinAPI,快速打造生动......
  • Android 11+ 无线调试
    Android11+无线调试第一步:初始化无线调试功能初次启用adb无线wifi调试功能,需要先在手机开发者模式中打开USB调试和无线调试功能,然后用USB连接手机到电脑进行......