Entwickler-Ecke
Windows API - Festplatten ID
Airtrox - So 04.10.09 13:01
Titel: Festplatten ID
Hey
ich habe etwas gegooglet und einen Code gefunden, mit dem man die ID der Festplatte auslesen kann:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TForm1.Button1Click(Sender: TObject); var pRootPathName: Array[0..MAX_PATH] of Char; pVolumeNameBuffer: Array[0..MAX_PATH] of Char; iVolumeSerialNumber: Cardinal;
iMaximumComponentLength: DWORD; iFileSystemFlags: DWORD;
cc : Cardinal;
begin
cc := 0; pRootPathName := 'C:\'; GetVolumeInformation( pRootPathName,pVolumeNameBuffer,Sizeof(pVolumeNameBuffer)-1,@iVolumeSerialNumber,iMaximumComponentLength,iFileSystemFlags,nil,0 ); cc := iVolumeSerialNumber; edit1.text := Format('%.8x', [cc]); end; |
Starte ich so ein Programm, wird es als Trojaner erkannt. Ich verstehe jedoch nicht wieso, bzw. wie ich es "entschärfen" kann.
lg
jaenicke - So 04.10.09 13:14
Da kannst du nur das fertige Programm als False Positive an den Antivirenhersteller schicken, damit die das korrigieren.
Zudem ist die Frage wieviele Scanner es denn erkennen. Meistens sind das ohnehin nur Antivir und ähnliche Programme, was mich mittlerweile eher weniger interessiert.
Das kannst du hier einmal testen:
http://www.virustotal.com/de/
jaenicke - So 04.10.09 13:28
Bei den Meldungen liegt das aber eher daran, dass du Internetfunktionen im Programm hast. Dass jetzt durch diese zusätzliche Funktion die Heuristik anspringt, ist eben Zufall.
Airtrox - So 04.10.09 13:35
Internetfunktionen? Ich habe außer dem Code oben (und den Uses) nichts weiteres drin. Ich versteh das nicht.
jaenicke - So 04.10.09 14:27
Airtrox hat folgendes geschrieben : |
| Internetfunktionen? Ich habe außer dem Code oben (und den Uses) nichts weiteres drin. |
Dann kann ich das nicht reproduzieren (getestet mit D2006 und D2007). Und eigentlich ist das auch nichts was die Trojanerheuristik auslösen sollte. Was ist das denn für eine Delphiversion? Noch Delphi 7 oder sowas?
Am besten häng bitte einfach einmal das ganze Testprojekt inkl. Exe an.
Airtrox - So 04.10.09 14:42
Jap ich habe Delphi 7
die source:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); var pRootPathName: Array[0..MAX_PATH] of Char; pVolumeNameBuffer: Array[0..MAX_PATH] of Char; iVolumeSerialNumber: Cardinal;
iMaximumComponentLength: DWORD; iFileSystemFlags: DWORD;
cc : Cardinal;
begin
cc := 0; pRootPathName := 'C:\'; GetVolumeInformation( pRootPathName,pVolumeNameBuffer,Sizeof(pVolumeNameBuffer)-1,@iVolumeSerialNumber,iMaximumComponentLength,iFileSystemFlags,nil,0 ); cc := iVolumeSerialNumber; edit1.text := Format('%.12x', [cc]); end;
end. |
jaenicke - So 04.10.09 16:08
Der Original-Virus heißt ja anders, aber ich schau mir die Exe gerade in einer Sandbox kurz an bzw. vergleiche mit einer von einer sauberen Delphiinstallation erzeugten.
// EDIT:
Ich kann das bei einer sauberen Delphiinstallation im virtuellen PC reproduzieren mit dem obigen Code. Da bleibt nur den Herstellern die Datei einzuschicken. Bzw. sinnvollerweise dann das fertige Programm.
Airtrox - So 04.10.09 17:19
Also wenn ich den Code in ein Programm (ein größeres) einbinde, wird es nicht als Virus erkannt, so aber schon... laut Google ist das "Junk-Code" was auch immer damit gemeint ist
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!