一种程序预装且屏蔽操作系统入口的应用软件加密技术的制作方法

文档序号:23540417发布日期:2021-01-05 20:48阅读:126来源:国知局
一种程序预装且屏蔽操作系统入口的应用软件加密技术的制作方法

软件加密领域。



背景技术:

软件业的历史要追溯到71年前。第一代:早期专业软件公司,1949—1959。第二代:早期软件产品公司,1959—1969。第三代:强大的企业解决方案提供商的出现,1969—1981。ibm给软件与硬件分别定价的决定再次证实了软件业的独立性。第四代:客户大众市场软件,1981—1994。个人计算机的出现建立了一种基于个人计算机的大众市场开发通用软件产品。ibm个人电脑、微软和苹果公司都在这段时间发展壮大。第五代:互联网软件,1996—现在。随着以太网、tcp/ip网络技术的普及以及智能手机的发明,网站、手机app和云计算软件席卷全球。软件(英文:software)是一系列按照特定顺序组织的计算机数据、指令和文档的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。软件特点:1、无形的,只能通过运行状况来了解功能和质量;2、软件是脑力劳动密集型;3、软件不会老化磨损,但需要维护和更新;4、软件运行对于硬件有依赖性,追求可移植性;5、软件很容易被复制,从而形成多个副本。软件的可复制性造成了“盗版软件泛滥”,严重损害了软件开发者的利益。软件加密一直是软件开发者孜孜追求的保护技术,一般有“软加密”和“硬加密”两种技术,比如:windows操作系统的密匙加密属于软加密,国内的cad软件和erp管理软件往往采用“加密狗或u盘加密”的硬加密,无论是软加密,还是硬加密,只要执行程序暴露给盗版者,在汇编语言层面都是明码,被破解只是时间问题。软件加密经过几十年的发展遇到瓶颈,迫切需要一种全新的加密思路,本发明提出一种程序预装且屏蔽操作系统入口的应用软件加密技术。



技术实现要素:

应用软件的特点是用户无需二次开发,因此暴露操作系统桌面是多此一举,给盗版者以可乘之机。本发明提出“一种程序预装且屏蔽操作系统入口的应用软件加密技术”,旨在不让盗版者接触执行程序,大大提高软件的保护效果。linux操作系统和应用软件预装在开发者提供的固态硬盘上,通过usb3.x端口与客户电脑连接,如图1或者打开机箱安装在1号硬盘接口,确保优先启动,用户无法缩放主窗口,关闭主窗口就关机。因为99%的超级计算机采用更高效的linux操作系统,所以这种软件加密技术以linux操作系统做平台,基于最流行的linux发行版本centos7.7,通过配置、shell脚本编程和python语言来实现。选择python编程语言的理由是因为它有最庞大的第三方软件生态圈。

附图说明

图1.linux操作系统和应用软件预装在开发者提供的固态硬盘的示意图.

图2.左上角热点图标窗口示意图

图3.调用linuxcentos7.7系统startupapplications软件设置应用软件自启动。

具体实施方式

分为八个步骤,前7个步骤以root用户登录.

步骤1:关闭屏幕左上角热点图标窗口

当鼠标移到左上角时,linux会弹出热点图标子窗口,如图2,用户可以运行几乎任何程序并进行文件复制和发送,严重影响到软件的安全性,因此必须关闭,指令如下:终端窗口中输入yum-yinstallgnome-shell-extension-no-hot-corner

安装完毕后,reboot重启系统.

步骤2:关闭屏幕顶部的功能菜单和底部任务栏功能

1、去除顶部panel

(1)、编辑/usr/share/gnome-shell/modes/classic.json修改panel的左中右都为空

"panel":{"left":[],

"center":[],

"right":[]

}

其中右边可以保留日历,如:"right":["datemenu"],不会影响软件保密性.

(2)、编辑/usr/share/gnome-shell/theme/gnome-classic.css中,修改

#panel{

background-color:#e9e9e9;

color:transparent;/*增加*/

}

2、隐藏或删除底部(任务栏)panel

(1)、删除文件夹

/usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com

建议使用mv命令,万一后悔后可以恢复,如下:

mv/usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com

/usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com.back

然后重启查看效果.

步骤3:隐藏执行程序、应用程序所在目录和相关shell脚本文件

linux系统支持在文件名前面加个‘.’把文件隐藏起来,如:执行程序hahayaya_rjdlb改

成.hahayaya_rjdlb,不影响程序运行,这样起到加密作用;这种方法也适用于文件夹隐藏和shell脚本文件的隐藏,这是一种最简单而有效的加密方法.

步骤4:删除鼠标右键打开终端功能

命令:yum-yremovenautilus-open-terminal

在终端状态下,可以查看隐藏文件,故应该屏蔽掉;reboot重新启动可以看到效果.

步骤5:在应用软件中使主窗口保持最大化,取消最小化和主窗口缩放,仅提供主窗口关闭功能,关闭主窗口启动关机脚本

重写主窗口类

classmyqmainwindow(qmainwindow):

def__init__(self,parent=none):

super(myqmainwindow,self).__init__(parent)

defcloseevent(self,qcloseevent):

qcloseevent.ignore()

button=qmessagebox.question(self,"关机提醒","您真的想关机吗",

qmessagebox.yes|qmessagebox.no)

ifbutton==qmessagebox.yes:

popen(["img/power_off.sh"])

exit(-1)

关机脚本power_off.sh内容如下:

#!/bin/sh

echo'正在关机......'

virshshutdownwin10#关闭虚拟机win10,如没有安装虚拟机,则省略.

virshshutdownandroid_9#关闭虚拟机android_9,如没有安装虚拟机,则省略.

sleep6s

poweroff-h

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

主窗口类实例化时,设置只有‘关闭按钮’属性的主窗口,如下:

self.setwindowflags(qt.windowclosebuttonhint)

以下是创建主窗口的自定义方法,最大化显示主窗口:

defcreate_main_window():

main_win=mainwindow()

main_windows.append(main_win)

avail_geometry=app.desktop().availablegeometry(main_win)

main_win.resize(avail_geometry.width()*7/8,available_geometry.height()*7/8)

main_win.showmaximized()

main_win.show()

returnmain_win

步骤6:运行“设置”功能,在“privacy”关闭“锁屏”功能,避免锁屏时需要输入密码

步骤7:修改/etc/gdm/custom.conf文件

设置非root用户免密登录,如:hahayaya_rjdlb

在[daemon]下增加

automaticloginenable=true

automaticlogin=hahayaya_rjdlb

保存文件,然后重启查看效果.

步骤8:以步骤7设定的非root用户免密登录,调用startupapplications软件设置指定的应用软件自启动,如图3,并确保是唯一自启动应用软件,避免给盗版者入侵。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1