发布信息

持续集成平台的iOS代码加固方法及装置与流程

作者:admin      2022-07-30 07:09:22     915



计算;推算;计数设备的制造及其应用技术持续集成平台的ios代码加固方法及装置技术领域1.本发明涉及云计算技术领域,尤其涉及一种持续集成平台的ios代码加固方法及装置。背景技术:2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。3.目前有些持续集成平台无法高效直观地对ios代码执行加固操作。现有方案是通过配置shell脚本的方式完成配置,也就是通过命令行完成配置。目前shell脚本方案的缺点有:不直观,命令行使人难以理解,用户可能不是开发人员,阅读命令有困难;配置方式对用户有一定要求,不懂ios加固命令的用户无法使用。技术实现要素:4.本发明实施例提供一种持续集成平台的ios代码加固方法,用以使得用户无需学习ios加固命令,即可通过添加插件设置参数直观高效地完成持续集成平台的ios代码加固,该方法包括:5.获取用户在持续集成平台通过可视化界面输入的插件设置参数;所述插件设置参数包括:加固命令路径和加固生成文件路径;6.根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令;所述加固命令路径用于寻找加固命令的所在位置,所述加固生成文件路径用于存放加固好的代码文件;7.执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。8.本发明实施例还提供一种持续集成平台的ios代码加固装置,用以使得用户无需学习ios加固命令,即可通过添加插件设置参数直观高效地完成持续集成平台的ios代码加固,该装置包括:9.获取单元,用于获取用户在持续集成平台通过可视化界面输入的插件设置参数;所述插件设置参数包括:加固命令路径和加固生成文件路径;10.拼接单元,用于根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令;所述加固命令路径用于寻找加固命令的所在位置,所述加固生成文件路径用于存放加固好的代码文件;11.加固单元,用于执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。12.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述持续集成平台的ios代码加固方法。13.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述持续集成平台的ios代码加固方法。14.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述持续集成平台的ios代码加固方法。15.本发明实施例中,持续集成平台的ios代码加固方案,与现有技术中用户通过配置shell脚本的方式完成配置非常困难的技术方案相比,通过:获取用户在持续集成平台通过可视化界面输入的插件设置参数;所述插件设置参数包括:加固命令路径和加固生成文件路径;根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令;所述加固命令路径用于寻找加固命令的所在位置,所述加固生成文件路径用于存放加固好的代码文件;执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件,可以使得用户无需学习ios加固命令,即可通过添加插件设置参数直观高效地完成持续集成平台的ios代码加固,提高了用户体验。附图说明16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:17.图1为本发明实施例中持续集成平台的ios代码加固方法的流程示意图;18.图2为本发明实施例中执行加固命令的流程示意图;19.图3为本发明实施例中代码加固插件(装置)部署示意图;20.图4为本发明实施例中持续集成平台的ios代码加固装置的结构示意图;21.图5为本发明另一实施例中持续集成平台的ios代码加固装置的结构示意图。具体实施方式22.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。23.考虑到现有技术存在的技术问题,本发明实施例提出一种持续集成平台的ios代码加固方案,该方案通过开发持续集成平台插件(如下面实施例所述的持续集成平台的ios代码加固装置),封装ios加固命令,提供给用户可视化界面配置,并提供执行ios加固(加固:对代码进行混淆,使代码更加安全,防止被逆向)的能力。下面对该持续集成平台的ios代码加固方案进行详细介绍。24.图1为本发明实施例中持续集成平台的ios代码加固方法的流程示意图,如图1所示,该方法包括如下步骤:25.步骤101:获取用户在持续集成平台通过可视化界面输入的插件设置参数;所述插件设置参数包括:加固命令路径和加固生成文件路径;26.步骤102:根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令;所述加固命令路径用于寻找加固命令的所在位置,所述加固生成文件路径用于存放加固好的代码文件;27.步骤103:执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。28.本发明实施例提供的持续集成平台的ios代码加固方法,工作时:获取用户在持续集成平台通过可视化界面输入的插件设置参数;所述插件设置参数包括:加固命令路径和加固生成文件路径;根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令;所述加固命令路径用于寻找加固命令的所在位置,所述加固生成文件路径用于存放加固好的代码文件;执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。29.与现有技术中用户通过配置shell脚本的方式完成配置非常困难的技术方案相比,本发明实施例提供的持续集成平台的ios代码加固方法可以使得用户无需学习ios加固命令,即可通过添加插件设置参数直观高效地完成持续集成平台的ios代码加固,提高了用户体验。下面对该持续集成平台的ios代码加固方法进行详细介绍。30.首先,介绍预先准备的步骤。31.具体实施时,搭建持续集成平台的插件开发框架;开发前端界面输入框,提供一些参数的设置项,包括命令的工作目录、加固命令路径、目标工程文件路径和加固生成文件的路径,其中工作目录和目标工程文件路径参数为选填。加固命令路径和加固生成文件路径(加固命令路径的作用:用来寻找加固命令的所在位置,确定位置后才可执行加固命令;加固生成文件路径的作用:加固命令执行后,会生成加固完成的文件,加固好的文件的存放位置需要指出,即通过该路径配置指出)为必填。将插件(本发明实施例提供的持续集成平台的ios代码加固方法)打包成zip压缩包在持续集成平台安装部署,即在一个实施例中,如图3所示,所述持续集成平台的ios代码加固方法(或装置或插件)可以以zip压缩包的形式安装部署在持续集成平台。32.其次,介绍上述步骤101至步骤103。33.具体实施时,从界面获取用户输入的各项参数,参数获取模块(下文的获取单元):提供输入框供用户配置参数。34.具体实施时,将参数转存为后台变量(用户在前端配置页面输入参数后,插件会取到这些参数值,将命令与参数值进行拼接,构造出后台执行的命令,参数值即后台变量(后台命令执行需要的变量)),在该步骤101中:将用户输入的参数值(比如工作目录参数值:cbsp-app_ios/cbsp_oc_demo,再比如加固命令路径参数值:/users/boc/.securityengine/resources/bitcodeshield/bin/xcbc/run.sh)加工存储(如果上面的参数中左右两边存在空格,即(空格)(空格)cbsp-app_ios/cbsp_oc_demo(空格)(空格),加工时会去掉空格,去掉后就成为cbsp-app_ios/cbsp_oc_demo,再将这个值存储在变量workspace中,其他参数值使用类似方式处理,但是会存储在其他对应名称的变量中),该ios代码加固方法还可以包括:去掉输入内容两端空格;对用户输入的参数进行校验(如加固命令路径和加固生成文件路径参数为必填项,会校验参数值是否为空),选填参数未填写的,在代码目录(加固命令执行路径是加固命令自身存放的位置,加固命令需要在代码目录中执行,加固命令执行后会生成加固后的文件)进行扫描,使用扫描到的路径进行参数(目标工程文件路径,代码目录也就是目标工程文件路径)设置;加固方式根据不同版本分为新版和旧版,要根据用户选择的不同版本来设置不同类型的参数(例如:新版:new/bitcodeshield.sh-wxxx/workspace-a kj.xarchive-nosdk;旧版:old/bitcodeshield.sh guider_v3-i data.xml-uaccount-p password),即在一个实施例中,所述插件设置参数还开业包括:新旧版本类型;根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令,可以包括:根据加固命令路径、加固生成文件路径和新旧版本类型拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令,即在上述步骤102中,用参数拼接构造加固命令,需要按照不同的版本来构造不同的加固命令(页面会有单选配置项,选择为旧版本,则使用旧版本格式拼接命令,若选择为新版本,则使用新版本格式拼接命令),灵活、方便。35.具体实施时,拼接加固命令,步骤103可以通过一个加固命令模块(下文的加固单元)来实现,该加固单元负责在工作目录执行加固命令。在工作目录下执行拼接好的命令,进行加固。36.在一个实施例中,所述插件设置参数还可以包括:目标工程文件路径;37.根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令,包括:根据加固命令路径、加固生成文件路径和目标工程文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令。38.具体实施时,综合考虑目标工程文件路径这一参数,便于更加快速地找到加固命令的位置,进而提高了ios代码加固的效率。39.下面介绍两种执行加固命令的方法。40.第一种,在一个实施例中,所述插件设置参数还可以包括:工作目录;41.执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件,包括:在所述工作目录下执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。42.具体实施时,在获取用户在持续集成平台通过可视化界面输入的插件设置参数时,用户输入了工作目录的插件设置参数时,在执行步骤103时,在所述用户输入的工作目录下执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。43.第二种,在一个实施例中,如图2所示,执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件,可以包括:44.步骤1031:从所述加固生成文件路径中提取出工作目录;45.步骤1032:在提取出的工作目录下执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。46.具体实施时,在获取用户在持续集成平台通过可视化界面输入的插件设置参数时,用户没有输入工作目录的插件设置参数时,在执行步骤103时,从所述加固生成文件路径中提取出工作目录,在提取出的工作目录下执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。47.因此,可以通过上述两种方式灵活地完成执行加固命令,进而实现了灵活的ios代码加固。48.为了便于理解本发明如何实施,下面举个例子进行说明。49.本发明实施例提供的持续集成平台的ios代码加固方法主要包括以下步骤:50.1.获取用户的目标代码。51.2.获取用户配置相关参数。52.3.加工并设置获取的各参数。53.4.根据参数拼接加固命令。54.5.在工作目录下执行加固命令。55.为了便于理解本发明如何实施,下面针对上述步骤,举一例子进行说明。56.比如加固银行手机app的过程:57.1)先获取到该app的代码。58.2)获取用户配置的新旧版本选项(新版本)、工作目录(/reinforce/workspace)、加固命令路径(/new/bitcodeshield.sh)、目标工程文件路径(/bocapp/src)和加固生成文件(/reinforce/workspace/inforced)的路径。59.3)删除掉用户配置参数值中的前后空格,即在一个实施例中,上述持续集成平台的ios代码加固方法还可以包括:删除插件设置参数两端的空格,得到预处理后的加固命令路径和加固生成文件路径;根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令,包括:根据预处理后的加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令,进行预处理后再拼接加固命令,进一步提高了ios代码加固的效率和准确率。60.4)拼接加固命令:/new/bitcodeshield.sh-w/bocapp/src-a/reinforce/workspace/inforced/bocapp.xarchive-nosdk。61.5)在/reinforce/workspace执行上述拼接的命令。62.另外,ios代码加固与其他类型代码加固的工具不同,也就是加固命令不同,如果有其他代码的加固工具,那么就可以进行其他类型代码的加固。63.综上,本发明实施例提供的持续集成平台的ios代码加固方法将命令封装为插件,并提供可视化配置方式,用户可通过添加插件进行配置,没有任何学习成本,且直观。主要优点包括:降低用户学习成本:用户无需学习ios加固命令,即可通过阅读提示信息使用;提高用户配置效率:用户通过添加插件设置参数即可完成配置,比写shell脚本要直观,高效。64.本发明实施例中还提供了一种持续集成平台的ios代码加固装置,如下面的实施例所述。由于该装置解决问题的原理与持续集成平台的ios代码加固方法相似,因此该装置的实施可以参见持续集成平台的ios代码加固方法的实施,重复之处不再赘述。65.图4为本发明实施例中持续集成平台的ios代码加固装置(插件)的结构示意图,如图4所示,该装置包括:66.获取单元01,用于获取用户在持续集成平台通过可视化界面输入的插件设置参数;所述插件设置参数包括:加固命令路径和加固生成文件路径;67.拼接单元03,用于根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令;所述加固命令路径用于寻找加固命令的所在位置,所述加固生成文件路径用于存放加固好的代码文件;68.加固单元05,用于执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。69.在一个实施例中,所述插件设置参数还可以包括:工作目录;70.所述加固单元具体可以用于:在所述工作目录下执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。71.在一个实施例中,所述加固单元具体可以用于:72.从所述加固生成文件路径中提取出工作目录;73.在提取出的工作目录下执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件。74.在一个实施例中,所述插件设置参数还可以包括:新旧版本类型;75.所述拼接单元具体可以用于:根据加固命令路径、加固生成文件路径和新旧版本类型拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令。76.在一个实施例中,所述插件设置参数还可以包括:目标工程文件路径;77.所述拼接单元具体可以用于:根据加固命令路径、加固生成文件路径和目标工程文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令。78.在一个实施例中,如图5所示,上述持续集成平台的ios代码加固装置还可以包括:预处理单元02,用于删除插件设置参数两端的空格,得到预处理后的加固命令路径和加固生成文件路径;79.所述拼接单元具体可以用于:根据预处理后的加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令。80.在一个实施例中,所述ios代码加固装置可以以压缩包的形式安装部署在持续集成平台。81.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述持续集成平台的ios代码加固方法。82.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述持续集成平台的ios代码加固方法。83.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述持续集成平台的ios代码加固方法。84.本发明实施例中,持续集成平台的ios代码加固方案,与现有技术中用户通过配置shell脚本的方式完成配置非常困难的技术方案相比,通过:获取用户在持续集成平台通过可视化界面输入的插件设置参数;所述插件设置参数包括:加固命令路径和加固生成文件路径;根据加固命令路径和加固生成文件路径拼接加固命令,得到拼接好的持续集成平台的ios代码加固命令;所述加固命令路径用于寻找加固命令的所在位置,所述加固生成文件路径用于存放加固好的代码文件;执行所述拼接好的持续集成平台的ios代码加固命令,得到加固好的代码文件,可以使得用户无需学习ios加固命令,即可通过添加插件设置参数直观高效地完成持续集成平台的ios代码加固,提高了用户体验。85.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。86.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。87.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。88.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。89.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部