pc identifizieren?

Anfängerfragen zum Programmieren mit PureBasic.
mx03
Beiträge: 47
Registriert: 29.09.2006 22:44

pc identifizieren?

Beitrag von mx03 »

gibt es eine möglichkeit eine hardwareid (so wie bei stylexp) sich bei purebasic ausgeben zu lassen
und ist die hardwareid einzigartig?

wie kann ich ein programm erstellen das aus dem normalen taskmanager verschwindet (svchost.exe ist doch eine zusammenfassung mehrerer mini prozesse) kann man da nicht einfach sein programm miteinschließen oder wie kann man sein programm bei den prozessen umbenennen?
4
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: pc identifizieren?

Beitrag von ts-soft »

mx03 hat geschrieben:gibt es eine möglichkeit eine hardwareid (so wie bei stylexp) sich bei purebasic ausgeben zu lassen
und ist die hardwareid einzigartig?
Die bildet man selber. Ob sie einzigartig ist, hängt von dem ab, woraus Du
sie bildest. MAC-Adresse des Netzwerkadapter, Seriennummer der HD usw.
gibt unzählige Möglichkeiten, die aber meist unsinnig sind
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
mx03
Beiträge: 47
Registriert: 29.09.2006 22:44

Beitrag von mx03 »

wie bekomm ich die seriennummer der hd raus?
4
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Zum Beispiel so:

Code: Alles auswählen

Procedure.s GetDriveSerial(Drive.s)
  Protected lpVolumeNameBuffer.s, lpVolumeSerialNumber.l
  If Len(Drive) = 1 : Drive + ":\" : EndIf
  If Right(Drive, 1) <> "\" : Drive + "\" : EndIf
  lpVolumeNameBuffer.s = Space(#MAX_PATH +1)
  GetVolumeInformation_(@Drive, @lpVolumeNameBuffer, #MAX_PATH +1, @lpVolumeSerialNumber, 0,0,0,0)
  ProcedureReturn Hex(PeekW(@lpVolumeSerialNumber + 2) & $FFFF) + "-" + Hex(PeekW(@lpVolumeSerialNumber) & $FFFF)
EndProcedure

Debug GetDriveSerial("C:")
// Nachtrag:
Guck mal hier: http://www.purebasic.fr/german/viewtopic.php?t=10354
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
mknjc
Beiträge: 217
Registriert: 09.09.2006 12:59

Beitrag von mknjc »

Wozu willst du denn dien Prozess verstecken.

Im Taskmanager umbennenen????
Vileicht die Datei umbennenen.

Wenn du ein Prog bastelst und das sich tarnt dann kanst du mit vielen Antivirenprogrammen ärger bekommen.
Die meinen du seist ein Virus und möchtest duch jetzt Tarnen.
Also Finger weg.

Mfg mknjc
Ich nutze PureBasic 4.02 unter Linux und Windows.

Momentane Projekte:
Das geheimste aller geheimen Projekte... FPBC
mx03
Beiträge: 47
Registriert: 29.09.2006 22:44

Beitrag von mx03 »

hm ich will ein anticheat prog. schreiben und wenn mans dann einfach über "prozess beenden" schließt isses net so gut
kann man vll wenn der prozess beendet wird einen anderen prozess auch beenden, aber auf den anderen prozess hab ich keinen einfluss

ach und könnte mir jemand mal die libmySQL.dll mal schicken hab zwar eine aber immer wenn ich connecten will kommt ein fehler ? (geht die vll nicht mit mysql5 ?)
4
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

hm...
wie wäre es, wenn das eigentliche anticheat von einem kleinen wrapper aufgerufen wird?
also, gestartet und auffindbar ist ein kurzes programm, das aber auch nur ganz kurz läuft.
das tut folgendes:
- es sucht die anticheat.exe
- benennt sie um, dass sie so ähnlich heißt wie ein systemdienst
- startet sie per runprogram
- benennt sie zurück in anticheat.exe
- beendet sich selbst

während des spiels findet man jetzt im taskmanager weder das starter-programm noch die anticheat.exe,
nur einen weiteren prozess, der wie ein systemdienst aussieht....

klar, gegen wirklich eingefleischte scriptkiddies hilft es auch nich,
aber einige sollte man damit schon bremsen können.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
mknjc
Beiträge: 217
Registriert: 09.09.2006 12:59

Beitrag von mknjc »

Das Problem ist das man gute Anticheats nur vom Programm oda Server aus machen kann. Also Server trnnt automatisch wenn Anticheat geschlossen wird.
Oda Programm beendet sich wenn Anticheat beendet wird.

Mfg mknjc
Ich nutze PureBasic 4.02 unter Linux und Windows.

Momentane Projekte:
Das geheimste aller geheimen Projekte... FPBC
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> kann man vll wenn der prozess beendet wird einen anderen prozess auch beenden, aber auf den anderen prozess hab ich keinen einfluss

hm... double play

ein anticheat, dass das game überwacht, damit man nicht cheaten kann.

und zusätzlich ein kleines unauffälliges, meinenwegen auch in "svchost.exe" umbenanntes,
das den anticheat-prozess überwacht, und wenn dieser beendet wird, auch das game beendet.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten