网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 网络安全首页 | 安全在线 | 病毒防治 | 黑客攻防 | 漏洞研究 | 黑客编程 | 破解手记 |
您现在的位置: 超人气学院 >> 网络安全 >> 破解手记 >> 文章正文 用户登录 新用户注册
关于硬盘序列号的探讨!           
关于硬盘序列号的探讨!
作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:47:38

大家好:

近来在CFIDO和E-mail中一直有朋友询问关于如何能在Windows下用VB来
获取硬盘序列号的问题, 因为在VB的for Windows中版本中没有了端口存取
函数, 所以就写了一个HDIDE16.DLL的东东, 放在主页上免费发放, 并且
HDIDE32版本的即将出台, 孰知却遭到 XXX 肆意践踏, 理由如下:
---- CUT ----
WX> 好久一来, 一直未能发现有用VB来获取硬盘序列号的东东,
WX> 以致于VB的程序 不能得到很好的保护, 所以昨天做了个HDIDE16.DLL,
RT> 太烦了吧!
RT> 不是我想给你泼冷水,你的WINAPI知识有点欠乏!
RT> 取计算机硬盘序列号及卷名的函数是:
RT> 这个老早我就用了.
RT> 加密方法很多种,也不一定用硬盘序列号.
RT> 可惜不能说. :)))
--- CUT ---

对此, 我表示强烈的抗议, 并且为避免由此引起的误导, 特将基本的常识区
分如下, 附有完整的对比源程序:

关于盘序列号有两种:

硬盘序列号: 英文名 Hard Disk Serial Number, 该号是出厂时生产厂家为
区别产品而设置的, 是唯一的, 是只读的, 利用硬盘序列号的
加密往往是利用其唯一和只读的特性, 大多是针对有序列号的
IDE HDD而言, 对于没有序列号或SCSI HDD硬盘则无能为力,
这也是利用它进行加密的局限性.
卷的序列号: 英文名 Volume Serial Number, 该号既可指软磁盘要得, 如:
A:盘和B:盘的, 又可以指硬盘的逻辑盘, 如: C:, D:...的,
是高级格式化时随机产生的, 是可以修改的, 所以利用其进行
加密, 其唯一性还可, 而其可修改性对于安全而言就大打折扣
了.

那么如何获得它们呢? 这要视不同的平台而论, 核心实现方法如下:

DOS平台 Windows 3.X Windows 9.X

硬盘序列号: 端口I/O 端口I/O Ring0级I/O

卷的序列号: 中断调用 WINAPI WINAPI


为方便大家验证, 特贴如下两程序用TC或BC编译后运行在DOS下即可:

/* 程序1: 获得IDE硬盘C的序列号 */
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
#include <conio.h>
#include <string.h>

char *getascii (unsigned int in_data [], int off_start, int off_end);

void main (void)
{
unsigned int dd [256]; /* DiskData */
unsigned int dd_off; /* DiskData offset */

while (inp (0x1F7) != 0x50) /* Wait for controller not busy */
;

outp (0x1F6, 0xA0); /* Get first/second drive */

outp (0x1F7, 0xEC); /* Get drive info data */

while (inp (0x1F7) != 0x58) /* Wait for data ready */
;

for (dd_off = 0; dd_off != 256; dd_off++) /* Read "sector" */
dd [dd_off] = inpw (0x1F0);

printf ("The Serial Number Hard Disk [C] is %s", getascii (dd, 10, 19));

[1] [2] 下一页

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda    责任编辑:kinda 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     Softice使用指南---配[2610]
     中文编辑排版专家—Dr[2442]
     一个破解注册码的例子[1436]
     C语言学习系统v3.0破解[1413]
     获得键盘扫描码[1243]
     破解ComposerforRingT[1082]
     自动脱壳之ProcDump应[990]
     流光4.5完全破解[978]
     VisualBasic程序之Sma[978]
     PE文件结构剖析[891]
    相 关 文 章
    关于“为什么我国软件产业
    《硬盘清道夫》的注册机
    关于pe-scanv3.0x的壳研究
    BUE虚拟网络硬盘Ver0.1
    硬盘逻辑锁巧解
    用DEBUG破解硬盘保护卡的简
    Win32ASM详解五学习更多关
    制作NBALIVE2000的硬盘版+
    关于闪电ASP1.5的破解
    关于小小助手的破解
    关于注册码
    关于 Shell Code 的编写
    关于最近网上流传得厉害的
    关于Windows下ShellCode编
    关于137字节的Linux远程IC
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)