DS 产品化_支持各种解决方案文档

实现原理


文件读取方式

我们如果要对文件内容进行过滤和处理必须要加入一层

这个过滤层就是我们的插件实现的功能,它是一个动态链接库,在加壳的时候会被插入到加壳的文件( exe 或者 dll )中。在运行的时候会被加载到内存,然后执行初始化函数,就将文件的操作挂钩,然后文件的操作都将被这个插件进行过滤。对于加密的文件进行解密,对于未加密的文件还是按照原流程处理。

具体的文件操作和处理:

  • >文件的操作:打开,读取,写入,移动指针,获得属性,关闭
  • >使用钩子截获文件的打开,读取,移动指针,获得文件大小,关闭的事件。
  • >在文件打开的时候,判断文件是否被加密,并登记到列表中
  • >在文件读取的时候, 读取并解密文档,返回
  • > 在文件移动指针的时候,确保指针不要移动到原文件大小之外
  • >在获得文件大小的时候,要返回文件原来大小
  • > 在关闭的时候从登记列表中删除

在应用层实现的缺陷

windows 的文件读取的层次

各层之间的内容可能不同,我们现在只是在文件-内存之间实现挂钩

那么当应用读取文件的方式采用缓存的方式的时候,我们就不能拦截文件的读写就不能进行解密

应用层实现资源加密解密依赖于应用的实现

测试的范围

序号 软件名称 类型 支持or不支持
1 python 语言类 Y
2 lua 语言类 Y
3 perl 语言类 Y
4 erlang 语言类 Y
5 ruby 语言类 Y
6 go 语言类 N
7 php 语言类 N
8 R 语言类 N
9 Unity游戏 游戏类 Y
10 UE4游戏 游戏类 部分支持
11 Potplayer 播放软件 Y
12 暴风影音(安装版) 播放软件 Y
13 暴风影音绿色版 播放软件 N
14 jar,war web or 客户端 开发环境 Y

分类说明以上支持的软件的资源保护方法


语言类的使用方法

python 语言

安装版本:
2.7.6
1.添加环境变量:添加环境变量:在我的电脑->属性->高级->环境变量
2.变量名:path 变量值:C:\Python27(python的安装目录)
3.打开命令行,输入python回车,显示版本号则配置成功

4.对安装目录下如C:\Python27
中python.exe进行加壳
5.打开DS,导入刚加壳生成的配置工具,添加所需要保护的demo,点击保护
6.进入demo所在的目录下,运行如python_demo.py

lua 语言

安装版本:5.3.4

1.安装完成之后命令行中输入lua,若出现版本号则表示安装成功
2.若提示不是内部命令,需要在我的电脑->属性->高级->环境变量,变量名path 变量值:lua的安装目录
3.再次在命令行中输入lua,出现版本号则表示配置成功
4.对安装目录下的lua.exe进行加壳。
6.进入demo所在的目录下,运行如lua demo.lua

perl 语言

安装版本:5.26.1

1.安装完成之后命令行输入perl --version,若出现版本号则表示安装成功
2.若提示不是内部命令,需要在我的电脑->属性->高级->环境变量,变量名path 变量值:perl的安装目录
3.再次在命令行中输入perl --version,出现版本号则表示配置成功
4.对安装目录(如:C:\Strawberry\perl\bin)下的perl.exe进行加壳。
5.打开DS,导入刚加壳生成的配置工具,添加所需要保护的demo,点击保护
6.进入demo所在的目录下,运行如perl demo.pl

erlang 语言

安装版本:9.1

1.安装完成之后命令行输入erl,若出现版本号则表示安装成功
2.若提示不是内部命令,需要在我的电脑->属性->高级->环境变量,变量名path 变量值:erlang的安装目录
3.再次在命令行中输入erl,出现版本号则表示配置成功
4.对安装目录(如:C:\Program Files\erl9.1\bin)下的erl.exe进行加壳。
5.打开DS,导入刚加壳生成的配置工具,添加所需要保护的demo,点击保护
6.进入demo所在的目录下,运行如erl demo.erl

ruby 语言

安装版本:2.4.2

1.安装完成之后命令行输入ruby --version,若出现版本号则表示安装成功
2.若提示不是内部命令,需要在我的电脑->属性->高级->环境变量,变量名path 变量值:ruby的安装目录
3.再次在命令行中输入ruby --version,出现版本号则表示配置成功
4.对安装目录(如:C:\Ruby24-x64\bin)下的ruby.exe进行加壳。
5.打开DS,导入刚加壳生成的配置工具,添加所需要保护的demo,点击保护
6.进入demo所在的目录下,运行如ruby demo.rb

游戏类的使用方法

Unity 游戏

文件目录如下

对上面目录中的exe进行加壳处理
脚本目录,可以对Assembly-CSharp.dll进行保护

打开DS,导入刚加壳生成的配置工具,添加所需要保护的Assembly-CSharp.dll,点击保护
数据目录,可以对*.resS进行保护

打开DS,导入刚加壳生成的配置工具,添加所需要保护的数据文件,点击保护

播放类软件的使用方法

PotPlayer

选择了一个绿色免安装的视频播放器,运行程序PotPlayerMini.exe
对此程序进行加壳,打开DS,导入刚加壳生成的配置工具,添加所需要保护的视频,点击保护,运行加壳过后的程序。

暴风影音(安装版)

安装的是5.72.921.1111,运行程序 StormPlayer.exe
对此程序进行加壳,打开DS,导入刚加壳生成的配置工具,添加所需要保护的视频,点击保护,运行加壳过后的程序。

开发环境

java 的 war 和 jar 包的加密

1.对war包进行加壳
1.1、可以先启动程序然后在资源管理器中找到对应程序,打开所在位置,找到对应的程序可以再次进行加壳。
我的安装目录如下:D:\apache-tomcat-9.0.0.M21\webapps
先启动tomcat服务确认能正常启动,启动过后该War包会自动解压出一个同名的文件夹。

对java.exe进行加壳,对war包文件夹里的class进行资源保护(可根据自己情况选择),然后重启tomcat,
输入http://localhost:8080/myhome.ssp(根据自己的war包名)进行验证。
1.2、若在控制面板-管理工具-服务中启动Tomcat,需要对tomcat9.exe程序进行加壳(需按照自己查看自己电脑上对应的哪个程序)。
方法:可以先启动程序然后在资源管理器中找到对应程序,打开所在位置。

注:若服务中没有找到tomcat,需要切换到tomcat\bin目录下,执行命令service install 服务名
(我得是9,service install tomcat9),若没有也没必要加入到服务中。
2、jar包进行加壳
执行程序一般都是对java里jre目录下的java.exe进行加壳
对javaw.exe或java.exe进行加壳,打开DS,导入刚加壳生成的配置工具,添加所需要保护的jar,点击保护,
然后运行jar包,命令为javaw –jar bounce.jar或java -jar bounce.jar

results matching ""

    No results matching ""