• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

FPT-(Foreground, Position, Title)-Changer

Status
Für weitere Antworten geschlossen.

xxx

Diablo-Veteran
Registriert
21 August 2003
Beiträge
1.044
FT-(Foreground, Title)-Changer

Hai o/,

mir war es vor einige Zeit mal etwas langweilig und da dachte ich mir, "komm schreib doch mal ein Programm, mit dem man Fenster im Vordergrund halten, den Titel ändern und das Ganze noch schick positionieren kann". Gesagt getan. Problem dabei ist nur, dass Blizzard eine Funktion eingebaut hat, die Diablo automatisch minimiert, wenn der Focus weg ist. Somit kann man nur die Position und den Titel ändern /o\

Hier der Quelltext \o/
Code:
#include <string.h>
#include <windows.h>

int main(int argc, char *argv[])
{
    if(argc < 4)
     exit(1);
     
    char program[150], title[150];
    strncpy(program, argv[1], 150);
    strncpy(title, argv[2], 150);
    
    int xpos, ypos;
    xpos = atoi(argv[3]);
    ypos = atoi(argv[4]);
    
    HWND win  = FindWindow(NULL, program);
    SetWindowText(win, title);
    SetWindowPos(win, HWND_TOPMOST, xpos, ypos, 0, 0, 1);
    return 0; 
}

Wie funktioniert der Spaß jetzt?
Die einfachste Möglichkeit ist eine Verknüpfung der Datei zu machen und dann folgendes hineinschreiben:
FPT_Verknuepfung.png

Code:
"C:\Pfad\zur\Datei\FPT.exe" "Name des Fensters" "Neuer Titel" xPosition yPosition

Beispiel:
Code:
"C:\Pfad\zur\Datei\FPT.exe" "Calculator" "Mega Rechner!1" 20 100

Das wars. Einfach das Programm starten, die Verknüpfung ausführen und sich freuen, dass man nun ein Programm hat, mit einem eigenen Titel \o/

Gruß an die Experten und #diablo2.de.trade <3
 
Na ja, Titel ändern klappt zwar, aber D2 minimiert sich trotzdem. :p
 
und dieses Programm hält z.B. Diablo II im Fenstermodus im Vordergrund? :eek:
edit: na gut, dass hat sich dann wohl erledigt^^
 
Habs bis jetzt noch mit Diablo testen können, weil ich es nicht installiert habe, werde ich aber jetzt mal machen. Wäre ein bisschen seltsam, dass es nicht geht :o

//Erster Gedanke ist, dass Diablo evtl. bzgl. ihres Fenstermanagment nicht auf die WINAPI zurück greift, sondern auf DirectX und DrawDingens. Aber da sollte sich auch was finden lassen ;)
 
Darkster schrieb:
Wäre ein bisschen seltsam, dass es nicht geht :o
Ich vermute, dass D2 Windows-Botschaften empfängt und daher merkt, dass es den Fokus verliert. In D2 ist dann halt verdrahtet, dass es sich minimiert. Dass du die Fenstereigenschaften vorher verändert hast, ist dann wirkungslos, weil D2 sie einfach erneut verändert. Deshalb kann das grundsätzlich so nicht funktionieren.

Um das zu verhindern, müsste ein Programm sich wohl in die Schleife der Windows-Botschaften einklinken und diese auf Botschaften vom D2-Fenster hin abfragen. Das Proggi könnte Botschaften vom D2-Fenster dann abfangen und das Minimieren verhindern.

Aber mir wäre es etwas zu aufwendig, so etwas zu entwickeln. :D
 
:hy: Huhu Darkster

Mal ne blöde Frage.
Meine Kenntnisse in Sachen Programmieren beschränken sich leider auf das Erstellen von Batchdatein und der Uraltprogrammierung in Q-Basic.
Was mich so interessiert, wenn es tatsächlich so funktioniert, das Dein Tool die Minimierung von D2 verhindert, ist es denn soweit sicher, um nicht etwaige unerwünschte Folgen von Blizzard nach sich zu ziehen ?
Weisst, was ich meine ?
Hab wie gesagt keine Ahnung von der Materie.
Bin im Handwerk angesiedelt.

Gruss Silencer23
 
Silencer23 schrieb:
Was mich so interessiert, wenn es tatsächlich so funktioniert, das Dein Tool die Minimierung von D2 verhindert, ist es denn soweit sicher, um nicht etwaige unerwünschte Folgen von Blizzard nach sich zu ziehen ?

Im jetzigen Zustand sollte es keine Problem ergeben. Doch wie TearDrops schon anmerkte, sollte es wirklich nötig werden in die Windows-Message-Queue einzugreifen, macht Blizzard bestimmt nicht mehr mit ;) Ich bin jetzt noch am Installieren, werde dann mal schauen, ob es vielleicht eine Möglichkeit gibt, dass Ganze ohne direktes Eingreifen in die Windows-Message-Queue zu erreichen.

Gruß

//Edit: Also mit den anfangen Methoden lässt sich da nicht viel machen. Man könnte das über Hooks realisieren. Bei Userlandhooks weiß ich nicht, wie stark es da ein Problem mit Blizzard geben könnte. Kernelhooks hingegen sollten unerkannt bleiben, aber da geht dann doch schon wieder ein bisschen zu weit für PlanetDiablo :ugly:

//Edit2: Falls wer interessant hat, wie man das genau erledigt, PM an mich :x
 
Folgen hätte eine solche "Manipulation" definitiv nicht. Die Windows Message Queue oder das Einklinken in Hooks sind offene Schnittstellen zum Betriebssystem, die jeder Anwendung zur Verfügung steht und selbstverständlich auch genutzt werden darf.
Es hätte keinerlei negative Folgen im Sinne eines Banns oder ähnlichem zur Folge.

Man könnte lediglich darüber diskutieren, ob die Community ein solches Tool als 3rd party ansehen und dementsprechend verteufeln würde. Das wäre eine rein philosophische Frage.

In der Tat hielte ich persönlich ein solches Tool noch viel weniger für ein 3rd party prog, als beispielsweise die manipulierte d2gfx.dll, die viele hier zum Mehrfachstart von D2 verwenden.

Wie auch immer, der Aufwand zur Entwicklung eines solchen Tools ist leider relativ hoch, zumal auch noch nicht einmal wirklich sicher ist, dass D2 als "Fenster-Management" tatsächlich ausschließlich die Windows Message Queue nutzt. Da gibt es leider noch einige Möglichkeiten mehr. Dadurch ist man auf Experimente angewiesen und verbrät möglicherweise ne Menge Zeit, nur um hinterher festzustellen, dass Blizzard dann doch eine andere Variante anwendet und das bisher entwickelte für den Popo war. :)
 
:flame:
4th party tool!
neu neu neu
neben maphack und dem ganzen botkrams nun auch noch ein programm, mit dem man unter win ganz tolles mit seinem offenen fenster anstellen kann :eek:

btw.1: c saugt :p
btw.2: du hast zuviel freizeit <:
v.a. muss man das ja nu erst compilern (deinem download trau ich nich, siehe ewron@irc :p), ergo brauch man n saug-compiler, ergo noch mehr datenmüll aufm rechner, ergo noch kaputteres win x_x
 
Also hooken der Message-Queue von win würde ich ja beii bnet lieber lassen :angel:
Andere Möglichkeit wäre ein Memory-Patcher, der die Calls zur WinAPI (2 an der Zahl) durch hex 0x90 aka ASM NOP ersetzt ;)
@BodyHermann: C>all :p
D2 verwendet zumindest zum minimieren von User32.dll ShowWindow(), siehe auch hier:
http://phrozenkeep.planetdiablo.gamespy.com/forum/viewtopic.php?t=49411
übrigens in D2GFX.dll, wer zu faul ist auf den Link zu drücken. Das heißt auch, das es unabhängig vom verwendeten Grafikmodus über den Handler läuft.
Da auch Tastendrücke etc über die Messagequeue laufen, gehe ich zumindest mal stark davon aus, das das bei dem minimieren auch so ist. Falls bedarf an Wissen besteht, schreit, dann schau ich kurz nach :p
Und wegen dem fenstertitel ändern: Das kann böse sein, dass macht D2Loader (afaik) auch :clown:
MfG
Corni
 
CorniI schrieb:
Also hooken der Message-Queue von win würde ich ja beii bnet lieber lassen :angel:
Ach ich denke wenn man das im Kernel macht, wird das gar nichts machen. Außer Blizzard hat seit Neustem ein Rootkit-Detection-System in Diablo eingebaut. ;)

D2 verwendet zumindest zum minimieren von User32.dll ShowWindow(), siehe auch hier:
http://phrozenkeep.planetdiablo.gamespy.com/forum/viewtopic.php?t=49411
Das ist recht interessante, wollte aber keine DLLs verändern, weil das am Einfachsten zu Entdecken wäre und somit, sich auch die Wahrscheinlichkeit erhöht gebannt zu werden. Ob das jetzt beim Minimizing ausschlaggebend ist, ist nur zu spekulieren.


Und wegen dem fenstertitel ändern: Das kann böse sein, dass macht D2Loader (afaik) auch :clown:
Jo und Bots loggen sich auch ein :ugly: :p
 
Ach ich denke wenn man das im Kernel macht, wird das gar nichts machen. Außer Blizzard hat seit Neustem ein Rootkit-Detection-System in Diablo eingebaut.
Du kennst das Grundprinzip von Warden? Ein Client-Modul in der D2Client.dll, das einfach _beliebigen_ Code ausführt, den Blizz auf den Bnet-Servern hat und der nach Bots/MH/etc scannt? Da können die "über Nacht" nen Rootkit-detector einbauen...
Wenn du überlegst ist das sogar sinnvoll, da du theoretisch über eine eigene Grafik-DLL wie ein selbstprogrammierter Glidewrapper an den Screen kommst (bilderkennung) und dann über einen Kernelhook tastatur-und Mauseingaben an D2 sendest dir einen Bot prggen kannst. Ok, die Bots der heutigen Zeit implementieren einfach den Teil von D2, der mit dem bnet kommuniziert, das ist auch einfach, solange Blizz nichts an Warden ändert (API auf Packet-Ebene, aka packete die gesendet werden müssen, das kein Ban auftritt, oder gesendete packete, die einen Bot indizieren)
MfG
Corni
 
CorniI schrieb:
Du kennst das Grundprinzip von Warden? Ein Client-Modul in der D2Client.dll, das einfach _beliebigen_ Code ausführt, den Blizz auf den Bnet-Servern hat und der nach Bots/MH/etc scannt? Da können die "über Nacht" nen Rootkit-detector einbauen...
Dass das möglich ist, sicher, aber wie sieht es denn mit dem deutschem Recht diesbzgl. aus, afaik hatten die schon einen Rechtsstreit deswegen.

Wenn du überlegst ist das sogar sinnvoll, da du theoretisch über eine eigene Grafik-DLL wie ein selbstprogrammierter Glidewrapper an den Screen kommst (bilderkennung) und dann über einen Kernelhook tastatur-und Mauseingaben an D2 sendest dir einen Bot prggen kannst.
Wenn man sich einen Tastatur- bzw. Maustreiber schreib sollte es doch sehr schwer werden, zu erkennen, ob das nun von einem Programm ist oder vom User.


Schneier hat einen ganz netten Artikel dazu: http://www.schneier.com/blog/archives/2005/10/blizzard_entert.html (2005)
Was dabei recht übel ist:
I watched the warden sniff down the email addresses of people I was communicating with on MSN, the URL of several websites that I had open at the time, and the names of all my running programs, including those that were minimized or in the toolbar. These strings can easily contain social security numbers or credit card numbers, for example, if I have Microsoft Excel or Quickbooks open w/ my personal finances at the time.

und

Once these strings are obtained, they are passed through a hashing function and compared against a list of 'banning hashes' -- if you match something in their list, I suspect you will get banned. ...

Ban per IM, hört sich doch nett an ;)

Hier nochmals News dazu von Nov/07: http://onwarden.blogspot.com/2007/11/storm-is-brewing.html

Wenn man sich nun so generell überlegt, wie das vor sich geht, muss ich sagen.
Privacy vs. Gaming. Oder eine Konsole nehme und diese nicht ans Netzwerk anschließen.


Gruß
 
Edit: Doch wieder gelöscht. Ich denke, solche programmiertechnischen Details sollte man hier nicht diskutieren. Es wird dabei einfach zu viel Halbwissen hineingeworfen, was die Diskussion nur unnötig erschwert und in die falsche Richtung lenkt.
 
@darkster: wenn Blizz immer noch so nach Hacks suchen würde wäre das sicher publik, dazu gibt es genügend Bot/Hackfabrikanten die Warden reverse enginieren (blödes verb :D). Ich selber lasse da ja nur die Finger davon, da mir meine 2 CD-keys, meine Accs und meine DOUG-Mitgliedschaft zu lieb sind- Abgesehen davon das vom RE-Standpunkt sowieso 1.10>1.11b gilt :) Außerdem kann man beim modden auch unkompliziert die d2gfx.dll ändern :p
MfG
Corni
 
Falls das Problem noch besteht, dass sich das Fenster minimiert, sieh dir mal den D2Loader an, der kann das.
Vielleicht siehst du dabei ja was das dir hilft ;).


(Jaja böses Programm, aber es kann halt wirklich was :P)
 
CorniI schrieb:
@darkster: wenn Blizz immer noch so nach Hacks suchen würde wäre das sicher publik, dazu gibt es genügend Bot/Hackfabrikanten die Warden reverse enginieren (blödes verb :D).
Deswegen habe ich ja das Datum in der Klammer angegeben.

WeDontLikeYou schrieb:
Falls das Problem noch besteht, dass sich das Fenster minimiert, sieh dir mal den D2Loader an, der kann das.
Es gab hier schon genügend Lösungsmöglichkeiten dafür, danke. Aber da ich selbst seit über drei Jahren kein Diablo mehr spiele, werde ich mich damit nicht intensiver beschäftigen, da einfach der Reiz dazu fehlt.

Ich denke grundlegend kann man als Resultat angeben, dass es möglich wäre mit ein bisschen Aufwand, dass die Fenster nicht minimiert werden. Falls jemand noch Lust hat da herum zu basteln, wird er hier genügend Informationen finden, wie man es realisiert.

Wie TearDrops schon angedeutet hat, ist solch ein Exkurs für PlanetDiablo ein bisschen ungeschickt gewählt, weil es einige sehr tiefgründige Informationen bietet, welche zum Bau von "böses Programmen" eine Grundlage bietet.

Soviel von mir ;)
Gruß
 
Hallo,

einfach mal von oben ach unten lesen... liesst sich wie ein Roman.


Problem dabei ist nur, dass Blizzard eine Funktion eingebaut hat, die Diablo automatisch minimiert
...
Um das zu verhindern, müsste ein Programm sich wohl in die Schleife der Windows-Botschaften einklinken und diese auf Botschaften vom D2-Fenster hin abfragen. Das Proggi könnte Botschaften vom D2-Fenster dann abfangen und das Minimieren verhindern.
...
ist es denn soweit sicher, um nicht etwaige unerwünschte Folgen von Blizzard nach sich zu ziehen ?
...
sollte es wirklich nötig werden in die Windows-Message-Queue einzugreifen, macht Blizzard bestimmt nicht mehr mit
...
In der Tat hielte ich persönlich ein solches Tool noch viel weniger für ein 3rd party prog, als beispielsweise die manipulierte d2gfx.dll, die viele hier zum Mehrfachstart von D2 verwenden.
...
und daher toll ist, da viele sie verwenden (manipuliert)
...
Das ist recht interessante, wollte aber keine DLLs verändern, weil das am Einfachsten zu Entdecken wäre und somit, sich auch die Wahrscheinlichkeit erhöht gebannt zu werden. Ob das jetzt beim Minimizing ausschlaggebend ist, ist nur zu spekulieren.
...
Ok, die Bots der heutigen Zeit implementieren einfach den Teil von D2, der mit dem bnet kommuniziert, das ist auch einfach, solange Blizz nichts an Warden ändert (API auf Packet-Ebene, aka packete die gesendet werden müssen, das kein Ban auftritt, oder gesendete packete, die einen Bot indizieren)
...
sniff down
...
wenn Blizz immer noch so nach Hacks suchen würde wäre das sicher publik, dazu gibt es genügend Bot/Hackfabrikanten die Warden reverse enginieren (blödes verb ). Ich selber lasse da ja nur die Finger davon, da mir meine 2 CD-keys, meine Accs und meine DOUG-Mitgliedschaft zu lieb sind- Abgesehen davon das vom RE-Standpunkt sowieso 1.10>1.11b gil
...
Falls das Problem noch besteht, dass sich das Fenster minimiert, sieh dir mal den D2Loader an, der kann das.
Vielleicht siehst du dabei ja was das dir hilft
(Jaja böses Programm, aber es kann halt wirklich was :P)

Lassen wir einfach mal so stehen. Vielleicht kann sich hier hier der begabte, aber nicht innovative Programmierer noch ein paar Anregungen besorgen

Gruß
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben