Ermitteln ob Programm unter Wine emuliert wird

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Lukaso
Beiträge: 720
Registriert: 08.09.2004 18:51
Wohnort: Oberkirch
Kontaktdaten:

Ermitteln ob Programm unter Wine emuliert wird

Beitrag von Lukaso »

Hallo,

gibt es irgendeine möglichkeit zu überprüfen ob mein Windows Programm unter Windows läuft oder gerade mit WINE (oder mit änlichen Programmen) unter Linux gestartet wurde?

Am besten wäre natürlich herauszufinden unter welchem OS das Programm wirklich läuft.

Allerdings scheint das eine unlösbare kopfnuss zu sein, da ja ein richtiges Windows vorgekaukelt wird /:->

Jemand ideen? :roll:

Danke, Lukas
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Meine Idee: gar nicht. :mrgreen: Okay, folgendes Beispiel ist noch extremer aber immerhin: wie würdest du zum Beispiel mit einem Betriebssystem feststellen wollen, ob es auf einem realen oder virtuellen System läuft? :D

Ich habe den Film zwar nie gesehen, aber das kommt mir vor wie Matrix... :mrgreen:
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: Ermitteln ob Programm unter Wine emuliert wird

Beitrag von AND51 »

Lukaso hat geschrieben:ob mein Windows Programm unter Windows läuft oder gerade mit WINE (oder mit änlichen Programmen) unter Linux gestartet wurde?
Kenne mich damit nicht aus, aber vielleicht geht das nur indirekt.

Z. B. könnte die Performance eines emulierten Programmes nicht so gut sein, wie das eines real ausgeführten. Wenn dir also auffällt, dass dein Programm Dateien langsamer erstellen oder im Speicher mit Bildern hantieren kann, als sonst, könnte es sein, dass hier gerade emuliert wird...

Alternativ könntest du dich auf Dinge stürzen, die WINE nicht beherrscht. Wie gesagt, habe keine Ahnung davon, aber vielleicht gibt's in WINE die ein oder andere (API-)Funktion nicht, oder es kann dies oder das nicht. Prüfe dies und dann hast du vielleicht eine Erleuchtung.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Hm, vieleicht gibts da Tricks für. Ich weis das man sowohl VMWare als auch VirtualPC feststellen kann. Von WINE hab ich da aber noch nix gesehen.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
Alves
Beiträge: 1208
Registriert: 19.04.2006 18:24
Kontaktdaten:

Beitrag von Alves »

Wine gaukelt was vor? Ich dachte, das OS bliebe gleich, nur die Befehle werden gleich in die entsprechenden APIs umgesetzt.
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Hi,

ich kenne zwar WINE nicht, aber was ergibt:

Code: Alles auswählen

debug OSVersion()


lg
Marco
Windows 11 - PB 6.03 x64
_________________________________
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Ermitteln ob Programm unter Wine emuliert wird

Beitrag von DarkDragon »

AND51 hat geschrieben:
Lukaso hat geschrieben:ob mein Windows Programm unter Windows läuft oder gerade mit WINE (oder mit änlichen Programmen) unter Linux gestartet wurde?
Kenne mich damit nicht aus, aber vielleicht geht das nur indirekt.

Z. B. könnte die Performance eines emulierten Programmes nicht so gut sein
WINE = Wine Is Not an Emulator

;-)

@marco2006:
Das sollte die eingestellte Windowsversion ergeben. WINE täuscht das alles vor. Außerdem kann man ja auch die original Windows DLLs nehmen, dann geht so gut wie garnichts mehr.
Zuletzt geändert von DarkDragon am 21.05.2008 10:30, insgesamt 1-mal geändert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Re: Ermitteln ob Programm unter Wine emuliert wird

Beitrag von AND51 »

DarkDragon hat geschrieben:WINE = Wine Is Not An Emulator
Das konnte ich nicht wissen. Ich habe mich an der Threadüberschrift orientiert:
Threadtitel hat geschrieben:Ermitteln ob Programm unter Wine emuliert wird
Dachte also, es emuliert doch. Naja, macht nichts.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Eigentlich ist es doch nicht sooo schwer, was über das Thema zu finden. Bereits im Wikipedia-Artikel (http://en.wikipedia.org/wiki/Wine_(software) ) wird man fündig:

Microsoft has generally not made public statements about Wine. However, the Microsoft Update software will block updates to Microsoft application software running in Wine-based environments. On February 16, 2005, Ivan Leo Puoti discovered that Microsoft had started checking the Windows registry for the Wine configuration key and would block the Windows Update for any component. Puoti wrote, ". . . even if this is only an initial attempt, they appear to want to discriminate against Wine users. While this may be acceptable for operating system components/updates, this is probably a violation of anti-trust law for all other downloads. It's also the first time Microsoft has acknowledged the existence of Wine."[21]

Scheint also gar nicht so kompliziert zu sein. Und sicherlich auch zuverlässiger als das Einsetzen von API-Funktionen, die noch nicht in Wine funktionieren (aber möglicherweise irgendwann doch mit aufgenommen werden, wodurch die Checks plötzlich untauglich werden).
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
marco2007
Beiträge: 906
Registriert: 26.10.2006 13:19
Kontaktdaten:

Beitrag von marco2007 »

Ok, noch ein Vorschlag und ich halte meinen Mund :mrgreen:


@DD:
Simuliert WINE auch einen (gültigen?) SerialCode?
Windows 11 - PB 6.03 x64
_________________________________
Antworten