java 能不能linux 获取cpu序列号的ID号,硬盘的序列号

&&&&java 通过jni接口获取当前机器硬盘ID(序列号)
java 通过jni接口获取当前机器硬盘ID(序列号)
通过jni接口调用本地dll实现当前机器ID的获取。
若举报审核通过,可奖励20下载分
被举报人:
flyinf_guo
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&&&&&java 通过jni接口获取当前机器硬盘ID(序列号)
&java 通过jni接口获取当前机器硬盘ID(序列号)
通过jni接口调用本地dll实现当前机器ID的获取。
若举报审核通过,可奖励20下载分
被举报人:
flyinf_guo
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
开发技术下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
java 通过jni接口获取当前机器硬盘ID(序列号)
所需积分:1
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
java 通过jni接口获取当前机器硬盘ID(序列号)
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员求JAVA获取CPU序列号或者硬盘序列号的方法-java-电脑编程网求JAVA获取CPU序列号或者硬盘序列号的方法作者:shunkunl 和相关&&求JAVA获取CPU序列号或者硬盘序列号的方法,运用于WINDOWS和LINUX OS.------回答---------------其他回答(20分)---------private
GetMACAddress()
strMAC=&&;
macAddress=&&;
Runtime.getRuntime().exec(&nbtstat
ipAddress);
InputStreamReader
InputStreamReader(pp.getInputStream());
LineNumberReader
LineNumberReader(ir);
input.readLine();
(str.indexOf(&MAC
str.substring(str.indexOf(&MAC
str.length());
(IOException
(strMAC.length()&17){
macAddress
strMAC.substring(0,
strMAC.substring(3,
strMAC.substring(6,
strMAC.substring(9,
strMAC.substring(12,
strMAC.substring(15,
}------其他回答(20分)---------可以使用 cpuid 汇编指令获取 cpu 信息,需要一个 gcc 来编译目标机器上的 c 代码。然后使用
来调用这些 c 代码。(一份代码,到处编译;而不是
的一次编译,到处运行。)C/C++ code
void cpuid(uint32_t op, uint32_t reg[4])
{
#if !defined(ARCH_X86_64) && (defined(PIC) || defined(__PIC__))
asm volatile(&pushl %%ebx
\n\t& /* save %ebx */
&movl %%ebx, %1
/* save what cpuid just put in %ebx */
&popl %%ebx
/* restore the old %ebx */
: &=a&(reg[0]), &=r&(reg[1]), &=c&(reg[2]), &=d&(reg[3])
: &cc&);
#else
asm volatile(&cpuid&
: &=a&(reg[0]), &=b&(reg[1]), &=c&(reg[2]), &=d&(reg[3])
: &cc&);
#endif
}
int main(void)
{
uint32_t op = 0; // 1, 2, 3, ...
uint32_t cpu[4];
cpuid(op, cpu);
printf(&%0 8X: %0 8X, %0 8X, %0 8X, %0 8X \n&, op, cpu[0], cpu[1], cpu[2], cpu[3]);
}
使用不同的 op 可以得到不同的信息,参见 http://blog.csdn.net/xjtuse_mal/archive//1539043.x ;以下是我的部分CPU信息:00000A, 756E46E, 49656E69& 0006FD, 00E39D, BFEBFBFF& B0B101, , CB4307D& 000000
&-- 没有序列号000000& 100000& 746E49, 2952286C, 726F865& 206F75, 202020& 382E31, 007A4847& 000000& 000000& ------回答---------------其他回答(20分)---------
private
GetMACAddress()
strMAC=&&;
macAddress=&&;
Runtime.getRuntime().exec(&nbtstat
ipAddress);
InputStreamReader
InputStreamReader(pp.getInputStream());
LineNumberReader
LineNumberReader(ir);
input.readLine();
(str.indexOf(&MAC
str.substring(str.indexOf(&MAC
str.length());
(IOException
(strMAC.length()&17){
macAddress
strMAC.substring(0,
strMAC.substring(3,
strMAC.substring(6,
strMAC.substring(9,
strMAC.substring(12,
strMAC.substring(15,
}
------其他回答(20分)---------
可以使用 cpuid 汇编指令获取 cpu 信息,需要一个 gcc 来编译目标机器上的 c 代码。然后使用 java 来调用这些 c 代码。(一份代码,到处编译;而不是 java 的一次编译,到处运行。)C/C++ code
void cpuid(uint32_t op, uint32_t reg[4])
{
#if !defined(ARCH_X86_64) && (defined(PIC) || defined(__PIC__))
asm volatile(&pushl %%ebx
\n\t& /* save %ebx */
&movl %%ebx, %1
/* save what cpuid just put in %ebx */
&popl %%ebx
/* restore the old %ebx */
: &=a&(reg[0]), &=r&(reg[1]), &=c&(reg[2]), &=d&(reg[3])
: &cc&);
#else
asm volatile(&cpuid&
: &=a&(reg[0]), &=b&(reg[1]), &=c&(reg[2]), &=d&(reg[3])
: &cc&);
#endif
}
int main(void)
{
uint32_t op = 0; // 1, 2, 3, ...
uint32_t cpu[4];
cpuid(op, cpu);
printf(&%0 8X: %0 8X, %0 8X, %0 8X, %0 8X \n&, op, cpu[0], cpu[1], cpu[2], cpu[3]);
}
使用不同的 op 可以得到不同的信息,参见 http://blog.csdn.net/xjtuse_mal/archive//1539043.x ;以下是我的部分CPU信息:00000A, 756E46E, 49656E69& 0006FD, 00E39D, BFEBFBFF& B0B101, , CB4307D& 000000
&-- 没有序列号000000& 100000& 746E49, 2952286C, 726F865& 206F75, 202020& 382E31, 007A4847& 000000& 000000&
相关资料:|||||||求JAVA获取CPU序列号或者硬盘序列号的方法来源网络,如有侵权请告知,即处理!编程Tags:                &                    4776人阅读
个人收藏(47)
为了达到软件注册,或者说软件和电脑绑定的目的,需要将电脑上的固定编号进行一系列的算法计算,并生成唯一和软件匹配的号码。
那么使用java如何达到这个目的呢?
通常做法都是通过java的Runtime来完成,通过 process的输入流,进行获取相关的信息。
下面列举具体的例子:
&1、DiskUtils 获取硬盘编号
import java.io.F
import java.io.FileW
import java.io.BufferedR
import java.io.InputStreamR
class DiskUtils {
private DiskUtils() {
public static String getSerialNumber(String drive) {
String result = &&;
File file = File.createTempFile(&damn&, &.vbs&);
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
String vbs = &Set objFSO = CreateObject(\&Scripting.FileSystemObject\&)\n&
+ &Set colDrives = objFSO.Drives\n&
+ &Set objDrive = colDrives.item(\&&
+ &Wscript.Echo objDrive.SerialNumber&; // see note
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec(
&cscript //NoLogo & + file.getPath());
BufferedReader input = new BufferedReader(new InputStreamReader(
p.getInputStream()));
while ((line = input.readLine()) != null) {
input.close();
} catch (Exception e) {
e.printStackTrace();
return result.trim();
2、MacUtils 获取MAC地址
import java.io.InputStreamR
import java.io.LineNumberR
public class MacUtils {
public static void
Process process = Runtime.getRuntime().exec(&ipconfig /all&);
InputStreamReader ir = new InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
while ((line = input.readLine()) != null)
if (line.indexOf(&Physical Address&) & 0) {
String MACAddr = line.substring(line.indexOf(&-&) - 2);
System.out.println(&MAC address = [& + MACAddr + &]&);
} catch (java.io.IOException e) {
System.err.println(&IOException & + e.getMessage());
3、&测试程序:
import java.io.InputStreamR
import java.io.LineNumberR
import java.net.NetworkI
import java.net.SocketE
import java.util.E
import java.util.V
public class TestMain {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
//****************获取MAC地址*****************//
System.out.println(&***MAC地址***&);
MacUtils.getMac();
//****************获取硬盘ID*****************//
String sn = DiskUtils.getSerialNumber(&C&);
System.out.println(&***硬盘编号***&);
System.out.println(sn);
4、执行结果(我电脑上有几个VPN,所以就有多个MAC;为了防止别人搞我的电脑,数字和字母用*号代替)
***MAC地址***
MAC address = [**-**-**-**-**-**]
MAC address = [**-**-**-**-**-**]
MAC address =[**-**-**-**-**-**]
MAC address = [**-**-**-**-**-**]
***硬盘编号***
1290******
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:548348次
积分:6750
积分:6750
排名:第2527名
原创:196篇
转载:59篇
评论:88条
(1)(1)(1)(2)(1)(1)(4)(5)(1)(4)(4)(4)(6)(1)(6)(4)(5)(5)(10)(6)(1)(1)(3)(1)(1)(4)(17)(2)(3)(3)(1)(4)(4)(10)(6)(1)(1)(6)(1)(1)(2)(2)(9)(7)(6)(14)(16)(52)(8)}

我要回帖

更多关于 vb获取cpu序列号 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信