当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

Hotpatch

so 动态加载库
授权协议 BSD
开发语言 C/C++
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 陆俊捷
操作系统 Linux
开源组织
适用人群 未知
 软件概览

Hotpatch 是一个允许正在运行的进程动态加载一个 so 库的 C 库,类似于 Win32 上的 CreateRemoteThread() API。

和其他现有的动态加载方案相比,Hotpatch 的优点是在加载 so 库之后将会恢复原先进程的运行状态

开发者可以利用 Hotpatch 实现:

  • 加载 so 库到一个已经运行的进程中。
  • 调用该 so 库中的自定义函数。
  • 向该函数传递序列化的参数。

它包含三部分: hotpatch.h 头文件,libhotpatch.so 库和命令行辅助程序 hotpatcher

目前的局限有:

  • 用户只能向拥有权限的进程注入 so 库(当然 root 用户可以向所有进程注入)。
  • 目前仅支持 64 位 Linux,32 位支持将在下一个版本中完成。
  • 在编译共享库时需要加上连接器参数 -fPIC -nostartfiles
  • 对于一个正在运行进程仅能动态加载一次 so 库文件。
  • 最近Android社区里关于hotpatch的好文章非常多,看了其中的几篇,发现它们都提到了一个问题,就是[现有的hotpatch方案在ART虚拟机上会出现内存移位],随着Android5.0以上机器的不断普及,这个问题也会被越来越多的遇到,所以这篇文章就带大家看看和这个问题相关的Android中的几个知识,希望大家看完会有收获~ 前言 说到上面说的那个问题,其实可以细分到Android hotp

  • 前一段时间hotpatch技术被炒的沸沸扬扬,闲暇时写了个小demo,看了几篇相关技术博客,找了一篇比较靠谱的与大家分享。 我们知道Java在运行时加载对应的类是通过ClassLoader来实现的,ClassLoader本身是一个抽象来,Android中使用PathClassLoader类作为Android的默认的类加载器, PathClassLoader其实实现的就是简单的从文件系统中加载类文件

  • linux 实现一个热补丁 https://www.cnblogs.com/leo0000/p/5632642.html https://github.com/vikasnkumar/hotpatch https://www.jianshu.com/p/9269836e0bd6 https://blog.csdn.net/chrisnotfound/article/details/79099711

  • 屎蛋 · 2016/06/22 10:11 author:[email protected] 0x00 “Hotpatch”简介 IOS App的开发者们经常会出现这类问题:当一个新版本上线后发现存在一个严重的bug,有可能因为一个逻辑问题导致支付接口存在被薅羊毛的风险,这个时候能做的只能是赶快修复完安全问题并提交到appstore审核,在急忙推送用户尽快更新,避免为此导致的严重安全后果买单。为了

  • SSDT-RMCF.dsl 这里文件为其他SSDTs提供配置数据。 阅读文件中的注释以获得更多信息。 SSDT-RMDT.dsl 这个SSDT用于 ACPIDebug.kext.,而不是修补DSDT来添加RMDT设备,可以使用这个SSDT和外部的方法。 有关RMDT方法的更多信息,请参阅 ACPIDebug.kext 文档。 SSDT-XOSI.dsl 这个SSDT提供了XOSI方法,这是在使用

  •   --no need to shutdown application and no need to enable maintenance mode adpatch options=hotpatch find . -name FAS420.rdf -bash-3.2$ strings -a ./fa/12.0.0/reports/US/FAS420.rdf|grep '$Header' SQL>

 相关资料
  • 问题内容: 我正在尝试为我的网站创建页面主题功能。我想使用单独的CSS文件在页面上动态加载相应的主题。 我正在使用此代码: 效果很好,但是如果CSS文件未加载,它不会返回任何信息。 加载时,有什么方法可以捕捉吗?也许通过使用ajax? 问题答案: 加载CSS文件(或其任何其他更改)时,Internet Explorer会触发一个事件。其他浏览器不会触发任何事件,因此您将必须手动检查样式表是否已加载

  •  说明 调用方法: $.f2e.util.getScript(url,cache,fn); 函数说明: 加载js,并提供相关回调 参数说明: 参数名 类型 说明 备注 url string 地址 无 cache boolean 缓存 无 fn function 回调函数 无 脚本 <script> $.f2e.util.getScript(url,true,function(){

  • 我知道如何加载CSS。 怎么卸载?

  • 问题内容: 我查找了语法并搜索了api,但仍然对该过程感到困惑。我还搜索了Stackoverflow。加载类并从中动态创建对象的正确方法是什么?换句话说,我希望用户指定要创建的对象类型,然后创建该类型的对象。我不需要菜单,因为我希望他们能够选择当前目录中的任何类。 问题答案: 假设该类具有无参数构造函数,则最简单的方法是- 参考-java.lang.Class

  • 问题内容: 我正在考虑减少使用。js(看起来不错),但我们的网站要求在初始页面加载后动态加载某些样式。但是,似乎所有LESS样式表必须在less.js脚本加载之前先加载。即这有效 但是如果换行,它将失败,除非正确订购,否则Firefox和chrome都不会尝试加载“style.less”。在本教程中明确指出了订购要求。 有什么方法可以在初始页面加载后加载更少的样式表? - 保存您的LESS代码时,

  • 问题内容: 如何可靠,动态地加载JavaScript文件?这将用于实现模块或组件,该模块或组件在“初始化”时将根据需要动态加载所有需要的JavaScript库脚本。 使用该组件的客户端不需要加载实现该组件的所有库脚本文件(并将标记手动插入其网页),只需加载“主”组件脚本文件即可。 主流JavaScript库如何做到这一点(原型,jQuery等)? 这些工具是否将多个JavaScript文件合并到脚

  • 问题内容: 是否可以在运行时加载特定的程序包?我想要一种插件,每个插件具有与其他插件相同的功能,但行为不同,并根据配置文件加载一个或另一个。 问题答案: 您可能会考虑在运行时执行“插件”程序包,方法是编写一个新程序(例如到temp目录),然后通过exec.Command执行,类似于 您将在此处看到一些类似的代码。