赞 | 12 |
VIP | 107 |
好人卡 | 6 |
积分 | 4 |
经验 | 31122 |
最后登录 | 2024-6-29 |
在线时间 | 1606 小时 |
Lv2.观梦者 傻♂逼
- 梦石
- 0
- 星屑
- 374
- 在线时间
- 1606 小时
- 注册时间
- 2007-3-13
- 帖子
- 6562
 
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
1、保护
对脚本进行C++化,保留C++和Ruby共有部分,即
class XXX
def func1(arg1,arg2...)
CRuby["XXX"]["func1"].call(arg1,arg2...)
end
def func2(arg1,arg2)
...
end
把整个代码变为这样的形式。
在Dll里面使用rb_eval(反汇编)进行调用。同时进行入口点检查。
2、试用
对于试用的脚本,可以通过限制运行时间和跳出Logo进行保护
3、加密
对DLL核心部分采用证书(私钥+加密档指纹)+AES加密,同时加壳,未验证证书时以试用模式运行,验证通过后则以授权模式运行。
4、授权
对于授权用户,提供数字签名DLL的核心部分必须经由数字签名解密后运行,同时数字签名与RM加密档案绑定。做法是提供一个绑定工具,验证作者身份后往RM 加密档中写入以下数据:
1、公钥
2、更换Trial的DLL为完整DLL
-----------------------------------------
整个算法目前DLL的保护较为薄弱……寻求解决方案。 |
|