軟件加密或者禁止被挪走使用

s_111111 2010-04-08 02:18:21
問題描述:
自己編的一個軟件,放在服務器中共享開放給內網的員工使用。如何讓內網的員工拷貝到自己機器后無法使用。放到自己私人電腦更是禁止運行。
有經驗的大俠幫忙解答下。

附上有效代碼者有加分。。。
...全文
360 39 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
s_111111 2010-04-16
  • 打赏
  • 举报
回复
夜貓跟十三豆呢 。。。。
有經驗的高手幫幫忙。。。
shou55 2010-04-15
  • 打赏
  • 举报
回复
怎么实现哦,这个有难度
s_111111 2010-04-14
  • 打赏
  • 举报
回复
up一下
都市夜猫 2010-04-13
  • 打赏
  • 举报
回复
嗯,配置 DCOM 确实是件较复杂的技术,到网上搜一下看看有没有帮助,例如看这些链接:
http://topic.csdn.net/t/20030210/12/1413953.html
http://support.sas.com/rnd/itech/doc9/admin_oma/sasserver/comdcom/xpsp2.html
s_111111 2010-04-13
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 dkfdtf 的回复:]
嗯,配置 DCOM 确实是件较复杂的技术,到网上搜一下看看有没有帮助,例如看这些链接:
http://topic.csdn.net/t/20030210/12/1413953.html
http://support.sas.com/rnd/itech/doc9/admin_oma/sasserver/comdcom/xpsp2.html
[/Quote]
白天估计测试不了,下班后测试,先谢了。
s_111111 2010-04-13
  • 打赏
  • 举报
回复
測試過了,好像不是DCOM問題。還是這兩個問題:
一.計算機A做主機,計算機B做客戶機
計算機A注冊后,能檢測自己的DISK號,但是共享給計算機B使用后,計算機B出錯為:access is denied.

二.倒過來,計算機B做主機,計算機A做客戶機
計算機B注冊后,能檢測自己的DISK號,但是共享給計算機A使用后,計算機A出錯為:The RPC server is unavailable.
s_111111 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 dkfdtf 的回复:]
引用 22 楼 s_111111 的回复:
在服務端運行OK能出來硬盤序列號,但是在客戶端運行后,就不行了。原因估計抓的計算機名是本機的。
本人還是不很清楚,如何能抓到服務器的?(輸入服務器IP和計算機名都不行)

在客户端你自己输入服务器的名称就行了,自动抓是做不到的,Windows 系统是对等网,相互之间是对等的,没有服务器和工作站之分。
[/Quote]
試過了,沒有抓到,調試的時候好像直接沒認到服務器。但是在客戶端PING服務器名是可以ping到的
都市夜猫 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 s_111111 的回复:]
在服務端運行OK能出來硬盤序列號,但是在客戶端運行后,就不行了。原因估計抓的計算機名是本機的。
本人還是不很清楚,如何能抓到服務器的?(輸入服務器IP和計算機名都不行)
[/Quote]
在客户端你自己输入服务器的名称就行了,自动抓是做不到的,Windows 系统是对等网,相互之间是对等的,没有服务器和工作站之分。
s_111111 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 dkfdtf 的回复:]
将以前读取硬盘序列号的类抽了出来,简单做了些修改,因原来这个类中还包含很多其他的相关类,不修改会产生很多编译时引用错误;为保护原代码,使用了混淆器,并删除了注释,但不影响测试使用。楼主要解决的问题是如何在客户端读取到服务器上的硬件信息,只要搞清楚客户端测试代码 test.prg 即可。

示例程序:mycom.rar
[/Quote]
在服務端運行OK能出來硬盤序列號,但是在客戶端運行后,就不行了。原因估計抓的計算機名是本機的。
本人還是不很清楚,如何能抓到服務器的?(輸入服務器IP和計算機名都不行)
s_111111 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 dkfdtf 的回复:]
A/B 间能共享文件夹并复制文件吗?
[/Quote]
完全可以,還可以刪除東西
都市夜猫 2010-04-12
  • 打赏
  • 举报
回复
A/B 间能共享文件夹并复制文件吗?
s_111111 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 dkfdtf 的回复:]
引用 29 楼 s_111111 的回复:
引用 28 楼 dkfdtf 的回复:
出错提示那张图是读取本机时出现的吗?

是的

可能是混码器出了点问题,修正后的版本上传到这里:mycom.rar

从前面你描述的内容来看,主要是无法启动远程 com 组件,先将服务器的访问权限限制降低试试,运行 gpedit.msc 来重新配置一下:
计算机配置->Windows 设置->安全……
[/Quote]
現在就兩個情況:

一.計算機A做主機,計算機B做客戶機
計算機A注冊后,能檢測自己的DISK號,但是共享給計算機B使用后,計算機B出錯為:access is denied.

二.倒過來,計算機B做主機,計算機A做客戶機
計算機B注冊后,能檢測自己的DISK號,但是共享給計算機A使用后,計算機A出錯為:The RPC server is unavailable.

注明:計算機A跟計算機B的設置基本上差不多,這些設定都做了,RPC服務都開了,防火墻也都關了,之間安全性都是完全控制級別,調試這個真是一場噩夢。。。。
都市夜猫 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 s_111111 的回复:]
引用 28 楼 dkfdtf 的回复:
出错提示那张图是读取本机时出现的吗?

是的
[/Quote]
可能是混码器出了点问题,修正后的版本上传到这里:mycom.rar

从前面你描述的内容来看,主要是无法启动远程 com 组件,先将服务器的访问权限限制降低试试,运行 gpedit.msc 来重新配置一下:
计算机配置->Windows 设置->安全设置->本地策略->安全选项
其中 来宾账户状态 -> 启用, 使用空白密码的... -> 禁用
试验用的服务端和客户端机器的 Administrator 用户的口令先全部设为空,防火墙也先关闭。在远程调用成功后再逐项恢复回去,最终找到原因所在。

RPC 服务必须开启,否则无法远程调用,相关的服务可能还有 DCOM Server Process Launcher 等。配置 DCOM 可能比较复杂,特别是很多精简过或做过优化的系统,为了安全起见,它们删除或禁用了很多远程服务,配置 COM+ 更是一场噩梦,这也许是它们不太流行的原因
s_111111 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 dkfdtf 的回复:]
出错提示那张图是读取本机时出现的吗?
[/Quote]
是的
都市夜猫 2010-04-12
  • 打赏
  • 举报
回复
出错提示那张图是读取本机时出现的吗?
s_111111 2010-04-12
  • 打赏
  • 举报
回复
又換了一臺電腦 結果又出來這個錯誤:OLE error code 0x800706ba:The RPC server is unavailable.
唉,我這邊問題怎么這么多了。RPC是一個服務,不過開啟以后還是不行,問題多多。。。。也要多多麻煩夜貓了。
s_111111 2010-04-12
  • 打赏
  • 举报
回复
不知道怎么貼圖,我就用鏈接形式吧(每臺機器我都注冊過了)
一.我用自己電腦做服務器
1.輸入自己主機名可以檢測到硬盤序列號
2.但是別的網上鄰居可以看到卻不能找到我的硬盤序列號,提示錯誤:OLE error code 0x80070005:Access is denied.
二.換一臺電腦做測試,本機就做不了TEST,不用說別客戶端了。
1.輸入服務器名
http://hi.csdn.net/space-2427207-do-album-picid-515490-goto-down.html
2.出錯顯示
http://hi.csdn.net/space-2427207-do-album-picid-515489-goto-down.html
都市夜猫 2010-04-12
  • 打赏
  • 举报
回复
网络邻居中是否可以看到做服务器的那台机?查查是否被防火墙阻隔
或者先将情况简化,例如使能服务器上的 guest 用户,运行策略编辑器 gpedit.msc,允许空口令用户登录,...等等。成功后再看是什么原因导致认不到服务器的
我测试过,在可以连接到服务器的情况下,是能够得到服务器硬件信息的
都市夜猫 2010-04-10
  • 打赏
  • 举报
回复
将以前读取硬盘序列号的类抽了出来,简单做了些修改,因原来这个类中还包含很多其他的相关类,不修改会产生很多编译时引用错误;为保护原代码,使用了混淆器,并删除了注释,但不影响测试使用。楼主要解决的问题是如何在客户端读取到服务器上的硬件信息,只要搞清楚客户端测试代码 test.prg 即可。

示例程序:mycom.rar
十豆三 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 s_111111 的回复:]
引用 14 楼 dkfdtf 的回复:
用 vfp 或其他语言写个读取硬盘序列号的 DLL(COM 形式)放在服务器上,程序中用 DCOM 方式(CreateObjectEx)调用,这样读取的就是服务器的硬盘序列号了

內網員工運行后能檢測服務器信息(硬盤序列號等)?如果可以的話能給出一個簡單的測試代碼否?
[/Quote]


<VFP编写DLL>
http://blog.csdn.net/apple_8180/archive/2008/04/23/2318555.aspx
加载更多回复(19)

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧