⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hdinfo.c

📁 硬盘锁和解锁代码。
💻 C
字号:
//********************************************
//文件名:HDINFO.C
//功能:1. 读硬盘序列号并进行加密处理
//      2. 建立硬盘序列号密文数据头文件
//********************************************
#include<stdio.h>                       //1.
#include<stdlib.h>                      //2.
#include<string.h>                      //3.
#include<conio.h>                       //4.
void main()                             //5.
{                                       //6.
  FILE *fp;                             //7.
  int i,j,k,l;                          //8.
  char ch;                              //9.
  char sh[21];                          //10.
  unsigned id;                          //11.
  unsigned cw[257];                     //12.
  unsigned long m=0;                    //13.
  long pw=135792468;                    //14.设定基数值
                                        //15.
  outp(0x1f6,0xa0);                     //16.向端口写入数据
  outp(0x1f7,0xec);                     //17.向端口写入数据
  while(inp(0x1f7)!=0x58 && m++<0xffff) //18.从端口读出数据并进行条件判断
  ;                                     //19.
  for(id=0;id!=256;id++)                //20.
    cw[id]=inpw(0x1f0);                 //21.从端口读一个字
  for (j=10,k=0;j<=19;j++)              //22.
    {                                   //23.
      sh[k++]=(char)(cw[j]/256);        //24.对数据处理后存入数组
      sh[k++]=(char)(cw[j]%256);        //25.对数据处理后存入数组
    }                                   //26.
  sh[k]='\0';                           //27.补结束符
  l=strlen(sh);                         //28.测试字符串长
                                        //29.
  for(i=0;i<l;i++)                      //30.
  {                                     //31.
    srand(pw);                          //32.设置伪随机数的基数
    ch=rand();                          //33.产生伪随机数
    sh[i]=sh[i]^ch;                     //34.对字符串进行异或
    pw++;                               //35.调整基数
  }                                     //36.
                                        //37.
  fp=fopen("port.h","wb");              //38.以写方式打开头文件
  fprintf(fp,"int hdport[20]={");       //39.写入数组格式
  for(i=0;i<l;i++)                      //40.
  {                                     //41.
    if(i==9)                            //42.
      fprintf(fp,"\n");                 //43.
    if(i==(l-1))                        //44.
      fprintf(fp,"%d};",sh[i]);         //45.写入最后一个数据
    else                                //46.
      fprintf(fp,"%d,",sh[i]);          //47.写入数据
  }                                     //48.
  fclose(fp);                           //49.
}                                       //50.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -