diff --git a/thinkpad_unlock_bios.c b/thinkpad_unlock_bios.c index f16b120..6431c61 100644 --- a/thinkpad_unlock_bios.c +++ b/thinkpad_unlock_bios.c @@ -140,24 +140,46 @@ char tryunlock(char *dir) { buff[0xf00+a]=id[a]; } - for(a=0;a<256;a++) + + //change MAC ADD + if(fseek(bios,0x1000,SEEK_SET)) { - outputdir[a]=0; - } - printf("id: %s \n",id); - sprintf(outputdir,"%s%s",inputdir,"_unlock.bin"); - printf("Output flie %s",outputdir); - output_bios=fopen(outputdir,"wb"); - if(output_bios==NULL) - { - printf("ERROR. can't Output file ..\n"); + printf("ERROR. -0\n"); }else { - fwrite(buff,0xffffff,1,output_bios); - fclose(output_bios); + for(a=0;a<32;a++) + { + id[a]=0; + } + fread(id,6,1,bios); + for(a=0;a<6;a++) + { + buff[0x1000+a]=id[a]; + } + + for(a=0;a<256;a++) + { + outputdir[a]=0; + } + printf("MAC: %02X%02X%02X%02X%02X%02X \n",id[0],id[1],id[2],id[3],id[4],id[5]); + sprintf(outputdir,"%s%s",inputdir,"_unlock.bin"); + printf("Output flie %s",outputdir); + output_bios=fopen(outputdir,"wb"); + if(output_bios==NULL) + { + printf("ERROR. can't Output file ..\n"); + }else + { + fwrite(buff,0xffffff,1,output_bios); + fclose(output_bios); + } + + printf("\n\n"); + } - printf("\n\n"); + + } } diff --git a/thinkpad_unlock_bios.exe b/thinkpad_unlock_bios.exe index f68bad4..87d9ef2 100644 Binary files a/thinkpad_unlock_bios.exe and b/thinkpad_unlock_bios.exe differ