首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

golang插件方案

从应用开发本身出发,可以考虑插件。...不能 更新:不能 通信:进程内 序列:不需要 性能:高 ---- Go plugin判断两个插件是否相同是通过比较pluginpath实现的,如果没有指定pluginpath,则由内部的算法生成, 生成的格式为...另外,每一个插件都要开一个进程,因此要注意通信序列的性能消耗和进程管理,默认使用stdin/stdout建立连接,如下图,一个plugin和主程序之间有两条单向连接。...stream支持:单向和双向,基于http/2 插件发现:主程序循环扫描插件目录并维护状态;通过第三方文件diff工具维护,例如git 上线:能 下线:能 更新:能 通信:支持grpc 序列:protobuf...支持:单向,基于mq 插件发现:主程序循环扫描插件目录并维护状态;通过第三方文件diff工具维护,例如git 上线:能 下线:能 更新:能 通信:支持mq 序列:未知 性能:中/偏高 ---- 基于消息队列协议通信

2.5K30

golang插件方案

从应用开发本身出发,可以考虑插件。...另外,每一个插件都要开一个进程,因此要注意通信序列的性能消耗和进程管理,默认使用stdin/stdout建立连接,如下图,一个plugin和主程序之间有两条单向连接。...stream支持:单向和双向,基于http/2 插件发现:主程序循环扫描插件目录并维护状态;通过第三方文件diff工具维护,例如git 上线:能 下线:能 更新:能 通信:支持grpc 序列:protobuf...支持:单向,基于mq 插件发现:主程序循环扫描插件目录并维护状态;通过第三方文件diff工具维护,例如git 上线:能 下线:能 更新:能 通信:支持mq 序列:未知 性能:中/偏高 ---- ---...:主程序循环扫描插件目录并维护状态;通过第三方文件diff工具维护,例如git 上线:能 下线:能 更新:能 通信:无 序列:无 性能:中 go-like脚本语言,agora和七牛qlang agora

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Android 插件】现有的针对插件恶意应用的解决方案 | 插件应用开发推荐方案

    文章目录 一、SafetyNet Attestation API 二、PluginKiller 三、针对插件应用开发者 一、SafetyNet Attestation API ---- SafetyNet...hook 调试环境中 , 这样进一步降低了软件被逆向的风险 ; SafetyNet 的 basicIntegrity 检测 , 可以检测出双实例应用程序 ( 多开应用 ) , 但是无法检测出不加载第三方插件插件应用...; 二、PluginKiller ---- 参考 【Android 插件】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件引擎中...) 博客 , 引入 PluginKiller 库 , 即可检测当前应用是否运行在插件环境中 ; 三、针对插件应用开发者 ---- 凡是加载插件 , 都要弹出对话框 , 征求用户同意 , 如果用户不同意..., 一定不要加载插件 ; 不要静默加载插件 , 如在组件的声明周期函数中加载插件 , 极有可能被判定为恶意软件 ; 大部分的良性软件 , 使用插件 , 是为了减少 APK 体积 , 以及快速进行插件更新迭代

    36410

    插件Activity: 技术方案分享

    ,今天就带大家手把手实现一个插件Activity框架,希望对你有所帮助~ 插件概念 插件是一种动态加载四大组件的技术。...当然插件也能 实现 bug 热修复,由于虚拟机的存在,Java 本身是支持动态加载任意类的。...解决方案 插件 Activity 也同时重写了 attachBaseContext 方法。...解决方案 宿主和所有插件都依赖 leakcanary 即可。 总结 本文主要是根据我自身实际投产的 插件组件 实践,分享一些动态加载 SDK插件 时需要考虑的问题。...内容主要包括插件方案的共同问题、插件包 leakcanary 引发的崩溃、资源 Id 类型不匹配 、宿主Activity 找不到问题,千言万语汇成一句话: 插件有风险,投资须谨慎!

    96100

    前端模块方案:前端模块插件异步加载方案探索

    前端的模块系统经历了长久的演变,对应的模块方案也几经变迁。...js语言本身并不支持模块,同时浏览器中js和服务端nodejs中的js运行环境是不同的,如何实现浏览器中js模块主流有两种方案:requirejs/seajs: 是一种在线“编译”模块的方案,相当于在页面上加载一个...这样浏览器就认识了define, exports,module这些东西,也就实现了模块。browserify/webpack:是一个预编译模块打包的方案,相比于第一种方案,这个方案更加智能。...它同时也提供了对模块进行打包与构建的工具r.js,通过将开发时单独的匿名模块具名并进行合并,实现线上页面资源加载的性能优化。RequireJS 与r.js 等一起提供的一个模块构建方案。...https://segmentfault.com/a/1190000022278429转载本站文章《前端模块方案:前端模块/插件异步加载方案探索》,请注明出处:https://www.zhoulujun.cn

    1.4K20

    Android插件常见冲突解决方案

    在Android组件插件的过程中,经常会遇到狠多的问题,如常见的包依赖冲突,资源文件依赖冲突等问题,当然,在资源文件上面,一些组件框架已为我们提供了一些资源文件冲突的解决方案。...1,资源冲突问题 在组件项目中,经常会遇到多个Module模块的资源冲突问题。例如,一个简单的app包含app模块、user模块、me模块,其中app模块依赖user模块和me模块。... 2,多个Module依赖同一个jar的解决方案 在做插件的过程中,有如下的一个场景:环信Module和我们自己的app的Module都要用到定位sdk,如果同时引入这两个sdk...解决方案:将任意一个Module中的jar依赖为compile files(‘your jar name’),其他需要依赖的地方改为provided files(‘your jar name’)并且删除

    1K40

    【Android 插件】多开原理 | 使用插件技术的恶意应用 | 插件的其它风险 | 应用开发推荐方案

    文章目录 一、多开原理 二、使用插件技术的恶意应用 三、插件的其它风险 四、应用开发推荐方案 一、多开原理 ---- 插件的优点就是可以实现应用的多开 , 利用该多开虚拟引擎 , 用户可以同时登录多个...二者之间肯定是不冲突的 ; 二、使用插件技术的恶意应用 ---- 恶意应用 目前广泛使用 插件技术 , 将 恶意行为 封装到插件中 , 如 盗取用户数据 ; 该恶意的插件 APK 被加密后放在应用的资源文件...; 反病毒扫描程序 和 重打包检测程序 , 都无法检测出使用了插件技术之后的恶意软件 ; HummingBad 使用了 DroidPlugin 虚拟引擎 , 进行广告欺诈 ; 使用 虚拟引擎 (..., 肯定会带来不可预知的风险 ; 如 泄露隐私 ; 网络钓鱼 : 用户在插件 APK 的操作 , 以及输入的数据 , 宿主应用都可以获取到 , 如果输入账号 , 密码 , 则直接就被钓鱼了 ; 四、应用开发推荐方案...插件】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件引擎中 )

    86010

    【Android 插件插件化简介 ( 组件插件 )

    Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...资源 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 运行应用 | 代码整理 ) 文章目录 Android 插件系列文章目录 一、组件插件 二、插件示例 三、插件标准引入...机制 , 动态部署其插件 apk ; 这类软件第一次打开时 , 需要下载该模块的 插件 apk , 并安装 , 此时会卡顿以下 , 之后可以流畅访问 ; 三、插件标准引入 ---- 插件 中 ,

    3.7K20

    基于Java插件集成项目实践

    之前已经写了一篇关于《几种Java热插拔技术实现总结》,在该文中我总结了好几种Java实现热插拔的技术,其中各有优缺点,在这篇文章我将介绍Java热插拔技术在我司项目中的实践。...前言 在开始之前,先看下插件系统的整体框架 插件开发模拟环境 “插件开发模拟环境”主要用于插件的开发和测试,一个独立项目,提供给插件开发人员使用。...开发模拟环境依赖插件核心包、插件依赖的主程序包。 插件核心包-负责插件的加载,安装、注册、卸载 插件依赖的主程序包-提供插件开发测试的主程序依赖 主程序 插件的正式安装使用环境,线上环境。...插件在本地开发测试完成后,通过插件管理页面安装到线上环境进行插件验证。可以分多个环境,线上dev环境提供插件的线上验证,待验证完成后,再发布到prod环境。...代码实现 插件加载流程 在监听到Spring Boot启动后,插件开始加载,从配置文件中获取插件配置、创建插件监听器(用于主程序监听插件启动、停止事件&

    69410

    【Android 插件】Hook 插件框架 ( hook 插件原理 | 插件包管理 )

    Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...: 是通过代理 Activity , 将 插件包加载的 字节码 Class 类 中 对应的 Activity 类作为一个普通的 Java 类 , 该普通的 Java 类有所有的 Activity 的业务逻辑...是通过代理 Activity , 将插件包加载的字节码 Class 作为一个普通的 Java 类 * 该普通的 Java 类有所有的 Activity 的业务逻辑 * 该 Activity

    4.2K10

    Android插件原理之Activity插件

    前言 四大组件的插件插件技术的核心知识点,而Activity插件更是重中之重,Activity插件主要有三种实现方式,分别是反射实现、接口实现和Hook技术实现。...反射实现会对性能有所影响,主流的插件框架没有采用此方式,关于接口实现可以阅读dynamic-load-apk的源码,这里不做介绍,目前Hook技术实现是主流,因此本篇文章主要介绍Hook技术实现。...接着在步骤2之后用插件Activity替换占坑的Activity,接下来根据这个解决方案我们来实践一下。...总结 这一节我们学到了启动插件Activity的原理,主要的方案就是先用一个在AndroidManifest.xml中注册的Activity来进行占坑,用来通过AMS的校验,接着在合适的时机用插件Activity...更多的Android插件原理请查看即将要出版的《Android进阶之光》续作。

    1.2K50

    【Android 插件插件技术弊端 ( 恶意插件程序的解决方向 | 常用的插件虚拟引擎 )

    文章目录 一、插件技术弊端 二、恶意插件程序的解决方向 三、常用的插件虚拟引擎 一、插件技术弊端 ---- 在之前的 Android 应用中 , 部分黑客将应用破解 , 植入自己的恶意代码 ,..., 使用自动脚本 , 一晚上甚至可以封装数量巨大的恶意应用 ; 目前的 Android 生态中 , 存在着大量的该类使用插件技术进行 ; 据统计 , 应用市场中 , 插件应用中 , 恶意插件应用...是 正常使用插件技术应用的 数倍 ; 针对上述问题 , 需要使用一些技术识别 恶意 插件应用 , 并删除此类应用 ; 二、恶意插件程序的解决方向 ---- 首先 , 要先识别出使用了插件技术的应用...; 插件应用有相同的特点 : 使用了 插件 技术 的应用 , 都有相同的特点 , 当前的插件基本都是基于 Hook 的插件技术 , 这样可以零侵入代码 , 开发的插件 APK 与普通 APK..., 一般不经过用户同意秘密加载插件 ( 感觉有些大厂的插件也是偷摸加载的 , 插件对用户透明 ) , 分析出恶意插件的非法加载插件的指纹特征 , 与正常使用插件技术的应用进行区分 ; 检测恶意插件应用

    92240

    【Android 插件】Hook 插件框架 ( 加载插件包资源 )

    Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...插件】Hook 插件框架 ( 反射工具类 | 反射常用操作整理 ) 【Android 插件】Hook 插件框架 ( 插件包资源加载 ) ---- 文章目录 Android 插件系列文章目录...import android.app.Application; import android.content.res.Resources; import android.util.Log; import java.io.File

    38310

    【Android 插件插件原理 ( 类加载器 )

    Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...资源 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 运行应用 | 代码整理 ) ---- 文章目录 Android 插件系列文章目录 一、" 插件 " 中的 dex 文件 二、类加载器分析...三、获取类加载器 四、双亲委派机制 一、" 插件 " 中的 dex 文件 ---- 现在的大型 Android 项目 , 基本都是 组件 + 插件 开发 , 项目架构上都是 组件 的框架 ,

    57210

    【Android 插件】Hook 插件框架 ( 创建插件应用 | 拷贝插件 APK | 初始插件包 | 测试插件 DEX 字节码 )

    Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...| 插件包管理 ) 【Android 插件】Hook 插件框架 ( 通过反射获取 “插件包“ 中的 Element[] dexElements ) 【Android 插件】Hook 插件框架...; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream

    1K20

    插件思维

    2.1 插件化分类 插件许多都是从设计模式演化而来的,大概可以参考的有:命令模式,工厂模式,抽象工厂模式等等,笔者根据个人经验,总结出三种插件化形式: ❈ 约定/注入插件。 事件插件。...插槽插件。 ❈ 最后还有一个不算插件实现方式,但效果比较优雅,姑且称为分形插件吧。下面一一解释。...2.1.3 插槽插件 这种插件一般用在对 UI 元素的拓展。...通过文件名注册:比如项目中存在 xx.plugin.ts 会自动做到插件引用,当然这一般作为辅助方案使用。...笔者此处给出一种解决方案,供大家参考。另外要注意,这个方案随着考虑到的使用场景增多,是要不断调整变化的。

    1.5K20
    领券