CN102831361B - 服务器防泄漏*** - Google Patents

服务器防泄漏*** Download PDF

Info

Publication number
CN102831361B
CN102831361B CN201210288431.3A CN201210288431A CN102831361B CN 102831361 B CN102831361 B CN 102831361B CN 201210288431 A CN201210288431 A CN 201210288431A CN 102831361 B CN102831361 B CN 102831361B
Authority
CN
China
Prior art keywords
image
file
address
header
headers
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
Application number
CN201210288431.3A
Other languages
English (en)
Other versions
CN102831361A (zh
Inventor
赵志鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
YOUYICHUNQIU NETWORK TECHNOLOGY (BEIJING) Co Ltd
Original Assignee
YOUYICHUNQIU NETWORK TECHNOLOGY (BEIJING) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by YOUYICHUNQIU NETWORK TECHNOLOGY (BEIJING) Co Ltd filed Critical YOUYICHUNQIU NETWORK TECHNOLOGY (BEIJING) Co Ltd
Priority to CN201210288431.3A priority Critical patent/CN102831361B/zh
Publication of CN102831361A publication Critical patent/CN102831361A/zh
Application granted granted Critical
Publication of CN102831361B publication Critical patent/CN102831361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了服务器防泄漏***,其特征是包括分离代码段和还原原始PE段。分离代码段步骤:获取PE文件的IMAGE_DOS_HEADER结构,再获取IMAGE_DOS_HEADER、IMAGE_NT_HEADERS、MAGE_OPTIONAL_HEADER、IMAGE_SECTION_HEADE结构,生成MPE文件。还原原始PE文件步骤:创建MPE进程;下载及解密MPE代码段数据;打开进程句柄;修改内存属性;将代码段数据写入目标空间;还原目标进程地址空间的页属性;运行MPE进程,完成启动。本发明可防止源程序被盗,不影响源程序使用,同时做到源程序完全不会被破解,可以有效防止私服产生。

Description

服务器防泄漏***
技术领域
本发明属于计算机***领域,具体地说,涉及一种服务器防泄漏***。
背景技术
“私服”是一种未经版权拥有者授权,以不正当手段获得游戏服务器端安装程序之后设立的网络服务器,它属于网络盗版的一种,是侵害著作权的行为。私服”在客观上分流了大量的游戏玩家,不但使游戏企业的经营受到影响,更主要的是它扰乱了网络文化市场。
私服运营者在损害了游戏运营商和游戏制作方的经济利益的同时,也侵犯了知识产权。为了加速其非法获利,势必会采取一些例如贩卖角色信息、游戏装备、金币等破坏游戏平衡的手段,除了会造成用户分流,为运营商和游戏制作商带来不可估量的经济损失外,也会影响正常游戏玩家的体验。同时私服损害了中国保护知识产权的国际声誉,而且妨碍了文化创意产业的对外交流合作与贸易。
私服脱离了政府有关部门的监管,对游戏内的舆论环境无法控制。使用本程序,可以有效的防止服务器程序泄密,避免因私服中出现的血腥暴力、黄色言语而对游戏用户产生的不良影响,从而净化信息,使网游用户能够在绿色环境中进行游戏,培养正确的价值观。
私服还可能成为其他违法犯罪的温床。本程序可以有效遏制通过私服非法获利的黑色产业链,以及预防可能发生的网络犯罪行为,同时可以维护游戏厂商的正当利益及用户的隐私权。如今的网络犯罪已经组织化、规模化、公开化,形成了一个非常完善的产业链。除了经营私服的非法收入外,私服中常见的木马程序还会盗取游戏用户的个人信息、账号、游戏装备、私人照片、私人视频、和个人财产信息。私服经营者或木马程序制造者除贩卖这些私人信息获取非法利益外,甚至还会盗用用户的银行账户实行***。
私服还严重恶化文化创意产业、网络游戏产业的发展环境,阻碍产业健康发展,是一种侵犯游戏版权的盗窃行为。
目前我国网游私服已经形成了一条完整的地下产业链,从私服开发、代理、经营以及广告发布、提供支付平台等,分工明确,获利丰厚。也就是说,从小作坊式的私服运营中获利后,这个群体甚至在走向“有序化”。但纠其根源,私服产生的源头是由于游戏服务器源程序的泄漏造成的,源程序的泄漏主要产生的三个环节:(1)开发商管理不善导致源程序流出。(2)运营商运维环节管理不善导致程序流出。(3)运营商需在各地架设服务器,机房管理环节导致的程序流出。
从以上三点可以看出,由于网络游戏开发和运营的特殊性,不得不面临源程序多人经手导致了私服屡禁不止的现状。
发明内容
为了克服以上所述的不足,本发明提供了一种在不影响游戏运营的基础上防止源程序被盗且不影响源程序使用,同时做到即使源程序泄露,也完全不会被破解的服务器防泄漏***。
为解决上述问题,本发明所采用的技术方案是:
服务器防泄漏***,其特征在于:包含分离代码段部分和还原原始PE段部分。
进一步地说:
所述分离代码段部分的具体步骤如下:
1)、首先获取PE文件的IMAGE_DOS_HEADER结构;
PE文件在内存中的首地址即为:IMAGE_DOS_HEADER结构的起始地址,其中,e_lfanew字段指向的就是IMAGE_NT_HEADERS结构的偏移地址;
2)、通过IMAGE_DOS_HEADER结构获取IMAGE_NT_HEADERS结构;
通过IMAGE_DOS_HEADER结构的e_lfanew字段就可获得IMAGE_NT_HEADERS结构的首地址信息;
通过IMAGE_NT_HEADERS结构获取IMAGE_FILE_HEADER结构;
通过IMAGE_NT_HEADERS结构的FileHeader字段就可获得IMAGE_FILE_HEADER结构的偏移地址;再通过IMAGE_FILE_HEADER的NumberOfSections字段就可获得PE文件的节数量;
4)、通过IMAGE_NT_HEADERS结构获取IMAGE_OPTIONAL_HEADER结构;
通过IMAGE_NT_HEADERS结构的OptionalHeader字段就可以获得IMAGE_OPTIONAL_HEADER结构的偏移地址;
5)、通过IMAGE_NT_HEADERS结构获取IMAGE_SECTION_HEADER结构;
通过IMAGE_FIRST_SECTION宏可以从IMAGE_NT_HEADERS结构中分离出第一个IMAGE_SECTION_HEADER结构的首地址偏移;
6)、遍历PE文件的所有IMAGE_SECTION_HEADE结构,找出所有的属性为IMAGE_SCN_CNT_CODE的节,我们把这些节称之为:代码段;
7)、将原始PE文件的代码段全部复制到一个缓冲区,并将原始文件的这些代码段用0x00填充并保存;
8)、将复制出的代码段加密并上传到专用的安全服务器保存;
至此,PE文件的代码段分离工作完成,被分离了代码段的PE文件,简称为MPE文件。
更进一步地说:
所述在内存中还原原始PE文件并运行的具体步骤如下:
1)、利用CreateProcess函数创建MPE文件进程并挂起进程;
2)、在内存里下载及解密该MPE文件对应的代码段数据;
3)、打开MPE文件进程句柄;
4)、利用VirtualProtectEx函数修改对应地址的内存属性,改为可写状态;
5)、利用WriteProcessMemory函数,将解密还原的代码段数据依次写入目标进程地址空间;
6)、利用VirtualProtectEx函数还原目标进程地址空间的页属性;
7)、运行MPE进程,完成启动过程。
更进一步地说:
所述首地址为基地址加上e_lfanew的值。
由于采用了上述技术方案,与现有技术相比,本发明分析Windows的PE文件格式,采用自动分析的方式来将可运行程序的代码部分分离并加密,使原始的可运行程序无法直接运行,从而达到使非法者即使获取了可运行程序依然无法运行,并且由于该程序已经没有可运行的代码了,所以即使采用一些逆向工程手段和反编译手段也无法获得原始程序,进而保证了该可运行程序的安全。该方法比传统的给程序加壳的方式要安全很多,因为加壳方式是可以通过一些技术手段完成脱壳,从而获得原始程序。
本发明中采用C/S结构,共包含三个程序:运营商工具MPEServer,开发商工具MPEMaker及通用工具MPEStarter。此三个程序可以为游戏源程序自动生成保护壳,防止源程序被盗,不影响源程序使用,同时做到即使源程序泄露,也完全不会被破解。本发明通过此原理,可以有效防止私服产生。
具体实施方式
下面结合实例对本发明作进一步说明:
实施例:
在本发明中,服务器防泄漏***包含分离代码段部分和还原原始PE段部分这两部分。这两部分一般采用的是顺寻工作的方式工作。
第一阶段是分离代码段部分,其具体步骤如下:
1)、首先获取PE文件的IMAGE_DOS_HEADER结构。
PE文件在内存中的首地址即为:IMAGE_DOS_HEADER结构的起始地址,其中,e_lfanew字段指向的就是IMAGE_NT_HEADERS结构的偏移地址。
2)、通过IMAGE_DOS_HEADER结构获取IMAGE_NT_HEADERS结构。
通过IMAGE_DOS_HEADER结构的e_lfanew字段就可获得IMAGE_NT_HEADERS结构的首地址信息。在本步骤中,首地址为基地址加上e_lfanew的值。
通过IMAGE_NT_HEADERS结构获取IMAGE_FILE_HEADER结构。
通过IMAGE_NT_HEADERS结构的FileHeader字段就可获得IMAGE_FILE_HEADER结构的偏移地址;再通过IMAGE_FILE_HEADER的NumberOfSections字段就可获得PE文件的节数量。
4)、通过IMAGE_NT_HEADERS结构获取IMAGE_OPTIONAL_HEADER结构。
通过IMAGE_NT_HEADERS结构的OptionalHeader字段就可以获得IMAGE_OPTIONAL_HEADER结构的偏移地址。
5)、通过IMAGE_NT_HEADERS结构获取IMAGE_SECTION_HEADER结构。
通过IMAGE_FIRST_SECTION宏可以从IMAGE_NT_HEADERS结构中分离出第一个IMAGE_SECTION_HEADER结构的首地址偏移。
6)、遍历PE文件的所有IMAGE_SECTION_HEADE结构,找出所有的属性为IMAGE_SCN_CNT_CODE的节,我们把这些节称之为:代码段。
7)、将原始PE文件的代码段全部复制到一个缓冲区,并将原始文件的这些代码段用0x00填充并保存。
8)、将复制出的代码段加密并上传到专用的安全服务器保存;
至此,PE文件的代码段分离工作完成,被分离了代码段的PE文件,简称为MPE文件。
第一阶段是在内存中还原原始PE文件并运行,其具体步骤如下:
1)、利用CreateProcess函数创建MPE文件进程并挂起进程。
2)、在内存里下载及解密该MPE文件对应的代码段数据。
3)、打开MPE文件进程句柄。
4)、利用VirtualProtectEx函数修改对应地址的内存属性,改为可写状态。
5)、利用WriteProcessMemory函数,将解密还原的代码段数据依次写入目标进程地址空间。
6)、利用VirtualProtectEx函数还原目标进程地址空间的页属性。
7)、运行MPE进程,完成启动过程,对服务器进行防泄漏保护。
本发明分析Windows的PE文件格式,采用自动分析的方式来将可运行程序的代码部分分离并加密,使原始的可运行程序无法直接运行,从而达到使非法者即使获取了可运行程序依然无法运行,并且由于该程序已经没有可运行的代码了,所以即使采用一些逆向工程手段和反编译手段也无法获得原始程序,进而保证了该可运行程序的安全。该方法比传统的给程序加壳的方式要安全很多,因为加壳方式是可以通过一些技术手段完成脱壳,从而获得原始程序。
本发明中采用C/S结构,共包含三个程序:运营商工具MPEServer,开发商工具MPEMaker及通用工具MPEStarter。此三个程序可以为游戏源程序自动生成保护壳,防止源程序被盗,不影响源程序使用,同时做到即使源程序泄露,也完全不会被破解。本发明通过此原理,可以有效防止私服产生。最后应当说明的是,以上内容仅用以说明本发明的技术方案,而非对本发明保护范围的限制,本领域的普通技术人员对本发明的技术方案进行的简单修改或者等同替换,均不脱离本发明技术方案的实质和范围。

Claims (2)

1.服务器防泄漏***,其特征在于:包含分离代码段部分和还原原始PE段部分;
所述分离代码段部分的具体步骤如下:
1)、首先获取PE文件的IMAGE_DOS_HEADER结构;
PE文件在内存中的首地址即为:IMAGE_DOS_HEADER结构的起始地址,其中,e_lfanew字段指向的就是IMAGE_NT_HEADERS结构的偏移地址;
2)、通过IMAGE_DOS_HEADER结构获取IMAGE_NT_HEADERS结构;
通过IMAGE_DOS_HEADER结构的e_lfanew字段就可获得IMAGE_NT_HEADERS结构的首地址信息;
通过IMAGE_NT_HEADERS结构获取IMAGE_FILE_HEADER结构;
通过IMAGE_NT_HEADERS结构的FileHeader字段就可获得IMAGE_FILE_HEADER结构的偏移地址;再通过IMAGE_FILE_HEADER的NumberOfSections字段就可获得PE文件的节数量;
3)、通过IMAGE_NT_HEADERS结构获取IMAGE_OPTIONAL_HEADER结构;
通过IMAGE_NT_HEADERS结构的OptionalHeader字段就可以获得IMAGE_OPTIONAL_HEADER结构的偏移地址;
4)、通过IMAGE_NT_HEADERS结构获取IMAGE_SECTION_HEADER结构;
通过IMAGE_FIRST_SECTION宏可以从IMAGE_NT_HEADERS结构中分离出第一个IMAGE_SECTION_HEADER结构的首地址偏移;
5)、遍历PE文件的所有IMAGE_SECTION_HEADE结构,找出所有的属性为IMAGE_SCN_CNT_CODE的节,我们把这些节称之为:代码段;
6)、将原始PE文件的代码段全部复制到一个缓冲区,并将原始文件的这些代码段用0x00填充并保存;
7)、将复制出的代码段加密并上传到专用的安全服务器保存;
至此,PE文件的代码段分离工作完成,被分离了代码段的PE文件,简称为MPE文件;
所述在内存中还原原始PE文件并运行的具体步骤如下:
1)、利用CreateProcess函数创建MPE文件进程并挂起进程;
2)、在内存里下载及解密该MPE文件对应的代码段数据;
3)、打开MPE文件进程句柄;
4)、利用VirtualProtectEx函数修改对应地址的内存属性,改为可写状态;
5)、利用WriteProcessMemory函数,将解密还原的代码段数据依次写入目标进程地址空间;
6)、利用VirtualProtectEx函数还原目标进程地址空间的页属性;
7)、运行MPE进程,完成启动过程。
2.根据权利要求1中所述的服务器防泄漏***,其特征在于:所述首地址为基地址加上e_lfanew的值。
CN201210288431.3A 2012-08-14 2012-08-14 服务器防泄漏*** Active CN102831361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210288431.3A CN102831361B (zh) 2012-08-14 2012-08-14 服务器防泄漏***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210288431.3A CN102831361B (zh) 2012-08-14 2012-08-14 服务器防泄漏***

Publications (2)

Publication Number Publication Date
CN102831361A CN102831361A (zh) 2012-12-19
CN102831361B true CN102831361B (zh) 2015-04-08

Family

ID=47334494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210288431.3A Active CN102831361B (zh) 2012-08-14 2012-08-14 服务器防泄漏***

Country Status (1)

Country Link
CN (1) CN102831361B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392151B (zh) * 2014-11-27 2017-12-26 北京深思数盾科技股份有限公司 一种软件保护方法及***
TW201915810A (zh) * 2017-09-25 2019-04-16 英屬維爾京群島商伊格拉斯控股有限公司 新竹市新安路5號4樓之1 107,206室 一種對電子檔進行保護的方法;以及完成該方法的電腦程式產品
CN118194252A (zh) * 2024-05-17 2024-06-14 宁波如磐科技有限公司 一种Windows内核驱动程序的保护方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236590A (zh) * 2008-03-07 2008-08-06 北京邮电大学 一种基于门限密码体制的软件分割保护的实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060156397A1 (en) * 2005-01-13 2006-07-13 Steven Dai A New Anti-spy method without using scan
CN101980160B (zh) * 2010-10-28 2013-02-13 飞天诚信科技股份有限公司 一种.net程序加密后的执行方法
CN102592103B (zh) * 2011-01-17 2015-04-08 中国电信股份有限公司 文件安全处理方法、设备及***

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236590A (zh) * 2008-03-07 2008-08-06 北京邮电大学 一种基于门限密码体制的软件分割保护的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
段钢.***篇.《加密与解密(第三版)》.电子工业出版社,2008, *

Also Published As

Publication number Publication date
CN102831361A (zh) 2012-12-19

Similar Documents

Publication Publication Date Title
US20220043890A1 (en) Method and apparatus of drm systems for protecting enterprise confidentiality
Bechtold Digital rights management in the United States and Europe
Nagra et al. Surreptitious software: obfuscation, watermarking, and tamperproofing for software protection
US7464269B2 (en) Secure method and system for handling and distributing digital media
CN106506159A (zh) 用于密钥安全的加密方法和设备
Lee et al. Electronic Commerce, Hackers, and the Search for Legitimacy: A Regulatory Proposal
Turner et al. A target-centric intelligence approach to WannaCry 2.0
CN102831361B (zh) 服务器防泄漏***
Koops et al. Cybercrime and jurisdiction
Yuste et al. Avaddon ransomware: An in-depth analysis and decryption of infected systems
Baylon et al. Increasing internet connectivity while combatting cybercrime: Ghana as a case study
Hamilton et al. An evaluation of static java bytecode watermarking
Wang et al. Rethinking the vulnerability of dnn watermarking: Are watermarks robust against naturalness-aware perturbations?
Spring et al. Global adversarial capability modeling
Alrehily et al. Computer security and software watermarking based on return-oriented programming
CN106096337A (zh) 一种数字出版版权保护的***和方法
CN111191194B (zh) 一种多核处理器软件集成开发环境离线使用许可***
Salisu et al. Blockchain forensics: A modern approach to investigating cybercrime in the age of decentralisation
Peng et al. Control flow obfuscation based protection method for android applications
Maluleke Exploring Cybercrime: An Emerging Phenomenon and Associated Challenges in Africa
Pandey et al. Role of Technology Under Advancement of Industrialisation in Intellectual Property Rights
CN113821770A (zh) 一种针对共享数据保护的定向对抗下毒攻击方法
Wang et al. Field experience with obfuscating million‐user iOS apps in large enterprise mobile development
Kumar et al. A generalized process of reverse engineering in software protection & security
Sun et al. Introducing code assets of a new white-box security modeling language

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant