首页文章正文

jspatch,jspatch原理

jspatch添加新方法 2023-12-25 12:12 185 墨鱼
jspatch添加新方法

jspatch,jspatch原理

所以JSPatch 的原理就是:JS传递字符串给OC,OC通过Runtime 接口调用和替换OC方法。这是最基础的原理,实际实现过程还有很多怪要打,接下来看看具体是怎样实现的在没有JSPatch之前,可能有人会使用过JSCocoa。但是有着一系列复杂问题,比如源码已经多年没有维护,代码规模巨大,不支持ARM64。如果想使用还需要升级libffi,并且尝试兼容ARM64,想编

我把这一套安全方案做成一个组件,叫JPLoader,也开源在JSPatch 项目上(https://github/bang590/JSPatch/tree/master/Loader), 需要部署JSPatch 的同学可以直接使用这套组件,解从github上下者JSPatch文件,将整个JSPatch文件夹拷贝到项目中,导入JPEngine.h,调用[JPEngine startEngine]开启JSPatch引擎,通过[JPEngine evaluateScript:@"

?ω? JSPatch能做到通过JS调用和改写OC方法最根本的原因是Objective-C是动态语言,OC上所有方法的调用/类的生成都通过Objective-C Runtime在运行时进行,我们可以通过类名/方法名反射得到Runtime- JSPatch内部是通过Runtime来动态修改添加方法的,涉及到了很多很多的runtime的知识。所以你还是需要了解一些runtime的知识。推荐阅读Objective-C Runt

JSPatch诞生于2015年5月,最初是腾讯广研高级iOS开发@bang的个人项目。它能够使用JavaScript调用Objective-C的原生接口,从而动态植入代码来替换旧代码,以实现修复线上bug。JSPatch不过原理基本都是对JSPatch 进行混淆后使用,当然如果你有能力自己实现一个JSPatch 也可以。被拒苹果的拒绝理由大概是这样的:【图一】目前我了解到市面上主要通过以下几种方式进行混淆(如果对这

后台-插件-广告管理-内容页尾部广告(手机)

标签: jspatch原理

发表评论

评论列表

蓝灯加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号