原作时间:2019~2021年

此次共享,腾讯内网 / 外网同步发布。

内部代码地址:https://git.code.oa.com/fatboyli/QBDF

外部代码地址:GitHub - ventureli/QBDF

两年前的一个混淆包(无源码):GitHub - ventureli/VLOCInterpreter

作者:腾讯fatboyli(李文强)

回想起来从写QBDF第一行代码到现在已经两年半了,QBDF已经平稳的在线运行连年都没有被查到,之前因为内部有几款同类商品一直在用,怕苹果盯上,像针对JSPatch那样符号化匹配屏蔽,所以一直没有开源。两年多过去了,咨询了当初的项目组。这个热修复框架已经内部不再使用了,可以拿来分享给大家。本系列博客一共分以下几个部分。

QBDF有以下特点:

• QBDF 兼容编译类型和运行类型错误,不会造成crash

• 不通过javascript做桥接的动态框架,包含虚拟机和解释器

• QBDF 兼容OC语法.

• QBDF-VM 运行速度比WAX高167%

• QBDF 支持 “block”, “super”, “property” , “SEL” , “dispatch_xx” 等OC语法特征 ...

• QBDF 也支持c 内存操作,比如“malloc”, “free”, “a[1]” ,“&a”, “*p”...

• QBDF 利用内存对齐策略可以进行Struct结构体自定义或者和OC内部进行结构体赋值

• 体验网址:https://github.com/ventureli/VLOCInterpreter

本系列包含主要两大部分QBDF解释器+QBDF虚拟机的部分。主要目录如下

QQ浏览器HD的动态热修复方案的前世今生(1)

QBDF的总体架构设计(2)

QBDF解释器-词法分析(3)

QBDF解释器-从C89设计简化的OC BNF范式(4)

QBDF解释器-词法分析(编译原理)(5)

QBDF解释器-语法至导翻译与递归子程序设计(编译原理)(6)

QBDF解释器-中间代码指令设计与生成(7)

QBDF解释器-WHILE-FOR语法糖指令翻译与回填方案(8)

QBDF解释器-云解释器设计(9)

QBDFVM-总体设计(10)

QBDFVM-Context/符号表设计(11)

QBDFVM-12条指令的翻译(12)

QBDFVM-多线程与BLOCK设计(13)

QBDFVM-基于内存交换的STRUCT设计(14)

QBDFVM-BLOCK内存难点解决(15)

QBDFVM-Super继承链的解决(16)

QBDFVM-其他难点与解决方案(17)

-------------------------------------

QBDFVM-不足与未来可扩展方向(18)

QQ浏览器HD iOS 动态化/热修复方案QBDF(0) 【简书被冻结-搬运】相关推荐

  1. QQ浏览器HD iOS 动态化/热修复方案QBDF解释器-从C89简化的BNF范式(4)【简书被冻结-搬运】

    原作:2019-2021年 此次共享,腾讯内网 / 外网同步发布. 内部代码地址:https://git.code.oa.com/fatboyli/QBDF 外部代码地址:GitHub - ventu ...

  2. QQ浏览器HD iOS 动态化/热修复方案QBDF解释器-词法分析(3)【简书被冻结-搬运】

    此次共享,腾讯内网 / 外网同步发布. 内部代码地址:https://git.code.oa.com/fatboyli/QBDF 外部代码地址:GitHub - ventureli/QBDF 两年前的 ...

  3. QQ浏览器HD iOS 动态化/热修复方案QBDF解释器-语法制导翻译与递归子程序设计(编译原理)(5)简书被冻结-搬运】

    原作时间:2019-2021年 此次共享,腾讯内网 / 外网同步发布. 内部代码地址:https://git.code.oa.com/fatboyli/QBDF 外部代码地址:GitHub - ven ...

  4. QQ浏览器HD的动态化方案QBDF的总体架构设计(2)【简书被冻结-搬运】

    原作时间:2019-2021年 此次共享,腾讯内网 / 外网同步发布. 内部代码地址:https://git.code.oa.com/fatboyli/QBDF 外部代码地址:GitHub - ven ...

  5. QQ浏览器HD的动态化方案QBDF的前世今生(1)【简书被冻结-搬运】

    原作时间:2019-2021年 此次共享,腾讯内网 / 外网同步发布. 内部代码地址:https://git.code.oa.com/fatboyli/QBDF 外部代码地址:GitHub - ven ...

  6. Android 热修复方案Tinker(五) SO补丁加载

    基于Tinker V1.7.5 Android 热修复方案Tinker(一) Application改造 Android 热修复方案Tinker(二) 补丁加载流程 Android 热修复方案Tink ...

  7. android热修复方案

    热补丁方案有很多,其中比较出名的有腾讯Tinker.阿里的AndFix.美团的Robust以及QZone的超级补丁方案.他们的优劣如下: 一.Tinker 热修复 Tinker通过 Dexdiff 算 ...

  8. bat比较有意思的代码_腾讯开源的 Unity全系列 代码逻辑热修复方案--InjectFix

    InjectFix 腾讯开源的 Unity 代码逻辑热修复方案 Unity代码逻辑热修复 可用于Unity业务的bug修复,支持Unity全系列,全平台. 几个亮点 直接在Unity工程上修改C#即可 ...

  9. JAndFix: 基于Java实现的Android实时热修复方案

    简述 JAndFix是一种基于Java实现的Android实时热修复方案,它并不需要重新启动就能生效.JAndFix是在AndFix的基础上改进实现,AndFix主要是通过jni实现对method(A ...

最新文章

  1. time.h中的相关计时函数time,localtime,clock等详解
  2. UBUNTU adb连接android设备
  3. 【深度学习】眼底图像的视杯和视盘分割解析
  4. VSTO为Excel快捷菜单添加项
  5. 深度学总结:Image Style Transfer pytorch方式实现,这个是非基于autoencoder和domain adversrial方式
  6. ZigBee网络数据传递流程_蓝牙、Wifi与ZigBee三种,这三种无线传输技术,谁能一统天下...
  7. 推荐系统知识梳理——GBDTLR
  8. Go工程化 - 手摸手带你理解依赖注入
  9. php7 memcached sasl,Mac安装memcached扩展支持sasl
  10. 【英宝通Unity4.0公开课学习 】(六)76讲到90讲
  11. [超详细] Apache网页优化:网页压缩与网页缓存超详细
  12. c++实现双向链表的常用功能
  13. gdb调试daemon程序
  14. php库函数是什么,PHP常用库函数
  15. SSD选购扫盲指南M.2接口硬盘选择:NVMe于sata3
  16. 微型计算机结构五大,微型计算机的体系结构
  17. Matlab入门教程 | 001 球的体积问题
  18. 页面设计如何进行颜色搭配
  19. 京东店铺所有商品API接口(整店商品查询API接口),京东店铺商品API接口
  20. 一文说明白ECDSA spec256k1 spec256r1 EdDSA ed25519千丝万缕的关系

热门文章

  1. 走进tensorflow第十步——手写数字识别中的input_data模块
  2. win10+uefi+gpt安装一键GHOST之后无法重启的快速解决方法(无需重装系统无需修复引导)
  3. 双目相机stereo-vision
  4. sql数据库入门(1)
  5. 药品追溯体系建设方案
  6. 图灵访谈之三十二:我的精神家园——陈皓专访
  7. maven项目打jar包,将配置文件一并打入包中
  8. stringByAppendingString和stringByAppendingPathComponent
  9. a1a2b1b2c1c2语言级别区分,在留学前你的意大利语必须要达到什么等级,A1A2B1B2C1C2等级说明...
  10. 如何搭建量化投资研究系统之三(工具篇quantstrat)