Trouver le Serial/constructeur/firmware de votre(vos) HDD

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Trouver le Serial/constructeur/firmware de votre(vos) HDD

Message par Ar-S »

Voilà un code pris sur le fofo UK tiré du fofo allemand.


Code : Tout sélectionner

; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=1388&highlight=
; Author: Rings
; Date: 17. June 2003
; OS: Windows
; Demo: No


; Retrieve harddisk`s modell,serial,firmware (Windows only)
; updated on 27. August 2003 -  "[]" brackets in structures
Structure IDEREGS
  bFeaturesReg.b
  bSectorCountReg.b
  bSectorNumberReg.b
  bCylLowReg.b
  bCylHighReg.b
  bDriveHeadReg.b
  bCommandReg.b
  bReserved.b
EndStructure
Structure SENDCMDINPARAMS
  cBufferSize.l
  irDriveRegs.IDEREGS
  bDriveNumber.b
  bReserved.b[3]
  dwReserved.l[4]
EndStructure

Structure  DRIVERSTATUS
  bDriveError.b
  bIDEStatus.b
  bReserved.b[2]
  dwReserved.l[2]
EndStructure
Structure  SENDCMDOUTPARAMS
  cBufferSize.l
  DStatus.DRIVERSTATUS     
  bBuffer.b[512]
EndStructure


#DFP_RECEIVE_DRIVE_DATA = $7C088

bin.SENDCMDINPARAMS
bout.SENDCMDOUTPARAMS



Procedure.s ChangeHighLowByte(Instring.s)
  ;Change BIG-Little Endian
  sdummy.s=""
  L=Len(Instring)
  For I=1 To L Step 2
    If (I+1)<=L
      sdummy.s=sdummy.s + Mid(Instring,I+1,1)+Mid(Instring,I,1) 
    EndIf
  Next I
  ProcedureReturn sdummy.s
EndProcedure


mvarCurrentDrive=0 ;If you have more hard-disks change it here

hdh = CreateFile_("\\.\PhysicalDrive" + Str(mvarCurrentDrive),#GENERIC_READ | #GENERIC_WRITE, #FILE_SHARE_READ | #FILE_SHARE_WRITE,0, #OPEN_EXISTING, 0, 0)
If hdh 
  bin\bDriveNumber = mvarCurrentDrive
  bin\cBufferSize = 512
  
  If (mvarCurrentDrive & 1)
    bin\irDriveRegs\bDriveHeadReg = $B0
  Else
    bin\irDriveRegs\bDriveHeadReg = $A0
  EndIf
  bin\irDriveRegs\bCommandReg = $EC
  bin\irDriveRegs\bSectorCountReg = 1
  bin\irDriveRegs\bSectorNumberReg = 1
  
  br=0
  Result=DeviceIoControl_( hdh, #DFP_RECEIVE_DRIVE_DATA, bin, SizeOf(SENDCMDINPARAMS), bout, SizeOf(SENDCMDOUTPARAMS), @br, 0)
  If br>0
    hddfr = 55:hddln = 40          :
    Modell.s=ChangeHighLowByte(PeekS(@bout\bBuffer[0]+hddfr-1 ,hddln  ) )
    hddfr = 21:hddln = 20          :
    Serial.s=Trim(ChangeHighLowByte(PeekS(@bout\bBuffer[0]+hddfr-1 ,hddln  ) ))
    hddfr = 47:hddln = 8         
    Firmware.s=ChangeHighLowByte(PeekS(@bout\bBuffer[0]+hddfr-1 ,hddln  ) )
    MessageRequester("Info about your harddisk","vendor(Modell)="+Modell.s + Chr(13) +"serial="+Serial.s+ Chr(13)+"Firmwareversion="+Firmware ,0)
  EndIf
Else
  Beep_(100,100)
EndIf

; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = - 
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

excellent pour proteger un logiciel qui ne s'installerai que sur le disque
dur du détenteur de la licence !! :)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Sauf que chez moi, ca ne marche pas du tout ...
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
meganet
Messages : 317
Inscription : jeu. 20/janv./2005 22:00

Pb autre windows xp

Message par meganet »

Salut, j'ai utilisé un code comme ça y à quelque temps, et j'ai eu des problèmes car ce code tournait que sous Windows xp. Sous 2k et autre, il disait que l'apis n'était pas dispo. Je retrouves pas mon code, jle posterai si je remet la main dessus.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Le Soldat Inconnu a écrit :Sauf que chez moi, ca ne marche pas du tout ...
t"as un disque dur ?? 8O :lol: :lol:
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Fonctionne pas non plus chez moi :? J'ai 3 disques durs et Vista...
Aussitôt compilé, aussitôt terminé et aucun résultat. Pas cherché plus loin.
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Avatar de l’utilisateur
GeBonet
Messages : 453
Inscription : ven. 29/févr./2008 16:17
Localisation : Belgique

Message par GeBonet »

Testé... XP Pro... ET disque dur :lol: C'est tout bon, ça marche... J'ai le vendeur . Le n° de série et la version ...
:lol: :lol: MAIS !!! XP
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

Ca déconne chez moi (sous XP Corporate SP3) pour la simple et bonne raison que mon installation HDD, c'est:
4*500 Go RAID 5
2*1 To RAID 0
Tout ça géré par ma carte mère et son ICH9 d'Intel... Pour raccourcir, c'est un fake raid géré par mon SouthBridge. Et chaque raid renvoie le même numéro. C'est également le case entre deux cartes mère de constructeur différent.

Petit aparté: Avons-nous vraiment besoin de protéger nos logiciels de cette façon? Si je suis au courant d'une telle protection, il est évident que je n'achèterais pas un logiciel: je change des choses dans ma configuration tous les 6 mois (cg, cpu, cm, ram, hdd, mais aussi d'un point de vu software, avec un gros formatage tous les 6 mois)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

poshu a écrit : Petit aparté: Avons-nous vraiment besoin de protéger nos logiciels de cette façon? Si je suis au courant d'une telle protection, il est évident que je n'achèterais pas un logiciel: je change des choses dans ma configuration tous les 6 mois (cg, cpu, cm, ram, hdd, mais aussi d'un point de vu software, avec un gros formatage tous les 6 mois)
si j'ai dit ça, c'est parce que cela est une possibilité

libre a chacun de le faire ou pas ... :)

si tu bosse pour une petite boite
tu peux ainsi "bloquer" ton logiciel au park des machines de l'entreprise

et éviter que les utilisateurs de cette entreprise emmène le logiciel chez eux...

je ne préconise rien, c'est juste une idée d'utilisation .... au meme titre qu'un mot de pass :)
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Répondre