CN107194212B - 一种显示器源代码中协议内容的保护方法 - Google Patents
一种显示器源代码中协议内容的保护方法 Download PDFInfo
- Publication number
- CN107194212B CN107194212B CN201710479622.0A CN201710479622A CN107194212B CN 107194212 B CN107194212 B CN 107194212B CN 201710479622 A CN201710479622 A CN 201710479622A CN 107194212 B CN107194212 B CN 107194212B
- Authority
- CN
- China
- Prior art keywords
- source code
- data
- global variable
- protecting
- display
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000004378 air conditioning Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种显示器源代码中协议内容的保护方法,采用的该加密算法可实现产生的第一全局变量与第二全局变量内容的不可见且该数据为动态变化的数据,从而可以达到协议内容保护的目的。本发明针对源码编制中涉及协议内容进行变量动态加密的方式,采用该方式源码中出现的协议内容实现了数据的不可见,达到了协议内容保护的目的。
Description
技术领域
本发明涉及列车通信协议领域,更具体地,涉及一种显示器源代码中协议内容的保护方法。
背景技术
列车显示器软件在源码编制的时候,针对涉及协议的部分基本都采用直接从协议规定的位置获取数据的方式,由于目前软件开发人员不可避免的需要前往现场,进行软件代码的调试,在调试过程中,存在软件源码因保护不当被窃取的可能,如软件源码被窃取则可能导致协议内容的公开。
MVB即多功能车辆总线,是一种主要用于对有互操作性和互换性要求的互连设备之间的串行数据通信方式。以列车MVB通信的显示器软件源码的编制为例:现有的MVB总线协议一般定义如图1所示,地址651H的两个Byte(字节)中,Byte0存放空调温度,Byte1存放室内温度,显示器源码一般采用如图2方式进行数据的获取并显示:首先获取空调温度数据,之后通过函数Read(0x651,0)读取空调温度数据,最后在显示器页面显示空调温度数据。可以看出,通过显示器源码可以清晰的看出协议的具体内容。
上述方法中,为了保护协议内容一般可以通过对数据获取部分,采取数据封装的方式进行处理,达到协议内容保护的目的,但在源码的编制过程中经常需要操作数据获取部分代码,所以需要实时更新库文件,因此该方式不利于程序的编制。
如采用上述方式进行源码的编制,存在以下几个缺点:
1)源码中关于数据部分,如需要更改则需要频繁更新库文件;
2)因库文件内容的不可见,在软件出现问题时,问题不易查找;
所以采用该方式实现协议内容保护存在源码编制不便,问题查找不便的问题。
发明内容
本发明为克服上述现有技术所述的协议内容不安全以及现有想、协议内容保护方法不方便的缺陷,提供一种显示器源代码中协议内容的保护方法。
为解决上述技术问题,本发明的技术方案如下:
一种显示器源代码中协议内容的保护方法,包括以下步骤:
S1:读取配置文件所有端口;
S2:所有端口赋值给对应的第一全局变量,第一全局变量为数组形式;
S3:第一全局变量采用加密算法,使其中预设的端口地址对应第一全局变量的某一元素,该元素记为第一元素,所述预设的端口地址用于获取要显示的数据;
S4:所有字节偏置赋值给对应的第二全局变量,第二全局变量为数组形式;
S5:第二全局变量采用加密算法,使字节偏置0对应第二全局变量的某一元素,该元素记为第二元素;
S6:通过Read(第一元素,第二元素)函数读取要显示的数据到第二元素,并显示数据。
在一种优选的方案中,所述第一全局变量定义为G_PORT[],预设的端口地址对应第一全局变量的G_PORT[0]。
在一种优选的方案中,所述第二全局变量定义为G_BYTE[],字节偏置0对应第二全局变量的G_BYTE[0]。
在一种优选的方案中,步骤S6中,通过Read(G_PORT[0],G_BYTE[0])函数读取要显示的数据到G_BYTE[0],并显示数据。
在一种优选的方案中,所述预设的端口地址为0x651,获取的数据为空调温度。
与现有技术相比,本发明技术方案的有益效果是:本发明提供一种显示器源代码中协议内容的保护方法,采用的该加密算法可实现产生的第一全局变量与第二全局变量内容的不可见且该数据为动态变化的数据,从而可以达到协议内容保护的目的。本发明针对源码编制中涉及协议内容进行变量动态加密的方式,采用该方式源码中出现的协议内容实现了数据的不可见,达到了协议内容保护的目的。
附图说明
图1为现有的MVB总线协议一般定义图。
图2为现有的显示器源码获取数据并显示的流程图。
图3为本发明显示器源代码中协议内容的保护方法的协议变量加密流程图。
图4为本发明显示器源代码中协议内容的保护方法的流程图。
具体实施方式
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
一种显示器源代码中协议内容的保护方法,包括以下步骤:
S1:读取配置文件所有端口,所述端口为在MVB芯片上地址偏移的索引;
S2:所有端口赋值给对应的第一全局变量G_PORT[],第一全局变量G_PORT[]为数组形式;
S3:第一全局变量G_PORT[]采用加密算法,使端口地址0x651对应第一全局变量的G_PORT[0],端口地址0x651用于获取要显示的空调温度;
S4:所有字节偏置赋值给对应的第二全局变量G_BYTE[],第二全局变量G_BYTE[]为数组形式;
S5:第二全局变量G_BYTE[]采用加密算法,使字节偏置0对应第二全局变量的G_BYTE[0];
S6:通过Read(G_PORT[0],G_BYTE[0])函数读取要显示的数据到G_BYTE[0],并通过显示器显示数据。
该方法中端口与变量的对应关系按软件开发人员的具体设计进行布置,本发明采用的该加密算法可实现产生的G_PORT[0]与G_BYTE[]内容的不可见且该数据为动态变化的数据,从而可以达到协议内容保护的目的。本发明针对源码编制中涉及协议内容进行变量动态加密的方式,采用该方式源码中出现的协议内容实现了数据的不可见,达到了协议内容保护的目的。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (4)
1.一种显示器源代码中协议内容的保护方法,其特征在于,包括以下步骤:
S1:读取配置文件所有端口地址;
S2:所有端口地址赋值给对应的第一全局变量,第一全局变量为数组形式;
S3:第一全局变量采用加密算法,使其中预设的端口地址对应第一全局变量的某一元素,该元素记为第一元素,所述预设的端口地址用于获取要显示的数据;
S4:所有字节偏置赋值给对应的第二全局变量,第二全局变量为数组形式;
S5:第二全局变量采用加密算法,使字节偏置0对应第二全局变量的某一元素,该元素记为第二元素;
S6:通过Read(第一元素,第二元素)函数读取要显示的数据到第二元素,并显示数据。
2.根据权利要求1所述的显示器源代码中协议内容的保护方法,其特征在于,所述第一全局变量定义为G_PORT[],预设的端口地址对应第一全局变量的G_PORT[0]。
3.根据权利要求2所述的显示器源代码中协议内容的保护方法,其特征在于,所述第二全局变量定义为G_BYTE[],字节偏置0对应第二全局变量的G_BYTE[0]。
4.根据权利要求2所述的显示器源代码中协议内容的保护方法,其特征在于,所述预设的端口地址为0x651,获取的数据为空调温度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710479622.0A CN107194212B (zh) | 2017-06-21 | 2017-06-21 | 一种显示器源代码中协议内容的保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710479622.0A CN107194212B (zh) | 2017-06-21 | 2017-06-21 | 一种显示器源代码中协议内容的保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107194212A CN107194212A (zh) | 2017-09-22 |
CN107194212B true CN107194212B (zh) | 2020-04-17 |
Family
ID=59878702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710479622.0A Active CN107194212B (zh) | 2017-06-21 | 2017-06-21 | 一种显示器源代码中协议内容的保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107194212B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3526130A1 (de) * | 1985-07-22 | 1987-01-29 | Lang Klaus Dipl Ing | Digitaler programmschutzbaustein |
CN1288525C (zh) * | 2001-07-31 | 2006-12-06 | 瓦利迪公司 | 通过“变量”原理保护软件防止未授权使用的方法 |
CN101622627A (zh) * | 2007-02-23 | 2010-01-06 | 克劳克维尔公司 | 保护以软件为媒介的程序和装置性态的联锁系统和方法 |
CN104392154A (zh) * | 2014-11-10 | 2015-03-04 | 北京深思数盾科技有限公司 | 一种加密方法 |
CN104951674A (zh) * | 2014-03-28 | 2015-09-30 | 中国银联股份有限公司 | 用于应用程序的信息隐藏方法 |
CN105049439A (zh) * | 2015-08-06 | 2015-11-11 | 株洲南车时代电气股份有限公司 | 一种基于协议配置的机车显示设备数据通信方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874928B2 (en) * | 2008-10-31 | 2014-10-28 | Apple Inc. | System and method for obfuscating constants in a computer program |
-
2017
- 2017-06-21 CN CN201710479622.0A patent/CN107194212B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3526130A1 (de) * | 1985-07-22 | 1987-01-29 | Lang Klaus Dipl Ing | Digitaler programmschutzbaustein |
CN1288525C (zh) * | 2001-07-31 | 2006-12-06 | 瓦利迪公司 | 通过“变量”原理保护软件防止未授权使用的方法 |
CN101622627A (zh) * | 2007-02-23 | 2010-01-06 | 克劳克维尔公司 | 保护以软件为媒介的程序和装置性态的联锁系统和方法 |
CN104951674A (zh) * | 2014-03-28 | 2015-09-30 | 中国银联股份有限公司 | 用于应用程序的信息隐藏方法 |
CN104392154A (zh) * | 2014-11-10 | 2015-03-04 | 北京深思数盾科技有限公司 | 一种加密方法 |
CN105049439A (zh) * | 2015-08-06 | 2015-11-11 | 株洲南车时代电气股份有限公司 | 一种基于协议配置的机车显示设备数据通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107194212A (zh) | 2017-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100506112B1 (ko) | 트레이스 데이터 압축 장치, 트레이스 데이터 압축 방법및 트레이스 데이터 압축 회로를 내장한 마이크로컴퓨터 | |
US7587612B2 (en) | Generating and communicating information on locations of program sections in memory | |
US6637024B1 (en) | Method and product for debugging a target java virtual machine having no debug information therein | |
GB2555023A (en) | Infrastructure for hosting and publishing software packages | |
CN104079613A (zh) | 用于多租户间共享应用程序对象的方法和系统 | |
US9535613B2 (en) | Hardware and software methodologies for detecting illegal memory address of a memory access operation | |
CN106657361B (zh) | 一种代码添加混淆的安卓安装包ota升级方法 | |
US20140053165A1 (en) | Configuration technique for an electronic control unit with intercommunicating applications | |
GB2512443A (en) | Method of hybrid message passing with shared memory | |
CN107194212B (zh) | 一种显示器源代码中协议内容的保护方法 | |
US9251105B2 (en) | Transmitting an interrupt packet | |
CN111782334B (zh) | 一种动态链接库文件虚拟化方法、存储介质及终端设备 | |
US20050216897A1 (en) | Converter, automation device with a converter, and a development environment having an automation device with converter | |
WO2014162250A4 (en) | Method for enabling independent compilation of program and a system therefor | |
CN110908882A (zh) | 一种应用程序的性能分析方法、装置、终端设备及介质 | |
CN103678073A (zh) | 仿真系统 | |
US11934538B2 (en) | Augmenting executables having cryptographic primitives | |
CN109426703B (zh) | 一种ios平台上对核心代码的保护方法和装置 | |
CN107423038B (zh) | 不依赖文件系统的差分包合并方法与系统 | |
CN110457152B (zh) | 一种用代理模式解决内存泄露的系统和方法 | |
CN108416194B (zh) | 符号混淆方法及装置 | |
US9779012B1 (en) | Dynamic and global in-system debugger | |
CN104199678A (zh) | 获取板卡的类型id的方法和软件版本升级的方法 | |
CN103677764A (zh) | 一种浏览器访问icu库函数的方法、系统及浏览器 | |
CN112528282B (zh) | 反混淆代码的方法、装置和电子设备 |
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 |