CN108845805B - 一种软件连接的方法 - Google Patents
一种软件连接的方法 Download PDFInfo
- Publication number
- CN108845805B CN108845805B CN201810656034.4A CN201810656034A CN108845805B CN 108845805 B CN108845805 B CN 108845805B CN 201810656034 A CN201810656034 A CN 201810656034A CN 108845805 B CN108845805 B CN 108845805B
- Authority
- CN
- China
- Prior art keywords
- software
- target
- additional
- module
- tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉软件领域,特别是涉及一种软件连接的方法。其特征是:将至少两个已有的独立软件重新编译为一个新软件,编译过程中新建运行指令集,所述运行指令集制约所述两个独立软件的运行关系,至少是一个软件授权另一个软件的运行,或一个软件的运行依赖于另一个软件的运行,新软件只有一个启动按钮,其步骤包括:(1)提取附加软件启动项,写入运行指令集;(2)提取目标软件启动项,写入运行指令集;(3)将目标软件分割为若干段,并对每段编号,将编号写入运行指令集;(4)将软件分割段按一定规则打乱,并将打乱规则写入运行指令集;(5)将运行指令集和全部软件分割段编译打包,并设置启动项。实现附加软件和目标软件两个软件的运行效果。
Description
本发明专利申请是分案申请。原案的申请号是:2012102209879;申请日是:20120629;发明名称是:“一种软件连接的方法及工具软件”。
技术领域
本发明涉软件领域,特别是涉及一种软件连接的方法。
背景技术
软件一般是指能完成某一功能的程序,所述程序在某一环境或平台运行,一般一种功能的软件是单独运行的,而且功能不同的软件可能分属不同的开发者,而且开发者相互不熟悉对方的开发技术,有时需要至少2个不同的软件必须同时或先后运行,例如某一功能软件是用户需要的目的软件,而使用过程中需要采用即时通讯软件沟通服务,最佳方案是让这两个软件同时运行,而且即时通讯软件运行是目的软件运行的必要条件,这样可以保证目的软件使用者的在线状态,技术上可以绑定这两个软件,或者说采用适当技术连接这两个软件,或提供一个工具软件将这两个软件连接打包到一起;又如:目的软件可以和广告显示软件连接打包;目的软件和推荐推广软件连接打包;等等,需要这种模式的情况是很多的。由于不同的软件一般分属不同的开发者,所以连接的技术方案是通过外壳技术实现,即不必涉及对方的开发技术,不涉及对方的源代码,仅对软件的外壳进行进行连接处理。现有技术的打包软件可以将一个或数个软件的组件打包到一起,但不能实现数个软件之间的相互制约运行;现有的外壳加密技术是用工具软件对目标软件进行外壳加密(俗称"包壳"),即不涉及目标软件的编程代码解释,目标软件经过加密后需要解密过程或配合加密锁才能运行,加密锁是一种内部保存解密程序的的硬件,用加密锁内的解密程序配合被包壳的目标软件就可以正常运行,没有加密锁被包壳的目标软件就不能运行,这样就保护了目标软件不被非法使用,加密锁保护的是目标软件,不是本发明提出的连接软件的功能。本发明的目的是采用外壳处理方法,通过加密模块连接至少两个软件,并且使两个软件的运行保持制约关系,如:必须同时运行或先后运行。用户使用的目的软件即本发明连接生成工具软件要处理的目标软件,生成的软件即打包软件,打包软件在结构上是自解密包的结构,可执行部分是解密代码,包壳部分是被加密的程序。
发明内容
名词解释:
加密生成模块:采用编译器将软件进行外壳处理即包壳,形成可执行代码和被包壳软件;所述编译器包含编译方法及编译参数,编译方法及编译参数对于被包壳的软件使用者是不显现的,即使不增加额外的加密措施也有加密意义,当然不排除额外加密措施,如加密算法、口令验证等。
加密模块:由加密生成模块生成的可执行代码和至少两个被包壳软件,两个被包壳软件的运行权及运行方式由可执行代码控制。本发明加密模块在论述中可以理解为加密连接关系。
本发明的目的是提供一种软件连接的方法及工具软件,软件包括PC软件和移动终端软件,本发明的技术方案是:
一种软件连接的方法及工具软件,其特征是:有一工具软件,所述工具软件将至少两个已有的独立软件重新编译为一个新软件,编译过程中新建运行指令集,所述运行指令集制约所述两个独立软件的运行关系,至少是一个软件授权另一个软件的运行,或一个软件的运行依赖于另一个软件的运行,新软件只有一个启动按钮。
一种软件连接的方法及工具软件,其特征是:有加密模块,所述加密模块连接至少两个软件,一个软件的运行至少依赖于另一个软件的运行,至少一个软件的运行依赖于加密模块。
所述的一种软件连接的方法及工具软件,其特征是:加密模块是网络加密方式,即SaaS模式。
所述的一种软件连接的方法及工具软件,其特征是:有一工具软件,所述工具软件包含加密生成模块,所述工具软件包含至少一个需连接的软件即附加软件,所述工具软件将附加软件和至少另一个软件即目标软件通过打包操作生成一打包软件,同时,在生成过程中,工具软件将加密模块嵌入打包软件,所述工具软件将目标软件生成具有附加软件功能的软件即打包软件,所述打包软件由用户运行后同时或先后获得打包软件中附加软件和目标软件两个软件的运行效果。
所述的一种软件连接的方法及工具软件,其特征是:工具软件有用户交互界面,用于用户进行打包操作时输入所需信息。
所述的一种软件连接的方法及工具软件,其特征是:工具软件将需连接的软件和另一个软件通过打包操作生成打包软件,需连接的软件是附加软件,另一软件是目标软件,工具软件将目标软件生成具有附加软件功能的软件即附加功能打包软件。
所述的一种软件连接的方法及工具软件,其特征是:附加软件是推荐模块,工具软件包含推荐模块,所述工具软件将目标软件生成具有推荐功能的软件即推荐功能打包软件。
所述的一种软件连接的方法及工具软件,其特征是:附加软件是广告嵌入模块,工具软件包含广告嵌入模块,所述工具软件将目标软件生成具有广告功能的软件即广告功能打包软件。
所述的一种软件连接的方法及工具软件,其特征是:附加软件是即时通讯软件,工具软件包含即时通讯软件,所述工具软件将目标软件生成具有即时通讯功能的软件即即时通讯功能打包软件。
所述的一种软件连接的方法及工具软件,其特征是:附加软件是即时通讯软件,目标软件是用户应用软件,应用软件的授权使用依赖于即时通讯软件。
所述的一种软件连接的方法及工具软件,其特征是:附加软件是某种功能软件,如:即时通讯软件、SNS软件、社交软件、网页、弹出窗口、动画、音视频、地理位置定位模块、支付模块、广告模块、推荐模块、授权模块等。
上述附加软件可以相互组合,形成多功能附加软件,如:即时通讯软件+支付模块;广告模块+支付模块;即时通讯软件+广告模块;即时通讯软件+授权模块等。
所述的一种软件连接的方法及工具软件,其特征是:目标软件是某种用户软件,如:客运查询软件、宾馆查询软件、手机性能优化软件、游戏软件、工程预算软件、工程量计算软件、设计软件、各种客户端软件等。
所述的一种软件连接的方法及工具软件,其步骤是:(1)建立连接生成工具软件,工具软件包含加密生成模块,工具软件有用户交互界面;(2)选择附加软件,将附加软件及组件放入工具软件工作区;(3)选择目标软件,将目标软件及组件放入工具软件的工作区;(4)运行按钮设定,即设定将要生成后的打包软件的运行按钮或快捷方式;(5)执行工具软件设定操作,将加密模块嵌入附加软件及目标软件。
或其步骤是:(1)建立连接生成工具软件,工具软件包含加密生成模块和附加软件,工具软件有用户交互界面;(2)选择目标软件,将目标软件及组件放入工具软件的工作区;(3)附加软件设置,即对附加软件将来运行的要求和参数进行设置;(4)运行按钮设定,即设定将要生成后的打包软件的运行按钮或快捷方式;(5)执行工具软件设定操作,将加密模块及附加软件嵌入目标软件。
加密生成模块包含编译器,编译步骤为:(1)提取附加软件启动项,写入运行指令集;(2)提取目标软件启动项,写入运行指令集;(3)将目标软件分割为若干段,并对每段编号,将编号写入运行指令集;(4)将软件分割段按一定规则打乱,并将打乱规则写入运行指令集;(5)将运行指令集和全部软件分割段编译打包,并设置启动项。
所述工具软件可以是客户端软件,也可以是服务器端软件,服务器端软件即采用WEB或WAP服务方式,由用户登录后使用,由网站负责生成打包程序,完成后提供给用户。
本发明所述加密模块的含义是:打包软件发行方对目标软件的运行方式进行规定,对于软件使用方来说目标软件的直接运行方式被隐藏,软件使用方不能对打包软件发行方对目标软件的运行方式的规定进行更改,或者说对原目标软件的运行权进行了加密,或者说利用加密模块对附加软件和目的软件进行绑定。
加密的方式有:a、加密生成模块由第三方提供,附加软件和目标软件统一作为组件加密打包,附加软件和目标软件启动按钮提交加密生成模块进行编程设计,或先后运行,或同时运行,或附加软件运行一定的次数后授权目标软件运行,或满足附加软件一定的条件后授权目标软件运行。b、附加软件方使用加密生成模块对目标软件进行连接,由于是附加软件方的主动连接,附加软件方可以对自己的源代码进行编程,所以可以对附加软件的运行条件进行设计,对附加软件的运行结果进行处理,处理结果控制加密模块,加密模块对目标软件进行授权运行。c、目标软件方使用加密生成模块对附加软件进行连接,由于是目标软件方的主动连接,目标软件方可以对自己的源代码进行编程,所以可以对目标软件的运行条件进行设计,目标软件的运行条件可以受制于附加软件的输出参数,例如采用即时通讯软件(作为附加软件)对自己开发的应用软件进行授权,比如应用软件使用者必须在线,而且使用者的即时通讯号必须在授权数据库中。
加密的原理有:a、对于软件开发方,可以在软件中设置加密点,对 obj 、 dll 、ActiveX 等进行调用,或直接进行加密编译成可执行文件;b、使用外壳加密工具,对需加密的软件进行统一打包加密,其特征是不涉及被加密软件编程源代码,仅对软件组成的二进制字节按一定规则打乱重组,运行时需按原规则还原,这样如果无加密模块的还原规则软件将无法运行;c、将加密模块分为加密单元和解密单元两个功能单元,加密单元嵌入目标软件,解密单元嵌入附加软件,解密单元和加密单元互相配合才能维持目标软件和附加软件的运行。
加密模块一般包含加密算法和加密因子,可以由用户制定,第三方加密模块提供者还可以提供不同的ID号和用户自设密码保护模块,以区分不同的加密模块使用方。
加密因子可以是多方保存,即SaaS模式,如中国专利公告201010577492。
本发明的有益效果是:通过加密模块使至少两个软件的运行保持制约关系,如:必须同时运行或先后运行,这样可以实现在使用目的软件时必须通过附加软件的授权,目的软件是用户所需要的软件,如附加软件是即时通讯软件,这样就可以保证和用户的沟通,同时也可以实现目的软件的一种授权方法;又如附加软件是一种通过通讯渠道推荐用户的软件,这样就可以实现用户必须要推荐其他用户才能使用目的软件;又如附加软件是一种广告模块,这样就可以实现用户必须要在显示广告的状态下才能使用目的软件。用户使用的目的软件即本发明工具软件要处理的目标软件。
附图说明
图1为本发明加密模块和各软件关系示意图。
图2为本发明打包软件加密示意图。
图3为本发明另一种加密原理示意图。
图4为本发明连接生成工具软件(第三方)打包流程图。
图5为本发明连接生成工具软件(附加软件方)打包流程图。
图6为本发明附加软件是广告模块实施方式广告模块原理图。
图7为本发明附加软件是推荐模块时目标软件通过推荐获得授权的方法程序流程图。
图8为本发明附加软件是推荐模块时推荐模块推荐用户程序流程图。
图9为本发明附加软件是推荐模块时采用推荐生成工具软件(即一种连接生成工具软件)将目标软件生成打包软件的实施方案。
图10为本发明附加软件是推荐模块时打包软件运行示意图。
图11为本发明工具软件实现的一种目标软件远程授权的实施方案。
图12为本发明附加软件是即时通讯软件的一种实施方案。
图13为本发明加密生成模块工作原理图。
图14 为本发明加密生成模块以附加软件运行结果启动目标软件的工作原理图。
图15为本发明加密生成模块仅加密目标软件的工作原理图。
具体实施方式 :
下面结合附图和实施例对本发明进一步说明。
图1为本发明加密模块和各软件关系示意图。101加密模块,负责对需连接的附加软件和目标软件进行关联加密,使目标软件的运行受到附加软件的制约,或附加软件先运行,目标软件后运行,或附加软件和目标软件同时运行;102目标软件;103是另一目标软件,目标软件的数量不受限制;104附加软件;105是另一附加软件,附加软件的数量不受限制;106运行按钮,负责启动附加软件及目标软件。
图2为本发明打包软件加密示意图。201运行按钮,负责启动打包软件;202打包模块,包括203附加软件、204加密模块、205目标软件。目标软件的运行依赖于附加软件的运行,或满足附加软件一定的运行条件后授权加密模块允许目标软件运行。
加密模块的功能是绑定附加软件和目标软件的运行关系,加密模块可以是一个概念,不真实存在,对附加软件及目标软件进行打包操作的实质是对附加软件及目标软件在功能上进行连接并整体进行重新编译,编译方法由工具软件决定,编译方法对于用户不是显现的,或者不可读的,所以理解为加密,即编译方法是一种加密方法,编译方法由编译语言组成,编译语言由指令代码组成。
图3为本发明另一种加密原理示意图。301运行按钮,负责软件启动;302附加软件;303解密单元;304加密单元;305目标软件。303解密单元和304加密单元组成加密模块306;304加密单元嵌入305目标软件形成加密目标软件307;303解密单元嵌入302附加软件中;由301运行按钮启动附加软件302,附加软件302启动加密单元303,这里启动方式有两种,或直接启动,或在满足附加软件设定条件后启动解密单元,303解密单元和304加密单元交换数据维持目标软件305的运行。
图4为本发明连接生成工具软件(第三方)打包流程图。401连接生成工具软件,即本发明所述工具软件,所述工具软件包含加密生成模块,所述工具软件为第三方提供,即附加软件和目标软件的源代码对于所述工具软件都是封闭的,不可知的,可知的仅是各自的启动按钮和输出结果,所以对附加软件的设定仅限于附加软件原有的功能。401连接生成工具软件启动后提供用户交互界面,用户交互有选择界面,402选择界面,选择界面至少包括:403添加附加软件选项,即将附加软件添加到工具软件工作目录;404添加目标软件选项,即将目标软件添加到工具软件工作目录;405运行按钮设定,即设定将要生成的打包软件的按钮图标及快捷方式;406生成打包软件,即连接生成工具软件将附加软件和目标软件进行连接并嵌入加密模块,最简单的连接指令是把附加软件的启动快捷方式及目标软件的启动快捷方式做成批处理文件,生成打包软件后由批处理文件命令启动;407提供给用户。
图5为本发明连接生成工具软件(附加软件方)打包流程图。501连接生成工具软件,即本发明所述工具软件,所述工具软件包含加密生成模块,所述工具软件为附加软件方开发,即附加软件的源代码对于所述工具软件是开放的,是可以编程的,所以对附加软件的设定可以根据所述工具软件要求编程和设置。501连接生成工具软件启动后提供用户交互界面,用户交互有选择界面,502添加目标软件,即将目标软件或组件添加到所述工具软件工作目录;503选择界面,选择界面至少包括:504附加软件设置,即可以按要求对附加软件进行设置,如执行附加软件要求的操作目标软件才能运行,或设置目标软件无条件运行的次数或时间等等;505运行按钮设定,即设定将要生成的打包软件的按钮图标及快捷方式;506生成打包软件,即连接生成工具软件将附加软件和目标软件进行连接并嵌入加密模块;507提供给用户。
图6为本发明附加软件是广告模块实施方式广告模块原理图。601为广告模块,601广告模块包括:602通讯单元,负责和广告发布系统进行数据交换与传输,或单向接收广告发布系统发来的广告数据,603存储单元,负责对广告数据进行暂存,604显示模块,负责对广告数据进行显示,显示的方式可以是静态WML页面及动态ASP页面,广告显示类型可以是:(1)文字轮播;(2)图像广告(3)Flash广告;(4)GIF广告;(5)音视频广告;(6)弹窗广告;(7)浮动广告,上述广告类型均可以通过URL链接至广告发行人指定的网页或资源,包括网站或销售平台。
602通讯单元:底层通讯基于TCP/IP协议,数据传输可以基于UDP协议。
603存储单元:广告数据的写入、读出指令,提供广告数据的暂存,另外还可以提供广告的离线显示。
604显示单元:支持静态及动态显示,支持URL链接(HyperText TransferProtocol协议)。
即:HTML代码方式呈现静态网页(htm,html),或动态网页(php,asp,asp.net,jsp),或javascript或iframe方式调用。
广告模块由目标软件所有者使用连接生成工具软件生成打包软件,即具有广告功能的目标软件。
广告模块连接生成工具软件由广告发布平台提供,或提供WEB页面在线生成方式。
广告模块至少包括显示单元,显示单元是广告不可缺少的单元,存储单元可以缺省,或将广告显示数据存储在广告模块以外的任何位置。
一种软件连接的方法及工具软件,其特征是:连接的软件或附加软件是广告模块,所述广告模块的运行决定目标软件的运行。
图7为本发明附加软件是推荐模块时目标软件通过推荐获得授权的方法程序流程图。
目前众多软件是免费的,特别是移动终端软件,本发明的目的之一就是实现免费软件作为广告界面实现盈利,免费软件作为广告界面的关键因素是要有足够多的使用人群,这里采用的方法是使用者的推荐,即软件通过推荐获得授权而免费使用,如设定推荐2人可授权,则以2的n次方增长用户,如果设定推荐3人可授权,则以3的n次方增长用户,以此类推,设定为n则以n的n次方方式增长。
在用户端,打包软件的运行及目标软件的授权步骤为:
701软件安装;702软件运行;
703授权检测,如果已授权Y,则:704软件正常运行。
703授权检测,如果未授权N,则:705推荐用户,推荐用户可以通过手机短信、微博、邮箱、即时通讯软件等;
706推荐计数,如果满足设定次数,则707授权,软件正常运行。
706推荐计数,如果未满足设定次数,则708选择,选择继续705推荐用户,或选择709试用版运行或终止,试用版可以设定为可以运行有限的次数。
设置推荐判断程序,具体方法是:设置推荐数据存储单元,新增推荐数据和存储单元中已有推荐数据进行比对,如有则不允许推荐或推荐失败。
图8为本发明附加软件是推荐模块时推荐模块推荐用户程序流程图。801推荐用户,程序执行推荐用户指令;
802选择渠道,803短信,用于手机等移动终端,804是邮件、微博、即时通讯、其它软件,可以是PC软件,也可以是手机等移动终端软件;
如果选择803短息,则执行步骤807提取并发送推荐内容,推荐内容至少包含软件下载地址及链接;
如果选择804,则执行805登录检测,如果已登录则执行807步骤,如果未登录则执行806登录步骤;
808提取返回信息值,程序执行读取短息发送成功与否的返回信息值,或读取邮件发送、微博发布、即时通讯发送、其它软件的返回信息值,具体方法:a、通过相关软件接口函数实现;b、直接读取相关软件的用户界面显示值,所述用户界面显示值是相关软件将执行结果告知用户发送成功与否的必然步骤, 所以可以从任何软件的用户界面层直接捕获软件执行结果输出标志值, 不受窗口层叠的影响。用户界面即软件提供的用户交互界面,是一种开放代码和指令。
809返回信息值判断,如果成功则执行810推荐成功计数,如果失败则执行816推荐失败,进入814选择;
811推荐计数,如果满足设定次数,则813授权,如果未满足设定次数,进入814选择;814选择,可以选择重新推荐用户步骤,返回801推荐用户,或815试用版运行或终止。
图9为本发明附加软件是推荐模块时采用推荐生成工具软件(即一种连接生成工具软件)将目标软件生成打包软件的实施方案。推荐生成工具软件的功能是将目标软件打包成具有推荐功能的打包软件,是一个工具软件,所述工具软件至少包含推荐模块,另外还包含加密生成模块,所述工具软件有用户交互界面,提供给用户操作。生成步骤为:901推荐生成工具软件运行;902添加目标软件,即将所需打包的目标软件添加到推荐生成工具软件的工作目录中;903是选择界面,即推荐生成工具软件提供的用户交互界面;903选择界面包括:904试用次数设定,即允许用户使用的有限次数;905推荐次数设定,即设定获得授权的推荐数量;906推荐渠道设定,即通讯渠道设定,包括短信、邮件、微博、即时通讯等;907目标软件图标,即选择目标软件所需要的图标,在生成打包软件后形成的图标标识,以及打包软件运行的快捷方式的图标标识,或打包软件运行的按钮图标标识;908广告,即可以在推荐生成工具软件用户交互界面嵌入广告,广告可以是预制广告,也可以是在线传输的广告,908广告不是必需的,可以缺省;909生成打包软件,即将推荐模块和目标软件进行连接并打包到一起;910提供给用户;911是加密生成模块,考虑到用户可能跳过推荐程序直接运行目标软件,可以通过加密模块对目标软件进行加密,即必须通过推荐模块才能开启目标软件的运行。
所述推荐生成工具软件也可以采用WEB或WAP服务方式,即提供网站,将推荐生成工具软件放在网站运行,用户可以登录网站网页,在网站上生成所需要的打包软件。
图10为本发明附加软件是推荐模块时打包软件运行示意图。1001运行按钮;1002推荐模块;1003目标软件;1004加密模块;1005加密目标软件,即目标软件和加密模块共同完成程序功能,目标软件和加密模块不断地交换数据以维持程序的运行,或目标软件和加密模块通过至少一次交换数据维持程序运行,1001运行按钮启动后运行1002推荐模块,推荐模块输出指令启动加密程加密1005,考虑到破解难度,推荐模块可以输出一组指令启动加密程序包,进一步,用一组随机数同步推荐模块输出指令和加密模块输入受令,即指令和受令必须一致。
软件加密是现有成熟技术,具体加密算法举例如下:加密算法是不可预知、不可逆的,加密算法可以把一个数字或字符变换成一个整数,一般在程序中设置一看门狗程序,比如一段应用程序中有这样一句:A=Fx(3),程序要根据常量3来得到变量A的值,可以把原程序这样改写:A=Fx(DogConvert(1)-12342),那么原程序中就不会出现常量3,而取之以DogConvert(1)-12342,这样,只有软件编写者才知道实际调用的常量是3,而如果得不到服务器加密算法,DogConvert函数就不能返回正确结果,结果算式A=Fx(DogConvert(1)-12342)结果也肯定不会正确。
另一种加密方法是把目标软件中至少一个字节段移植到加密模块,移植规则由一加密因子控制,加密因子有唯一的密钥,密钥由推荐模块控制。
图11为本发明工具软件实现的一种目标软件远程授权的实施方案。本发明所述工具软件(连接生成工具软件)是一种授权生成工具软件,所述授权生成工具软件由目标软件开发者开发,或第三方提供,如果是第三方提供,第三方授权生成工具软件有专属序列号和专属特征码及用户密码用来区分不同的工具软件使用者,所述授权生成工具一方面生成目标软件客户端,提供给用户,另一方面生成相对应的授权服务模块,提供给目标软件供应商用于对自己的用户进行远程授权。1101目标软件供应商服务器,负责提供用户服务,包含:1102加密点服务模块,1103授权服务模块,1104授权客户数据块;1105客户端,包括:1106授权模块,1107加密模块,1108目标软件,1108目标软件包括1109加密点。1106授权模块包括通讯单元和用户ID认证单元,通讯单元通过互联网协议和1101目标软件供应商服务器进行数据交换,1105客户端运行后,首先进行授权检查步骤,授权信息来源于1101目标软件供应商服务器,授权模块得到授权后启动加密模块1107的解密单元,1108目标软件通过嵌入其中的加密模块1107的解释得以运行;在1101目标软件供应商服务器中还设有1104授权客户数据库,其目的是提供授权客户数据给授权服务模块1103,以便区别服务于不同的客户。
为了更进一步保护目标软件,或者作为目标软件开发方而采取的自我保护措施,增加1102加密点服务模块和1109加密点,1102加密点服务模块和1109加密点是配合工作的。首先在目标软件的运行过程中设置加密点,在加密点插入查询指令,查询指令对加密点服务模块进行操作,加密点服务模块设有加密算法,通过算法产生返回值,返回值赋值回加密点,目标软件正常运行,如果返回值不符合加密算法则目标软件不能运行。另外也可将目标软件的一部分程序放在1102加密点服务模块中,由1109加密点进行调用,如果调用成功则目标软件正常运行。或直接对目标软件进行外壳加密( SHELL ),解密单元放在目标软件供应商服务器端,由服务器端解密单元支持客户端目标软件运行。
1102加密点服务模块和1109加密点不是必需的,在加密要求不高的应用时可以缺省。
一种软件连接的方法及工具软件,其特征是:连接的软件或附加软件是授权模块,授权模块负责目标软件的授权
图12为本发明附加软件是即时通讯软件的一种实施方案。1201目标软件供应商端,1201目标软件供应商端包括:1202加密点服务模块,1203即时通讯软件,1204授权客户数据库;1205即时通讯服务器;1206客户端,1206客户端包括:1207即时通讯软件,1208加密模块,1209目标软件,1209目标软件包含1210加密点;1206客户端由1207即时通讯软件、1209目标软件通过1208加密模块绑定连接而成。目标软件的授权通过即时通讯软件实现,最简单的方式是:将授权客户即时通讯号加入目标软件供应商即时通讯好友名单,并定义好友名单即授权客户名单,可以通过即时通讯软件提供方API来实现。
1202加密点服务模块和1210加密点可以缺省。
即时通讯生成打包工具软件(即所述连接生成工具软件的一种)由即时通讯服务方开发提供,并且可以设置不同的序列号或用户ID,可以提供不同的加密方式及特征码,这样可以形成一种即时通讯服务方提供的软件授权解决方案,并且可以附加支付模块或链接,在线支付目标软件使用费,由目标软件供应商授权系统立即在线授权付款用户。
一种软件连接的方法及工具软件,其特征是:连接的软件或附加软件是即时通讯软件,即时通讯软件还负责目标软件的授权。
图13为本发明加密生成模块工作原理图。加密生成模块包含编译器,编译器可以由软件开发者开发,编译方式、算法、参数可自行制定,可以增加加密措施,编译器可以是脚本程序,也可以是编译完成的程序,采用编译器对另一软件进行编译形成打包文件后一般是不可读懂的,对于打包软件使用者来说对打包软件进行修改是不易的,所以即使没有额外的加密措施,对于打包软件来说也具有加密的意义,即使用者不可对包中的软件运行方式进行修改。另外,对于现有开发工具软件,一般自带编译器,而且提供用户编译过程中进行加密措施。
1301编译器,负责对目标软件和附加软件进行处理,并提取目标软件和附加软件的启动项;1302附加软件,包括附加软件启动项,由编译器将附加软件人为地分割为若干段,如附加软件分割1、附加软件分割2、附加软件分割n;1303是生成的打包软件,包含两个部分,一个是运行集,另一个是软件分割库,运行集包含附加软件启动项、目标软件启动项、运行指令集;软件分割库里有目标软件和附加软件被人为分割的若干段的总和,如附加软件分割2、附加软件分割1、目标软件分割2、目标软件分割1、直到n,这些软件分割由编译器按一定的规则打乱,并为每个分割编号,打乱规则及分割编号记录在运行指令集中;1304为目标软件,包含目标软件启动项,由编译器将目标软件人为地分割为若干段,如目标软件分割1、目标软件分割2、目标软件分割n;经编译器编译生成的打包软件有启动项,软件启动后按设定运行附加软件及目标软件,这时运行控制来自运行指令集命令,按规则将原来打乱的附加软件分割和目标软件分割重新连接组装复原,这样目标软件和附加软件均可正常运行。这样,打包软件使用者至少无法单独运行目标软件。
运行指令集中可以设置一监测函数,分别监测附加软件和目标软件的运行状态,可以设置如下逻辑关系:附加软件和目标软件必须同时运行;附加软件先运行;目标软件先运行;附加软件运行结果启动目标软件;附加软件关闭目标软件无条件关闭;附加软件关闭目标软件照常运行;目标软件关闭附加软件关闭;目标软件关闭附加软件照常运行。
所生成的打包软件是自解密包的结构,即可执行部分是解密代码,包壳部分是被加密的程序。
编译步骤为:(1)提取附加软件启动项,写入运行指令集;(2)提取目标软件启动项,写入运行指令集;(3)将附加软件分割为若干段,并对每段编号,将编号写入运行指令集;(4)将目标软件分割为若干段,并对每段编号,将编号写入运行指令集;(5)将软件分割段按一定规则打乱,并将打乱规则写入运行指令集;(6)将运行指令集和全部软件分割段编译打包,并设置启动项。
图14 为本发明加密生成模块以附加软件运行结果启动目标软件的工作原理图。考虑到附加软件运行结果的特殊性,或者连接生成工具软件和附加软件是同一个开发者,即附加软件原代码对连接生成工具软件是透明的,在打包时可以对附加软件进行设置,编译过程可以生成两个运行指令集,一个是附加软件运行指令集,另一个是目标软件运行指令集,打包软件运行时,首先运行附加软件运行指令集,在等到附加软件运行结果后再运行目标软件运行指令集。
图15为本发明加密生成模块仅加密目标软件的工作原理图。考虑到附加软件不需要加密的情况,可以只提取附加软件的启动项,例如附加软件是广告模块,可以要求用户只要看一下广告,关闭后目标软件可以照常运行。
上述应用方式的连接生成工具软件可以多重嵌套,即多重生成,如先用推荐生成工具软件将目的软件生成具有推荐功能的目标软件,再用即时通讯生成工具软件将具有推荐功能的目标软件生成具有即时通讯功能的目标软件,这样目标软件就具有推荐和即时通讯两种附件功能。
本发明编程语言可以是现有的任何语言方式,如VC++,C,Delphi,FORTRAN,Pascal,FOXPRO,Clipper,EXE ;WIN16:C,C++(Visual,C++Builder,Borland),VisualBASIC ; WIN32:C,C++(Visual, Borland), FORTRAN(LAHEY,Visual), Java, VisualBASIC,VisualFoxpro, PowerBuilder,Delphi,JavaScript,VBScript installshield,VB.net,VC.net; Linux: C,C++,Java ;Microsoft XML Web services 平台;html的方法,ASP.NET方法;Mac OS X 操作系统;手机操作系统:Windows Mobile,Symbian,Android,iOS,手机Mac OS X 操作系统等。特别提出的是:android应用层开发可以依赖java,底层可以用c,jni调用。
编程架构上可以采用服务器、客户端编程,也可采用控件方式使用或调用脚本程序的方式或向服务器请求方式,或采用云计算方式编程,即SaaS模式。
传送方式基于TCP/UDP协议或其它任何网络传送方式,目前使用IPV4,将来使用IPV6。在网络传输过程中可以采用对称加密、非对称加密和Hash加密,如DES、SSL或SET等方式加密。
Claims (19)
1.一种软件连接的方法,其特征是:将至少两个已有的独立软件重新编译为一个新软件,编译过程中新建运行指令集,所述运行指令集制约所述两个独立软件的运行关系,至少是一个软件授权另一个软件的运行,或一个软件的运行依赖于另一个软件的运行,新软件只有一个启动按钮,其步骤包括:(1)提取附加软件启动项,写入运行指令集;(2)提取目标软件启动项,写入运行指令集;(3)将目标软件分割为若干段,并对每段编号,将编号写入运行指令集;(4)将软件分割段按一定规则打乱,并将打乱规则写入运行指令集;(5)将运行指令集和全部软件分割段编译打包,并设置启动项。
2.一种软件连接的方法,其特征是:将至少两个已有的独立软件重新编译为一个新软件,编译过程中新建运行指令集,所述运行指令集制约所述两个独立软件的运行关系,至少是一个软件授权另一个软件的运行,或一个软件的运行依赖于另一个软件的运行,新软件只有一个启动按钮,其步骤包括:(1)提取附加软件启动项,写入运行指令集;(2)提取目标软件启动项,写入运行指令集;(3)将附加软件分割为若干段,并对每段编号,将编号写入运行指令集;(4)将目标软件分割为若干段,并对每段编号,将编号写入运行指令集;(5)将软件分割段按一定规则打乱,并将打乱规则写入运行指令集;(6)将运行指令集和全部软件分割段编译打包,并设置启动项。
3.根据权利要求1或2所述的一种软件连接的方法,其特征是:至少一个软件是如下软件之一:社交软件、即时通讯软件、图像、文字、网页、弹出窗口、动画、音视频、地理位置定位模块、支付模块、广告模块、推荐模块、授权模块。
4.根据权利要求1或2所述的一种软件连接的方法,其特征是:运行指令集中设置有监测函数,分别监测附加软件和目标软件的运行状态,可以设置如下逻辑关系之一:附加软件和目标软件必须同时运行;附加软件先运行;目标软件先运行;附加软件运行结果启动目标软件;附加软件关闭,目标软件无条件关闭;附加软件关闭,目标软件照常运行;目标软件关闭,附加软件关闭;目标软件关闭,附加软件照常运行。
5.根据权利要求1或2所述的一种软件连接的方法,其特征是:连接的软件或附加软件是授权模块,授权模块负责目标软件的授权。
6.根据权利要求1或2所述的一种软件连接的方法,其特征是:连接的软件或附加软件是即时通讯软件,即时通讯软件还负责目标软件的授权。
7.根据权利要求1或2所述的一种软件连接的方法,其特征是:连接的软件或附加软件是广告模块,所述广告模块的运行决定目标软件的运行。
8.根据权利要求1或2所述的一种软件连接的方法,其特征是,还包括步骤:(1)建立连接生成工具软件,工具软件设置用户交互界面;(2)选择目标软件,将目标软件及组件放入工具软件的工作区;(3)附加软件设置,即对附加软件将来运行的要求和参数进行设置;(4)运行按钮设定,即设定生成后的打包软件的运行按钮或快捷方式;(5)执行工具软件设定操作,将附加软件嵌入目标软件。
9.根据权利要求5所述的一种软件连接的方法,其特征是,还包括步骤:
1)软件运行后有授权检测步骤;
2)提供推荐渠道界面;
3)提取并发送推荐内容;
4)提取推荐渠道的返回信息值;
5)推荐成功判断及计数;
6)软件授权。
10.根据权利要求9所述的一种软件连接的方法,其特征是:步骤4)提取推荐渠道的返回信息值是通过提取所述推荐渠道的软件用户界面显示值实现。
11.根据权利要求9所述的一种软件连接的方法,其特征是:步骤4)提取推荐渠道的返回信息值是通过所述推荐渠道的软件接口实现。
12.根据权利要求9所述的一种软件连接的方法,其特征是:步骤5)推荐成功判断及计数,设置推荐数据存储单元,新增推荐数据和存储单元中已有的推荐数据进行比对,如有则不允许推荐或推荐失败。
13.根据权利要求9或10或11或12所述的一种软件连接的方法,其特征是:推荐渠道为短信、或邮件、或即时通讯。
14.根据权利要求13所述的一种软件连接的方法,其特征是:目标软件是手机软件,推荐渠道是手机短信。
15.根据权利要求13所述的一种软件连接的方法,其特征是:所述新软件运行后至少通过一通讯渠道推荐给其他人,并且所推荐的人数必须满足设定数量,才能获得授权模块的授权,否则只能运行试用版,或有限次数使用,或终止。
16.根据权利要求1或2所述的一种软件连接的方法,其特征是:有加密模块,所述加密模块连接至少两个软件,一个软件的运行至少依赖于另一个软件的运行,至少一个软件的运行依赖于加密模块。
17.根据权利要求16所述的一种软件连接的方法,其特征是:设置工具模块,所述工具模块包含加密生成模块,所述工具模块包含至少一个需连接的附加软件,所述工具模块将附加软件和至少另一个目标软件通过打包操作生成一打包软件,同时,在生成过程中,工具模块将加密模块嵌入打包软件,所述工具模块将目标软件生成具有附加软件功能的打包软件,所述打包软件由用户运行后同时或先后获得附加软件和目标软件两个软件的运行效果。
18.根据权利要求17所述的一种软件连接的方法,其步骤是:(1)建立连接生成工具软件,工具软件包含加密生成模块,工具软件设置用户交互界面;(2)选择附加软件,将附加软件及组件放入工具软件工作区;(3)选择目标软件,将目标软件及组件放入工具软件的工作区;(4)运行按钮设定,即设定生成后的打包软件的运行按钮或快捷方式;(5)执行工具软件设定操作,将加密模块嵌入附加软件及目标软件。
19.根据权利要求17或18所述的一种软件连接的方法,其特征是:设置网站,将所述工具软件或工具模块放在网站运行,用户可以登录网站网页,在网站上生成所需要的打包软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810656034.4A CN108845805B (zh) | 2012-06-29 | 2012-06-29 | 一种软件连接的方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210220987.9A CN102779043B (zh) | 2012-06-29 | 2012-06-29 | 一种软件连接的方法及工具软件 |
CN201810656034.4A CN108845805B (zh) | 2012-06-29 | 2012-06-29 | 一种软件连接的方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210220987.9A Division CN102779043B (zh) | 2012-06-29 | 2012-06-29 | 一种软件连接的方法及工具软件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108845805A CN108845805A (zh) | 2018-11-20 |
CN108845805B true CN108845805B (zh) | 2021-09-14 |
Family
ID=47123964
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210220987.9A Active CN102779043B (zh) | 2012-06-29 | 2012-06-29 | 一种软件连接的方法及工具软件 |
CN201810656034.4A Active CN108845805B (zh) | 2012-06-29 | 2012-06-29 | 一种软件连接的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210220987.9A Active CN102779043B (zh) | 2012-06-29 | 2012-06-29 | 一种软件连接的方法及工具软件 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN102779043B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104410966A (zh) * | 2014-11-27 | 2015-03-11 | 成都远为天胜科技有限公司 | 安全无线通信方法 |
CN111314454A (zh) * | 2020-02-12 | 2020-06-19 | 深圳市信锐网科技术有限公司 | 应用的访问方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1309349A (zh) * | 2001-03-22 | 2001-08-22 | 北京北大天正科技发展有限公司 | 一种在线定制软件的方法 |
CN101561762A (zh) * | 2008-04-18 | 2009-10-21 | 鸿富锦精密工业(深圳)有限公司 | 软件安装程序打包系统及方法 |
CN101840334A (zh) * | 2010-04-16 | 2010-09-22 | 中国电子科技集团公司第二十八研究所 | 一种软件构件服务化封装方法 |
CN102156643A (zh) * | 2011-04-25 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 软件集成方法及系统 |
US8032909B2 (en) * | 2001-07-05 | 2011-10-04 | Digimarc Corporation | Watermarking and electronic program guides |
CN102520958A (zh) * | 2011-12-20 | 2012-06-27 | 上海互联网软件有限公司 | 一种软件生产线系统及其生产方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184611A1 (en) * | 2001-05-30 | 2002-12-05 | Palm, Inc. | Design system and method having improved display of code |
CN101311903B (zh) * | 2007-05-22 | 2011-05-18 | 国际商业机器公司 | 对基于组件的软件系统中的组件进行重用的方法和装置 |
CN100555301C (zh) * | 2008-05-04 | 2009-10-28 | 北京深思洛克软件技术股份有限公司 | 一种撤销软件许可的方法 |
JP5337411B2 (ja) * | 2008-06-13 | 2013-11-06 | 京セラドキュメントソリューションズ株式会社 | 情報秘匿化方法および情報秘匿化装置 |
CN101630194B (zh) * | 2008-07-18 | 2013-05-01 | 联想(北京)有限公司 | 终端设备以及应用程序启动方法 |
CN101504616B (zh) * | 2009-03-23 | 2011-08-10 | 金蝶软件(中国)有限公司 | 一种从Web应用登录Windows应用程序的方法及装置 |
CN101930377B (zh) * | 2009-06-22 | 2013-07-03 | 深圳市融创天下科技股份有限公司 | 一种动态获取uid的链接库编译方法 |
CN102024226A (zh) * | 2009-09-22 | 2011-04-20 | 英业达股份有限公司 | 下载附加组件扩充软件功能的系统及其方法 |
-
2012
- 2012-06-29 CN CN201210220987.9A patent/CN102779043B/zh active Active
- 2012-06-29 CN CN201810656034.4A patent/CN108845805B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1309349A (zh) * | 2001-03-22 | 2001-08-22 | 北京北大天正科技发展有限公司 | 一种在线定制软件的方法 |
US8032909B2 (en) * | 2001-07-05 | 2011-10-04 | Digimarc Corporation | Watermarking and electronic program guides |
CN101561762A (zh) * | 2008-04-18 | 2009-10-21 | 鸿富锦精密工业(深圳)有限公司 | 软件安装程序打包系统及方法 |
CN101840334A (zh) * | 2010-04-16 | 2010-09-22 | 中国电子科技集团公司第二十八研究所 | 一种软件构件服务化封装方法 |
CN102156643A (zh) * | 2011-04-25 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 软件集成方法及系统 |
CN102520958A (zh) * | 2011-12-20 | 2012-06-27 | 上海互联网软件有限公司 | 一种软件生产线系统及其生产方法 |
Non-Patent Citations (2)
Title |
---|
Model-Based Adaptation of Behavioral Mismatching Components;Carlos Canal等;《institute of electrical and electronic engineers》;20080523;全文 * |
软件动态配置模型中的构件依赖描述;常海等;《计算机应用与软件》;20071031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108845805A (zh) | 2018-11-20 |
CN102779043B (zh) | 2018-09-21 |
CN102779043A (zh) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
He et al. | Characterizing code clones in the ethereum smart contract ecosystem | |
Prusty | Building blockchain projects | |
KR102220127B1 (ko) | 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치 | |
KR102243793B1 (ko) | 코드 가상화 및 원격 프로세스 호출 생성을 위한 방법 및 장치 | |
Zheng et al. | Ethereum smart contract development in solidity | |
US8527361B2 (en) | Service for adding in-application shopping functionality to applications | |
CN108021614A (zh) | 一种用于页面动态加载的方法及系统 | |
CN103281187B (zh) | 安全认证方法、设备和系统 | |
CN105099688A (zh) | 一种电子账户的操作方法、支付页面的展示方法及装置 | |
CN102455912A (zh) | 运行时扩展 | |
CN104063225B (zh) | 锁屏主题开发方法及装置 | |
CN110489942A (zh) | 一种WebAssembly文件的处理方法及系统 | |
KR101374159B1 (ko) | 저장장치를 이용한 권리객체 관리 시스템 및 방법, 그 drm서버 및 호스트 단말, 이를 위한 기록매체 | |
CN102799997B (zh) | 一种互联网广告的发布方法和系统 | |
Wu et al. | Learn ethereum: build your own decentralized applications with ethereum and smart contracts | |
CN104869135B (zh) | 数据交互的方法和终端 | |
JP2020501239A (ja) | 不正なクライアント・アプリケーションからのウェブ・サーバの保護 | |
CN103577180A (zh) | 数据处理方法及装置 | |
US9027004B1 (en) | Injection of supplemental computer instructions | |
KR101373550B1 (ko) | 네트워크 기반의 플랫폼 시스템 | |
CN108845805B (zh) | 一种软件连接的方法 | |
CN111488169A (zh) | 应用程序热更新的方法及装置、存储介质及电子设备 | |
CN111045722A (zh) | 智能合约打包方法、装置、系统、计算机设备及存储介质 | |
CN105069328A (zh) | 一种数据处理方法和装置 | |
Palladino | Ethereum for Web Developers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210901 Address after: 226001 No. 488, Gongnong Road, Chongchuan District, Nantong City, Jiangsu Province Applicant after: JIANGSU TELEWAY INFORMATION SYSTEM Co.,Ltd. Address before: 226019 1-107, Science Park, No. 58, Chongchuan Road, Nantong City, Jiangsu Province Applicant before: Wu Donghui |