Programlama | Programlama Dilleri | C Programlama Dili |C++

Hata
  • XML Parsing Error at 1:82. Error 9: Invalid character


CPU Kimli?ini (ID) Ö?renme

AÇIKLAMA

C++ Builder 6 ile uyumludur. 

Bu projemizde CPU'nun üretici firma taraf?ndan olu?turulan ve sadece bir tek cpu'ya ait olan (unique) kimli?ini ö?renece?iz. Bu k?s?mda yaz?lan kodlar hexadecimal kod olup makine kodu olarak bilinirler. Bu numaray? projelerinizde güvenlik ve kaçak kullan?m amac?yla kullanabilirsiiniz. Fakat burada dikkat edilmesi gereken bir husus vard?r ; program? çal??t?rd???n?zda 2 adet mesaj göreceksiniz. CPU id1 ve id2 olarak görünen bu mesajlardaki ifadelerin birle?imi CPU id(kimli?ini) verir. Biraz daha olay? geni?letirsek günümüzde bulunan bilgisayarlar art?k tek bir cpu ile de?il birden çok cpu ile çal??maktad?r veya çok çekirdeklidir. Buda beraberinde problemleri getirir. Çünkü her zaman elde edilecek id1 ve id2 ler birbirini tutmayacakt?r.  Bu durumda yapaca??n?z güvenlik i?lemleride etkisiz kalabilir. Burada ?u ?ekilde bir mant?k dü?ünülebilir. Program demo süresi boyunca olas? bütün farkl? kombinasyonlar? (id1 ve id2 den olu?acak) kaydeder. Program normal moda geçtikten sonra çal??t??? makineyi kontrol ederken daha önceden kaydetti?i olas? bütün kombinasyonlara bakarak devreye girer veya girmez.

Program?n Tamam?n? A?a??daki Linkten ?ndirebilirsiniz

Linki Görebilmeniz ?çin Üye Olman?z Gerekmektedir...

Üye Kay?t

Program Kodu:

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm1 *Form1;
  11. //---------------------------------------------------------------------------
  12. __fastcall TForm1::TForm1(TComponent* Owner)
  13.         : TForm(Owner)
  14. {
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18. void __fastcall TForm1::Button1Click(TObject *Sender)
  19. {
  20. int a,b,c,d;
  21. String id1,id2;
  22. asm{
  23. mov eax,1
  24. db 0x0F,0xA2
  25. mov a,EAX
  26. mov b,EBX
  27. mov c,ECX
  28. mov d,EDX
  29. }
  30. id1=IntToHex(a,8)+IntToHex(b,8)+IntToHex(d,8)+IntToHex(c,8);
  31. ShowMessage("CPU ID 1="+id1);
  32. asm{
  33. mov eax,2
  34. db 0x0F,0XA2
  35. mov a,EAX
  36. mov b,EBX
  37. mov c,ECX
  38. mov d,EDX
  39. }
  40. id2=IntToHex(a,8)+IntToHex(b,8)+IntToHex(d,8)+IntToHex(c,8);
  41. ShowMessage("CPU ID 2="+id2);
  42. }
  43. //---------------------------------------------------------------------------
  44.  
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Pazartesi, 03 Eylül 2012 15:47 )  
amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım