设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
编程技术
›
C
›
获取硬件序列号(注册机)
返回列表
查看:
32
|
回复:
0
获取硬件序列号(注册机)
[复制链接]
javatoyou
javatoyou
当前离线
积分
1323
窥视卡
雷达卡
升级
16.15%
当前用户组为
探花
当前积分为
1323
, 升到下一级还需要 1677 点。
427
主题
427
主题
427
主题
探花
探花, 积分 1323, 距离下一级还需 1677 积分
探花, 积分 1323, 距离下一级还需 1677 积分
积分
1323
发消息
楼主
|
发表于 2013-1-26 14:26:14
|
显示全部楼层
|
阅读模式
一般软件的注册机制可以通过获取硬件序列号,然后用
非对称加密算法
生成相应的
公钥
和
私钥
。但是用Managed Code写获取硬盘序列号的代码不能解决所有的问题,比如不能在非管理员的权限下使用,前几天Sunmast在他的Blog上发布了《
如何得到硬盘序列号?.NET版本[C#]
》,就是没有解决这个问题,用WMI也有很多问题。
要想顺利获取硬盘的序列号,目前只能依靠非托管代码了。
DiskId32
是一个源码公开的C++程序,可以解决上述问题。由于代码比较底层,我对VC和DDK不熟悉,没有能力将其封装为DLL,希望各位帮忙!
还有,就算封装好了这个Native DLL并可以使用了,但还有问题没有解决
。如果封装到了Native DLL,该DLL很容易被人替换成另外一个,毕竟在Managed Code里面可以看到调用Native DLL的函数声明,别人只要模仿这些函数界面重新写一个新的就很容易达到破解目的了。不过具体我没有测试过,不知道行不行。
于是我又想到了另外一个方法,就是把获取硬盘序列号的Native DLL作为资源文件封装到Managed Code中,然后在每次要调要该DLL时,先把该DLL写入磁盘,再动态绑定。由于Managed Code可以通过混淆器来保护,以致不能对其进行修改,这个我在《
如何保护我们的 .NET 程序集?
》中已经给出了答案。动态绑定Native DLL又是另外一个技术难题,我已经找到了一些资料,与大家分享
。
Late binding on native DLLs with C#
Late-Binding DLLs in C#
Using legacy plug-ins with .NET - Part 1
Using legacy plug-ins with .NET - Part 2
C-Function pointer for .NET
Dynamic PInvoke method calls
不过最牛的就是下面这一招了!直接把Native Code用字节数组保存在Managed Code中,然后调用,真是牛B,不过我还没有完全弄懂,希望大家来实践实践。
Execute Native Code From .NET
另外还有一篇文章是关于加密字符串的,值得研究!
Poly-Engine Crypt String
希望各位多多交流.NET程序的保护问题,找出最好的解决方案!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Java
Html/Css
Copyright © 2008-2020
六狼论坛
(https://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表