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

【Android 插件】“ 插桩式 “ 插件框架 ( 代理 Activity 组件开发 )

Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 ) 博客中 , 开发了 DexClassLoader 类加载器加载插件包 , 并使用 AssetManager 加载插件包资源的模块...; 本博客中开发开发本地的 Activity 桩 , 即空壳 Activity , 用于持有插件界面组件 , 并在生命周期中回调插件界面 Activity 组件的对应生命周期方法 ; 一、加载插件

68320

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

文章目录 一、SafetyNet Attestation API 二、PluginKiller 三、针对插件应用开发者 一、SafetyNet Attestation API ---- SafetyNet...; 二、PluginKiller ---- 参考 【Android 插件】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件引擎中...) 博客 , 引入 PluginKiller 库 , 即可检测当前应用是否运行在插件环境中 ; 三、针对插件应用开发者 ---- 凡是加载插件 , 都要弹出对话框 , 征求用户同意 , 如果用户不同意..., 一定不要加载插件 ; 不要静默加载插件 , 如在组件的声明周期函数中加载插件 , 极有可能被判定为恶意软件 ; 大部分的良性软件 , 使用插件 , 是为了减少 APK 体积 , 以及快速进行插件更新迭代..., 因此插件 APK 大多从网络中下载 ; 良性软件 没有必要将插件放在应用资源目录中 , 这样不如直接集成在应用中使用 ; 大部分的恶意软件 , 将恶意插件加密后放在 Assets 目录中 , 一般重打包恶意软件的开发

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

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

    Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...一、组件插件 ---- 组件 是将应用分成若干 Module 模块 , 每个模块称为一个组件 ; 组件 项目中 , 分为两种模式 , " 集成模式 " 和 " 组件模式 " ; 在开发过程中的...如果修改了一个模块 , 那就必须重新打包 ; 插件开发 , 解决了上述问题 ; 插件 将应用拆分成若干模块 , 其中有 1 个 " 宿主 " 模块 , 若干 " 插件 " 模块 ; 最终打包时..." 模块 可以分开进行编译 , 二者之间互不影响 , 各个模块可以并发进行开发 , " 宿主 " 模块 可以 动态更新插件 , 二、插件示例 ---- 如像 支付宝 等类似的特大型应用 , 内部提供了几百个小的应用模块...应用 替换 原生应用 ; 股票模块这类 原生应用 , 一般不会在支付宝开发时 , 打包在其中 , 而是通过 插件 机制 , 动态部署其插件 apk ; 这类软件第一次打开时 , 需要下载该模块的 插件

    3.9K20

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

    文章目录 一、多开原理 二、使用插件技术的恶意应用 三、插件的其它风险 四、应用开发推荐方案 一、多开原理 ---- 插件的优点就是可以实现应用的多开 , 利用该多开虚拟引擎 , 用户可以同时登录多个...插件 ) 对 APK 应用进行重打包 : 开发一个宿主软件 , 将 APK 文件当做插件加载运行 , 宿主软件植入恶意代码 , 或者使用 插件方式 植入恶意代码 , 这样在不修改 APK 文件的前提下..., 肯定会带来不可预知的风险 ; 如 泄露隐私 ; 网络钓鱼 : 用户在插件 APK 的操作 , 以及输入的数据 , 宿主应用都可以获取到 , 如果输入账号 , 密码 , 则直接就被钓鱼了 ; 四、应用开发推荐方案...---- 作为应用程序开发者 , 可以采用一些手段 , 避免自己的应用运行在 虚拟引擎 中 , 防止用户权益受损 ; 如果 应用 运行在插件引擎中 , 可以通过一些特征进行判断 , 参考 【Android...插件】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件引擎中 )

    87310

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

    Android 插件系列文章目录 【Android 插件插件化简介 ( 组件插件 ) 【Android 插件插件原理 ( JVM 内存数据 | 类加载流程 ) 【Android 插件...】插件原理 ( 类加载器 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 原理与实现思路 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 类加载器创建 | 资源加载 )...【Android 插件】“ 插桩式 “ 插件框架 ( 注入上下文的使用 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources...资源 ) 【Android 插件】“ 插桩式 “ 插件框架 ( 运行应用 | 代码整理 ) 【Android 插件】Hook 插件框架 ( Hook 技术 | 代理模式 | 静态代理 | 动态代理...) 【Android 插件】Hook 插件框架 ( Hook 实现思路 | Hook 按钮点击事件 ) 【Android 插件】Hook 插件框架 ( Hook Activity 启动过程

    4.2K10

    Android插件原理之Activity插件

    前言 四大组件的插件插件技术的核心知识点,而Activity插件更是重中之重,Activity插件主要有三种实现方式,分别是反射实现、接口实现和Hook技术实现。...反射实现会对性能有所影响,主流的插件框架没有采用此方式,关于接口实现可以阅读dynamic-load-apk的源码,这里不做介绍,目前Hook技术实现是主流,因此本篇文章主要介绍Hook技术实现。...2.1 注册Activity进行占坑 为了更好的讲解启动插件Activity的原理,这里省略了插件Activity的加载逻辑,直接创建一个TargetActivity来代表已经加载进来的插件Activity...为了更好的讲解启动插件Activity的原理,本小节省略了插件Activity的加载逻辑,直接创建一个TargetActivity来代表已经加载进来的插件Activity。...更多的Android插件原理请查看即将要出版的《Android进阶之光》续作。

    1.3K50

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

    文章目录 一、插件技术弊端 二、恶意插件程序的解决方向 三、常用的插件虚拟引擎 一、插件技术弊端 ---- 在之前的 Android 应用中 , 部分黑客将应用破解 , 植入自己的恶意代码 ,...然后进行重打包 , 再上传到应用市场或其它传播渠道 ; 插件技术出现之后 , 由于可以使用 宿主软件 自动加载 APK 插件文件 , 任何 APK 安装包都可以在不安装的情况下运行 , 这样黑客自己开发一个宿主程序...是 正常使用插件技术应用的 数倍 ; 针对上述问题 , 需要使用一些技术识别 恶意 插件应用 , 并删除此类应用 ; 二、恶意插件程序的解决方向 ---- 首先 , 要先识别出使用了插件技术的应用...; 插件应用有相同的特点 : 使用了 插件 技术 的应用 , 都有相同的特点 , 当前的插件基本都是基于 Hook 的插件技术 , 这样可以零侵入代码 , 开发插件 APK 与普通 APK..., 一般不经过用户同意秘密加载插件 ( 感觉有些大厂的插件也是偷摸加载的 , 插件对用户透明 ) , 分析出恶意插件的非法加载插件的指纹特征 , 与正常使用插件技术的应用进行区分 ; 检测恶意插件应用

    93140

    插件开发】—— 1 Eclipse插件开发导盲

    在真正接触eclipse插件开发一个月后,对插件开发过程以及技术要求,也有了一定的了解。遥想之前像无头苍蝇一样乱撞乱学,真心觉得浪费了不少时间。这里就总结一下学习的主要过程以及需要的资料。   ...Eclipse作为强大的开发IDE,本身也作为一款开源软件,提供给了用户强大的扩展能力。我们可以自己开发一款插件,只要放到插件目录下,就可以使用。   ...源码   关于Eclipse插件的源码,阅读起来真心不是一般的累。因为为了迎合官方的开发模式,我们自己开发插件,往往也十分庞大。一个简单的编辑器功能,基本上都要几千行甚至上万的代码。...关于设计模式,不得不说,Eclipse插件开发里面涉及到了大量的设计模式。下面就简单的介绍下插件开发中设计模式的典型应用场景。   ...后续还会不断的更新,插件开发的小技巧以及使用等等,谢谢支持。

    4.4K91

    插件开发】—— 2 插件入门

    最近由于特殊需要,开始学习插件开发。 以前接触java也算有些时日,但是一直不知道有插件开发这样一种技术路径,本想着这开发工具都给你备好了,直接用不就行了。...但是总有些IT工厂,为了要节约成本,开发自己的开发工具,但是又要节省时间,总不能一切都自己来。毕竟开发一个eclipse也要很长时间的。因此,插件开发出现在历史舞台。...首先要了解插件开发,就得从SWT/JFACE说起了。SWT是一种开源的界面开发框架,以前学java的时候,总是用一些panel,就类似这个。JFace又是一种基于SWT的UI不见的API。...Eclipse就是用这个开发出来的,它提供了Eclipse强大的扩展性,因此可以让用户任意的插入自己想要的插件开发自己的IDE。   下面就直接弄一个简单的插件吧! ?...ID 是插件的标识 version 是插件的版本 Name是插件的名字 Provider是开发者的信息 下面的Activator,是插件的激活类,用来管理插件的生命周期。

    2.4K90

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

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

    39210

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

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

    1K20

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

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

    60410

    插件思维

    我认为插件思维是一种极客精神,而且大量可拓展、需要协同开发的程序都离不开插件机制支撑。 没有插件,核心库的代码会变得冗余,功能耦合越来越严重,最后导致维护困难。...2.1.2 事件插件 顾名思义,通过事件的方式提供插件开发的能力。...2.4.1 前后端框架 如果你要做一个前/后端开发框架,插件是必然,比如 react 的生命周期,koa 的中间件,甚至业务代码用到的 request 处理,都是插件的体现。...插件机制良好的项目开发,和 git 功能分支开发的体验有相似之处,git 给每个功能或需求开一个分支,而插件可以让每个功能作为一个插件,而 git 功能分支之间是无关联的,所以只有功能之间正交的需求才能开多个分支...3 总结 现在还没有找到对插件系统思考的文章,所以这一篇算是抛砖引玉,大家一定有更多的框架开发心得值得分享。

    1.5K20

    fastadmin插件开发插件目录

    上一篇文章写了点关于插件开发的东西,这一次打算就插件目录,以及各自的作用做一个补充说明.凡事几天不用,隔几天再看似乎倍感亲切....上一篇文章Fastadmin开发插件开发 里说我们可以直接通过命令行的方式生成一个插件目录.但是这个目录是一个残缺的目录. ?...这是一个插件名称为mydemo的插件.如果你的插件包含数据库.你需要添加一个install.sql的文件.这个数据库文件会在安装插件的时候插入到你项目数据库中.需要注意的是需要添加__PREFIX__表示数据库表前缀...//此文件为插件JS启动文件 ├── LICENSE //版权文件 ├── config.php //插件配置文件,我们在后台插件管理中点配置按钮时配置的文件,必需存在 ├─...─ info.ini //插件信息文件,用于保存插件基本信息,插件开启状态等,必需存在 └── install.sql //插件数据库安装文件,此文件仅在插件安装时会进行导入

    2.2K20

    Chrome 插件开发

    这些行为其实完全可以被视作重复劳动,有机会被脚本或者插件的自动行为取代。iMacro 或者 Greasemonkey 都是做这件事的好工具,今天下午有时间,要不干脆写一个 Chrome 插件吧。...我不在这里说太多,推荐大家去浏览一下,即便不做插件开发这件事情,过一下文档也是有收获的。...在完成以后,”Pack extension” 可以把插件打包。 浏览器中的大部分可见元素,插件都可以定义行为和操作,比如书签、tab、window、cookie、history、event、菜单等等。...所有这一切,都在一个叫做 chrome 的插件代码全局可见的对象中。...值得一提的是,还有一组特殊的 API 被称作 NPAPI,它甚至可以让插件调用编译好的 dll 文件,也可以与页面嵌入的 embed 对象通信,这就可以让浏览器根据插件来处理未知 embed 对象了。

    1.1K20
    领券