如题。

解决方案 »

  1.   

    去我主页找找。
    http://nowcan.yeah.net  -》正在维护
    http://nowcan.chinabcb.com
      

  2.   

    前几天写的程序,按照 NowCan 主页上提供的资料写成的,请去我的主页下载
    http://yds_086.html.533.net/
      

  3.   

    首先对楼上两位高手的回复表示衷心的感谢:to 老侃:你的主页上找了3遍都没找到相关资料,是不是维护还没加上啊?to AthlonxpX86(一滴水): 你这个代码是WinNT下的,如果是Win98下就不行了啊,
       还有什么方法可以在Win98下用吗?
      

  4.   

    to daphant(狒狒): 这个我知道,Win2K下没问题,win9x下不行。
      

  5.   

    首先对楼上两位高手的回复表示衷心的感谢:to 老侃:你的主页上找了3遍都没找到相关资料,是不是维护还没加上啊?to AthlonxpX86(一滴水): 你这个代码是WinNT下的,如果是Win98下就不行了啊,
       还有什么方法可以在Win98下用吗?///////////////////////////////////////////
    怎么回找不见呢?你仔细看看,至于我的代码是专门为nt系统写的,98下面访问物理内存很简单,我帮你把NowCan 主页上的资料复制过来吧,(NowCan大哥不要说我侵权啊!呵呵^_^)
    http://vip.6to23.com/NowCan1/tech/cb_bios_sn.htm
    关于BIOS序列号的几个问题 
     
     http://nowcan.yeah.net
    http://nowcan.chinabcb.com
       在计算机的BIOS芯片里有一个序列号,即BIOS序列号,据说是每一台计算机都不同的。有些软件就用这个序列号作为一个唯一的标识来使用。而在Windows优化大师中更是可以看到这个序列号,那么,他们是怎么读取的呢?
        不同品牌的计算机有不同的BIOS芯片,这给BIOS序列号的读取造成了一些麻烦。但这个序列号都是存储在物理内存的0x000f0000-0x000fffff这个区域里,具体的地址根据BIOS生产厂家有所不同。
        常见的BIOS生产厂家有AMI,Award,Phoenix;其中Phoenix一般用在IBM的笔记本电脑中。那么怎么鉴别BIOS的生产厂家呢?其实我也不知道有什么简单的标志,只是采取了搜索法,搜索上述内存区域,一旦发现"AMI"这个字符串就认为是AMI的BIOS,依此类推。
        根据试验发现,AMI的序列号地址在0x000ff478,Award的序列号地址在0x000fec71,而Phoenix的序列号不太明确,可能是0x000f6577、0x000f7196、0x000f7550中的一个,而且Windows优化大师也没有给出这种BIOS的序列号。而试验的几种BIOS生产日期都是在0x000ffff5处。
        关于如何读取物理内存的问题,在Win9X和WinNT是完全不同的。    Windows 9X 的方法非常简单。
    ...
    char *pSN=(char *)0x000fec71;
    printf("%s\n",pSN);
    ...    Windows NT的方法要麻烦很多,因为不允许直接读取物理内存。具体方法见本站文章《Win2000下在Ring3直接读取物理内存的方法》    由于我自己对这个了解也不多,而有些文章又把这个序列号叫做主板序列号,而且这些地址上的字符串有些结束标志也不明确,大家可以根据情况自己分析,方法是把物理内存的0x000f0000-0x000fffff这个区域中的内容全部读出,然后分析研究。    BIOS序列号的的问题讨论到此结束,有问题请到留言簿留言,谢谢。 http://vip.6to23.com/NowCan1/tech/NTMEM.htm
    Win2000在Ring3直接读取物理内存的方法--转贴自CSDN