unity绕过易赛通加密处理
代码在这里
使用如下:选中目录或文件,邮件显示如下界面,点击Unlock即可
参考这里的文章:https://www.grablan.com/news/2017/20110.html
抽取一下重点:
易赛通使用驱动对关键API进行Hook的方式实现了文件的加解密功能, 加解密过程对应用层完全透明。
它只在特定的进程名创建和修改文件时进行加密,如下:
加密结果 | 进程名存在于加密进程列表中 | 进程名不存在于加密列表中 |
---|---|---|
更改文件存在于扩展名列表中 | 加密 | 不加密 |
更改文件不存在于扩展名列表中 | 不加密 | 不加密 |
具体的实现步骤如下:
将自己开发的程序的进程名改为进程列表内的进程名 比如:winrar.exe
使用该程序读取已加密的文件 , 此时易赛通会提供解密服务
程序获取到已解密的数据后将数据保存到文件 并将文件的扩展名指定为不在扩展名列表中的扩展名 比如: .temp
使用另外一个程序修改刚才保存的文件的扩展名为原先的程序扩展名
解密完成
由于程序是嵌套在unity中的,所以它可以支持unity支持的文件进行解密处理,但是对于.xls,.doc等unity不支持的文件类型不能进行解密处理,根据上面的描述,也可以很轻松的改下代码,实现对其他文件类型的支持。
由于工作上所接触到的数据的特殊性 , 公司要求电脑上必须加装"易赛通数据泄露防护客户端" , 导致很多常用格式的文件都被加密了 , 文件拷贝到未装易赛通的电脑上打开就是乱码甚至像.xlsx .docx这样的文件甚至无法打开 . 于是决定编写一个文件解密的工具来实现将被加密的文件还原为未加密的状态 .
分析易赛通的主要程序结构:
主进程模块 : CDGRegedit.exe(64位为CDGRegedit64.exe) 负责程序的GUI , 加密策略更新和用户登录等 位于EsafeNet\Cobra DocGuard Client
辅助进程: EstVPN.exe(64位为EstVPN64.exe) 负责守护主进程模块 , 提供主进程模块的保护和重启 位于EsafeNet\Cobra DocGuard Client
驱动 : Filelock.sys 提供驱动层的数据加密 位于Windows\System32\drivers
研究发现易赛通使用驱动对关键API进行Hook的方式实现了文件的加解密功能 , 加解密过程对应用层完全透明 一般的应用层手段都无能为力了 于是我想硬的不行就来软的 一计借刀杀人就实现了文件解密的 , 下面是具体的实现思路
长期观察发现易赛通只在特定的进程名创建和修改文件时进行加密 , 总结出了如下加密规律 .
加密结果 | 进程名存在于加密进程列表中 | 进程名不存在于加密列表中 |
更改文件存在于扩展名列表中 | 加密 | 不加密 |
更改文件不存在于扩展名列表中 | 不加密 | 不加密 |
具体解释一下 , 易赛通会维护两个列表 , 一个是进程名列表 , 一个是进程名对应的扩展名列表
易赛通只在处于进程名列表内的进程名读写特定的扩展名时进行加解密 举个例子 notepad.exe进程在读写.txt文件时会提供加解密服务 , 但在读写.abc的扩展名文件时就不会提供加解密服务 , abc.exe进程在读写任何扩展名的文件时都不会提供加解密服务 , 因为他不在进程名列表中 .
这样一来就好办了 , 既然是通过进程名判断是否提供加解密服务 , 那么使用以下流程就可以实现文件的解密了
借刀杀人的具体实现流程 :
1. 将自己开发的程序的进程名改为进程列表内的进程名 比如:winrar.exe
2. 使用该程序读取已加密的文件 , 此时易赛通会提供解密服务
3. 程序获取到已解密的数据后将数据保存到文件 并将文件的扩展名指定为不在扩展名列表中的扩展名 比如: .temp
4. 使用另外一个程序修改刚才保存的文件的扩展名为原先的程序扩展名
5. 解密完成
从流程看解密过程在第三部实际上就已经完成了 , 下面是具体DEMO的演示动画(图片比较大 , 加载时间长)
DEMO下载地址
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/5291.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~