www.pudn.com > schdgurd.zip > HDBBG.C
#include#include #include #include void copyright(); void main(int argc,char **argv) { char work=0; char *bufm,*bufd,*dot,*xname; FILE *hd; if(argc!=3)goto error; work=argv[1][0]|0x20; if((work!='s')&&(work!='r')) { error: copyright(); printf("\a\n Usage: hdbbg [options] Filename.[bbg]\n\n"); printf(" Options include:\n"); printf(" s: save HD Master&Dos Boot Sector to Filename.[bbg]\n"); printf(" r: restore HD Master&Dos Boot Sector from Filename.[bbg]\n"); exit(0); } strlwr(argv[2]); xname=strstr(argv[2],".bbg"); dot=strchr(argv[2],'.'); if(work=='s') { if(dot&&(!xname)) { copyright(); printf("\a\n The Master&Dos Boot Sector must be save to a BBG file!\n"); exit(1); } if(!dot){strcat(argv[2],".bbg");} if((hd=fopen(argv[2],"wb"))==NULL) { copyright(); printf("\n\a Open file <%s> error!\n",argv[2]); exit(1); } bufm=(unsigned char *)malloc(512); bufd=(unsigned char *)malloc(512); if((biosdisk(0x02,0x80,0,0,1,1,bufm))||(biosdisk(0x02,0x80,1,0,1,1,bufd))) { copyright(); printf("\n\a Save HD Master&Dos Boot Sector to file <%s> error!",argv[2]); exit(1); } fwrite(bufm,512,1,hd); fwrite(bufd,512,1,hd); fclose(hd); free(bufm); free(bufd); copyright(); printf("\n Saved HD Master&Dos Boot Sector to file <%s> ok.\n",argv[2]); } else { if(dot&&(!xname)||(!dot)) { copyright(); printf("\a\n To restore HD Master&Dos Boot Sector must need a BBG file!\n"); exit(1); } if((hd=fopen(argv[2],"rb"))==NULL) { copyright(); printf("\n\a Open file <%s> error!",argv[2]); exit(1); } bufd=(unsigned char *)malloc(512); bufm=(unsigned char *)malloc(512); fread(bufm,512,1,hd); fread(bufd,512,1,hd); if((biosdisk(0x03,0x80,0,0,1,1,bufm))||(biosdisk(0x03,0x80,1,0,1,1,bufd))) { copyright(); printf("\n\a Restore HD Master&Dos Boot Sector from <%s> error!\n",argv[2]); exit(1); } fclose(hd); free(bufm); free(bufd); copyright(); printf("\n Restored HD Master&Dos Boot Sector from file <%s> ok.\n",argv[2]); } exit(0); } void copyright() { printf("\n Yaking (R) HD Master&Dos Boot Sector Guard version 1.0."); printf("\n Copyright (C) 1997.9, Yaking Software Studio.\n"); }