linux 磁盘序列号修改,一个小程序:Linux下取得硬盘的序列号

article/2025/9/23 2:53:10

最近给朋友帮忙,遇到一个问题:如何在Linux取到硬盘的序列号?目前网上说的方法大都是Windows 下用Delphi、C#等工具开发的。如何用ANSI C来实现呢?其实C在做这种底层事情方面比Delphi和C#都要容易的。下面这个函数就是取得硬盘序列号的完整代码,稍加改造后,取得硬盘型号等数据也是很容易的事:

#include

#include

#include

#include

#include

#include

#include

// 获取硬盘序列号,成功返回0, 失败返回-1

// szDevName为取得的序列号,空间由主程序预先分配好,并将空间长度用nLimit参数传递给get_hd_sn()函数

int get_hd_sn(const char* szDevName, char* szSN, size_t nLimit)

{

struct hd_driveid id;

int  nRtn = -1;

int  fd = open(szDevName, O_RDONLY|O_NONBLOCK);

while(1)

{

if (fd < 0)

{

perror(szDevName);

break;

}

//这句话是关键

if(!ioctl(fd, HDIO_GET_IDENTITY, &id))

{

strncpy(szSN, id.serial_no, nLimit);

//printf("Model Number=%s\n",id.model);

nRtn = 0;

}

break;

}

return nRtn;

}169600535_1_20190829093153238.gif


http://chatgpt.dhexx.cn/article/svH4mPTp.shtml

相关文章

win7读取linux硬盘序列号,Windows 下获取硬盘序列号

只获取序列号 以下任意一条命令都可以: wmic diskdrive get serialnumber wmic path win32_physicalmedia get SerialNumber wmic path Win32_DiskDrive get SerialNumber 运行结果: 获取硬盘的更多信息 wmic diskdrive get Name, Manufacturer, Model, InterfaceType, Media…

Delphi dbgrideh序号

数据库里面的数据没有序号的数据&#xff0c;在dbgrideh上新增一列自定义其字段&#xff0c;例如&#xff1a;id 在编码的开头定义i&#xff0c;为integer 在dbgrideh控件上的‘OnDrawColumnCell’事件下写下代码 procedure TForm1.number(Sender: TObject; const Rect: TRect;…

安装delphi 10.4 社区版

事先说明:由于delphi的服务器是在国外的,所以,有条件的你懂的 下载安装程序 去 https://www.embarcadero.com/cn/products/delphi/starter 下载安装程序 点击 get community edition free 填写信息,注册账号,成功之后它将会把免费使用的序列号发送到你所填写的邮箱里面,之后会…

Delphi7安装及补丁安装详解

在学习Delphi之前&#xff0c;我们要先安装开发环境&#xff0c;博主这里以Delphi7镜像作为安装实例&#xff0c;希望在Delphi学习之路上能给予大家一点帮助。接下来就让我们一起来走一遍这个安装过程。 ⑴双击Delphi7镜像文件&#xff0c;镜像文件会在DVD驱动器中打开 ⑵ 双击…

nginx Proxy 代理

1、代理原理 反向代理产生的背景&#xff1a; 在计算机世界里&#xff0c;由于单个服务器的处理客户端&#xff08;用户&#xff09;请求能力有一个极限&#xff0c;当用户的接入请求蜂拥而入时&#xff0c;会造成服务器忙不过来的局面&#xff0c;可以使用多个服务器来共同分担…

python-proxy

代码&#xff1a; # -*- coding: utf-8 -*- # Time : 2020/4/15 17:44 # Author : Oneqq # File : 11.proxy.py # Software: PyCharmfrom urllib.request import Request, urlopen from fake_useragent import UserAgent from urllib.request import ProxyHandler, build_open…

but was actually of type 'com.sun.proxy.$Proxy7'

but was actually of type ‘com.sun.proxy.$Proxy7’ 标签&#xff08;空格分隔&#xff09;&#xff1a; spring 二月 11, 2018 12:24:02 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 信息: Refreshing org.springframework.…

Ubuntu Proxy

2019年3月5日15:52:14(3[▓▓] 晚安Ubuntu 环境下的代理配置 在公司有代理的情况下上网&#xff0c;很多时候需要给一些命令单独设置代理。# 注&#xff1a;这里假设 10.111.10.18:80 为你的上网代理ip设置基本代理 1、打开Settings -> Network -> Network Proxy 设置为…

Linux--Configure Proxy

ProxyChains遵循GNU协议的一款适用于linux系统的网络代理设置工具。强制由任一程序发起的TCP连接请求必须通过诸如TOR 或 SOCKS4, SOCKS5 或HTTP(S) 代理。支持的认证方式包括&#xff1a;SOCKS4/5的用户/密码认证&#xff0c;HTTP的基本认证。允许TCP和DNS通过代理隧道&#x…

proxy(代理)用法

1、什么是Proxy? Proxy 也就是代理&#xff0c;可以帮助我们完成很多事情&#xff0c;例如对数据的处理&#xff0c;对构造函数的处理&#xff0c;对数据的验证&#xff0c;说白了&#xff0c;在目标对象之前架设一层“拦截”&#xff0c;外界对该对象的访问&#xff0c;都必…

什么是 Proxy ?

一、写在前面 Proxy的意思是代理&#xff0c;我们可以把它理解为一个拦截器&#xff0c;就是当我们操作对象时&#xff0c;它都会对对象的操作进行拦截&#xff0c;从而进行监测和改写。 为什么要存在Proxy? 因为在ES6之前&#xff0c;我们使用Object.defineProperty()来设置监…

DataTable的AcceptChanges()方法和DataRow的RowState属性

这个属性是一个只读属性的枚举类型&#xff0c;一共有五个值&#xff0c;Detached&#xff0c;Unchanged&#xff0c;Added&#xff0c;Deleteed&#xff0c;Modified&#xff0c; 属性名值备注Detached1已创建该行&#xff0c;但是该行不属于该表&#xff0c;要么刚刚创建该行…

AcceptChanges()和RejectChanges()原理

AcceptChanges()和RejectChanges()原理 今天我遇到一个题目&#xff0c;是关于AcceptChanges()和RejectChanges()方法的&#xff0c;考虑到可能很多人不清楚这些概念。 所以拿出来讲讲。由这个问题我们也深入了解一下这两个方法。 为了不在显示略文时显示出代码来&#xff0c;我…

AcceptChanges()和RejectChanges基础题,你能做吗?(转)

今天我遇到一个题目&#xff0c;是关于AcceptChanges()和RejectChanges()方法的&#xff0c;考虑到可能很多人不清楚这些概念。 所以拿出来讲讲。由这个问题我们也深入了解一下这两个方法。 为了不在显示略文时显示出代码来&#xff0c;我就在刚开始多打一点字了。呵。。。 题目…

科学计算机病毒代码大全,计算机病毒代码有哪些

计算机病毒也是要生成的,那么计算机病毒代码有些什么呢?下面由学习啦小编给你做出详细的计算机病毒代码介绍!希望对你有帮助! 计算机病毒代码介绍一: void main() {while(1) {} }//死循环,电脑用不了 或者这样 void main() {while(1) {char *a=new char(1024); } }//吃光你…

html自动增加vbs代码,vbs脚本病毒代码大全编步骤四个

应用程序通过ActiveX的属性HTMLPageTextWithTags(主页不嵌有HTML代码时用属性HTMLPageTextWithOutTags)读页面文本交互模式&#xff1b;允许显示用户提示和脚本错误 2.ntlm.vbs *************** ntlm.vbsby黑嘿黑 *************** dimwsh setwshCreateObject("WScript.She…

科学计算机病毒代码大全,有哪些计算机病毒代码

计算机病毒也是要生成的,那么计算机病毒代码有些什么呢?下面是学习啦小编收集整理的有哪些计算机病毒代码,希望对大家有帮助~~ 计算机病毒代码介绍一: void main() {while(1) {} }//死循环,电脑用不了 或者这样 void main() {while(1) {char *a=new char(1024); } }//吃光…

c语言计算机病毒程序代码,bat电脑病毒代码

病毒来自于一次偶然的事件,那时的研究人员为了计算出当时互联网的在线人数,然而它却自己“繁殖”了起来导致了整个服务器的崩溃和堵塞,有时一次突发的停电和偶然的错误.下面是学习啦小编收集整理的bat电脑病毒代码,希望对大家有帮助~~ bat电脑病毒代码 rem (注:原来站长我在…

vbs恶作剧(病毒)程序代码

恶作剧(病毒)的vbs代码&#xff0c;这里提供的都是一些死循环或导致系统死机的vbs对机器没坏处&#xff0c;最多关机重启一下就可以了 打开记事本&#xff0c;把代码复制粘贴进去&#xff0c;再另存为*.vbs格式即可 操作方法&#xff1a;把代码另存为*.VBS运行即可 经本人亲…

vbs计算机病毒代码,求最全的vbs病毒代码,要破坏性的。谢谢,回答的好我多给分。...

满意答案 mioscat 2017.08.23 采纳率:45% 等级:9 已帮助:1467人 那废话不说,问这个如何?不懂可以问我 On Error Resume Next dim avest,xufso,wscrt Set avest = WScript.Createobject("WScript.Shell") Set wscrt = WScript.Createobject("WScript.She…