SAY討論區
標題:
獲取CPU ID序列號代碼(C) 獲取CPU ID序列號代碼(C)
[打印本頁]
作者:
frankyhui
時間:
2012-5-12 02:14:15
標題:
獲取CPU ID序列號代碼(C) 獲取CPU ID序列號代碼(C)
可以用於软件注册保护。呵呵。
<table cellspacing="0" class="t_table" style="width:98%"><tr><td>
復制代码 <ul type="1"><li>#include <stdio.h<li>#include <conio.h<li>int main(int argc,char **argv)<li>{<li>unsigned long s1,s2;<li>unsigned char vendor_id[]=------------;<li>char sel;<li>printf(Select the function:\n1-------Read CPU id.\n2-------Disable CPU id.\n);<li>sel=getch();<li>switch(sel)<li>{<li>case '1':<li>__asm{<li>xor eax,eax<li>cpuid<li>mov dword ptr vendor_id,ebx<li>mov dword ptr vendor_id[+4],edx<li>mov dword ptr vendor_id[+8],ecx<li>}<li>printf(%s-,vendor_id);<li>__asm{<li>mov eax,01h<li>xor edx,edx<li>cpuid<li>mov s1,edx<li>mov s2,eax<li>}<li>printf(%08X\n%08X-,s1,s2);<li>__asm{<li>mov eax,03h<li>xor ecx,ecx<li>xor edx,edx<li>cpuid<li>mov s1,edx<li>mov s2,ecx<li>}<li>printf(%08X-%08X\n,s1,s2);<li>break;<li>case '2':<li>{<li>__asm{<li>mov ecx,119h<li>rdmsr<li>or eax,00200000h<li>wrmsr<li>}<li>}<li>printf(CPU id is disabled.\n);<li>break;<li>}<li>return 0;<li>}</ul>
</td></tr></table>
歡迎光臨 SAY討論區 (http://say.go2tutor.com/)
Powered by Discuz! X2