草庐IT

4Framework

全部标签

制作framework

制作自己的framework的方法1.新建一个framework截屏2022-05-3117.14.12.png2.设置属性1.Mach-OType设置为StaticLibrary截屏2022-05-3117.19.28.png2.OtherLinkerFlags设置为-ObjC截屏2022-05-3117.21.27.png3.BuildActiveArchiteTureOnly设置为NO截屏2022-05-3117.22.54.png3.别人需要引用的头文件,需要设置为public截屏2022-05-3117.24.59.png.h文件中也需要引用public的头文件截屏2022-05-3

Spring Framework CVE-2022-22965漏洞详细分析

一.漏洞利用条件jdk9+Spring及其衍生框架使用tomcat部署spring项目使用了POJO参数绑定SpringFramework5.3.X二.漏洞分析一开始复现这个漏洞的时候,听其他师傅说是一个老漏洞CVE-2010-1266的绕过,之前也没调试过这个漏洞,看了些分析文章后,大概明白是对Spring中的bean的漏洞利用,通过APIIntrospector.getBeanInfo可以获取到POJO的基类Object.class的属性class,进一步可以获取到Class.class的其他属性,其中就包括了classloader,再利用获取到的属性构造利用链,这次爆出来的漏洞既然是绕过

Spring Framework CVE-2022-22965漏洞详细分析

一.漏洞利用条件jdk9+Spring及其衍生框架使用tomcat部署spring项目使用了POJO参数绑定SpringFramework5.3.X二.漏洞分析一开始复现这个漏洞的时候,听其他师傅说是一个老漏洞CVE-2010-1266的绕过,之前也没调试过这个漏洞,看了些分析文章后,大概明白是对Spring中的bean的漏洞利用,通过APIIntrospector.getBeanInfo可以获取到POJO的基类Object.class的属性class,进一步可以获取到Class.class的其他属性,其中就包括了classloader,再利用获取到的属性构造利用链,这次爆出来的漏洞既然是绕过

打包子工程为framework嵌入的另一个工程

首先创建framework工程:image.pngimage.png如果有pod依赖,把podfile文件复制到该工程目录,podinstall一下打开工程,将子工程添加到新建的工程中image.png然后调整如下配置:pch文件image.png改为静态库:image.png添加armv7s:image.pngBuildActiveArchitectureOnly修改为NO,yes表示的静态库就只支持当前选择设备的架构image.png删除AppDelegate文件:image.png如果项目中有swift混编,设置一下swift版本image.png如果有混编,要改一下引入的地方:oc调用

打包子工程为framework嵌入的另一个工程

首先创建framework工程:image.pngimage.png如果有pod依赖,把podfile文件复制到该工程目录,podinstall一下打开工程,将子工程添加到新建的工程中image.png然后调整如下配置:pch文件image.png改为静态库:image.png添加armv7s:image.pngBuildActiveArchitectureOnly修改为NO,yes表示的静态库就只支持当前选择设备的架构image.png删除AppDelegate文件:image.png如果项目中有swift混编,设置一下swift版本image.png如果有混编,要改一下引入的地方:oc调用

iOS-制作frameworkDemo工程(framework开发打包和调试)

一、创建工程1.先创建一个文件夹,名字SPSDK(自己根据自己需求起名)iShot_2022-07-24_19.17.11.png2.创建workspaceiShot_2022-07-24_19.17.58.png保存到之前创建的文件夹iShot_2022-07-24_19.19.50.png创建好是这样的iShot_2022-07-24_23.56.15.png这个workspace是为了管理framework和调试framework的demo3.创建framework工程iShot_2022-07-24_19.21.34.png选择frameworkiShot_2022-07-24_19.

iOS-制作frameworkDemo工程(framework开发打包和调试)

一、创建工程1.先创建一个文件夹,名字SPSDK(自己根据自己需求起名)iShot_2022-07-24_19.17.11.png2.创建workspaceiShot_2022-07-24_19.17.58.png保存到之前创建的文件夹iShot_2022-07-24_19.19.50.png创建好是这样的iShot_2022-07-24_23.56.15.png这个workspace是为了管理framework和调试framework的demo3.创建framework工程iShot_2022-07-24_19.21.34.png选择frameworkiShot_2022-07-24_19.

framework swift C C++ 混编

最近在写一个swift的framework时遇到一个问题。在此做个记录,方便自己也方便他人。问题描述:swiftframework中有用到一个C++的算法,因为swift不能直接调用C++,只能通过C或者OC桥接调用。在纯swift项目中,在桥接文件中直接包含C或者OC头文件,即可混编。可是在framework中不可以使用桥接头文件,只能使用modulemap代替桥接头文件。具体步骤:1.导入C++文件到framework中2.编写swift与C++的桥接C函数因为swift不能直接调用C++,只能通过C或者OC桥接调用。在此我们选用C作为桥接。image.png#ifndefSPLineEx

framework swift C C++ 混编

最近在写一个swift的framework时遇到一个问题。在此做个记录,方便自己也方便他人。问题描述:swiftframework中有用到一个C++的算法,因为swift不能直接调用C++,只能通过C或者OC桥接调用。在纯swift项目中,在桥接文件中直接包含C或者OC头文件,即可混编。可是在framework中不可以使用桥接头文件,只能使用modulemap代替桥接头文件。具体步骤:1.导入C++文件到framework中2.编写swift与C++的桥接C函数因为swift不能直接调用C++,只能通过C或者OC桥接调用。在此我们选用C作为桥接。image.png#ifndefSPLineEx

Android Framework 添加新的 系统服务

基于上一篇对AMS的类图结构的学习,AMS类图结构想自己添加一个新的系统服务,看看是否能实现,加深理解及学以致用。于是有了下文。开发环境:AndroidSDK31(Android12平台)AndroidStudioversion2020.3.1Gradle依赖6.8.3一、总体涉及修改的文件:1.新增的服务(1)服务AIDL文件,定义服务的接口:frameworks/base/core/java/android/app/IDemoManager.aidl(2)服务管理类,提供给客户端调用,以访问服务端的接口(即持有服务端的引用,Binder引用)frameworks/base/core/jav