Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   .dll programmierung und endlosschleife (https://www.delphipraxis.net/46851-dll-programmierung-und-endlosschleife.html)

Arnulf 1. Jun 2005 17:39


.dll programmierung und endlosschleife
 
hallo
Ich hab wenig Erfahrung mit .dll programmierung.
wie ich das verstehe wird eine .dll vom prozess geladen und damit auch ausgeführt.
Jetzt will ich aber keine prozeduren in der .dll benutzen sondern eine abfrage in einer endlosschleife laufen lassen.
Ich hab das mal so gemacht :

Delphi-Quellcode:
var tid: cardinal;
begin
  BeginThread(nil,0,@schleife,nil,0,tid);
end.
in schleife läuft jetzt eine endlosschleife.
Ja ich vermute es wird einige geben die mich für wahnsinnig halten lol - aber ich weiß ja nicht wie man sowas sonst machen könnte - darum frag ich ja :)

Arnulf

c113plpbr 1. Jun 2005 19:54

Re: .dll programmierung und endlosschleife
 
Zitat:

Zitat von Arnulf
hallo
Ich hab wenig Erfahrung mit .dll programmierung.
wie ich das verstehe wird eine .dll vom prozess geladen und damit auch ausgeführt.

Soweit so gut ...
Zitat:

Zitat von Arnulf
Jetzt will ich aber keine prozeduren in der .dll benutzen sondern eine abfrage in einer endlosschleife laufen lassen.

Was frägst du denn ab? Vielleicht gibts ja auch eine bessere lösung?!?
Zitat:

Zitat von Arnulf
Ich hab das mal so gemacht :

Delphi-Quellcode:
var tid: cardinal;
begin
  BeginThread(nil,0,@schleife,nil,0,tid);
end.

Eine weise Entscheidung eine Endlosschreife in einem eigenen Thread laufen zu lassen ...
Zitat:

Zitat von Arnulf
in schleife läuft jetzt eine endlosschleife.
Ja ich vermute es wird einige geben die mich für wahnsinnig halten lol - aber ich weiß ja nicht wie man sowas sonst machen könnte - darum frag ich ja :)

Dann erzähl doch mal was du in dieser schleife abfrägst ...

ciao, Philipp

Arnulf 1. Jun 2005 20:50

Re: .dll programmierung und endlosschleife
 
Delphi-Quellcode:
Vielleicht gibts ja auch eine bessere lösung
es gibt sogar sicher eine besser methode, aber soweit bin ich wohl noch nicht bzw. weiß ich nicht wo ich mich da einlesen könnte - bisher hab ich nur meine theorien wie das alles funktioniert :).
aber ich lerne...

Im prinzip verwende ich die isHooked funktion von uall um die opengl32.dll library zu überprüfen.

Ich würde das lieber von ausserhalb machen und nicht in einer library, aber das ganze projekt wächst mir schon über den kopf :).

demnach schaut derzeit die ganze library so aus:

Delphi-Quellcode:
procedure schleife;
var msgid : UINT;
begin
   msgid := RegisterWindowMessage('d02176e0-bc06-11d9-9669-0800200c9a66');
  while true do
        begin
        if uallprotect.IsHooked('opengl32.dll','glBegin')
        then begin
             PostMessage (HWND_BROADCAST, msgid, 0, 0);
             sleep (5000);
             end;
  sleep (3000);
  end;
end;
Und mich nicht für verrückt halten, weil ich ständig sourcen für einen anticheat poste, aber das projekt hab ich gestartet um delphi zu lernen - und plötzlich verwenden das so viele leute ... jetzt komm ich irgendwie in stress und das noch privat lol :) und echte hacker hält das auch nicht auf, nur die ganzen customer cheats verhindert der - dafür aber ziemlich gut inzwischen.

Danke
Arnulf

brechi 1. Jun 2005 21:00

Re: .dll programmierung und endlosschleife
 
du kannst das IsHooked auch external machen
dafür musst du dir nur die DLLs listen lassen und mit ReadProcessMemory einfach die dll in deinen speicher kopieren, dann noch die eigene opengl32.dll laden und vergleichen

das ist eigentlich nicht so schwer, dann brauchste keine eigene dll injezieren

wenn du das aber so machen willst musst du nen eigenen thread erstellen, ob nu BeginThread oder CreateThread ist bei einer dll in der dllmain egal
du musst einen thread erstellen da ansonsten solange gewartet wird bis dllmain aufgerufen wurde und das ist in einer endlosschleife extrem lang ;> d.h. das spiel würde dann nicht weiterlaufen

Arnulf 1. Jun 2005 23:39

Re: .dll programmierung und endlosschleife
 
hi
Zitat:

du musst einen thread erstellen
also war es doch nicht so blöd was ich gemacht hab :) - dachte schon mich werden jetzt viele schimpfen lol.

Zitat:

du kannst das IsHooked auch external machen
Das ist mir vollkommen klar.
Nur - wie bekomm ich den Speicherbereich einer .dll in einem anderen Prozess?
Mit ReadMemory brauch ich ja die Adresse.
Hier fangts an interessant zu werden hoffe du hilft mir dabei. Du hast mir den tip schon mal gegeben glaub ich, aber leider hab ich in der Richtung nicht viel in Erfahrung gebracht :(

Arnulf

barf00s 2. Jun 2005 07:53

Re: .dll programmierung und endlosschleife
 
wenn deine dll da geladen iss und die function da läuft, dann müllt die ja sämtliche windowprocs mit deiner msgid voll, reichts da nich ein send/postmessage an ein bestimmtes fenster? </lautdenk>

Arnulf 2. Jun 2005 08:21

Re: .dll programmierung und endlosschleife
 
ja sicher - aber das ist egal weil er sowieso vom server fliegt und damit das spiel beendet wird.
aber ich würde sowieso gerne von der methode weg und das lieber so machen wie brechi gesagt hat.
soll ich dafür einen eigenen thred aufmachen? oder kann mir jemand hier erklären wie man das machen würde?

Ich hoffe jemand hilft mir hiermit :)

Arnulf

barf00s 2. Jun 2005 08:34

Re: .dll programmierung und endlosschleife
 
was willst du eigentlich machen?

nen wallhack für cs kammer sich einfacher zusammenbasteln als die opengl32.dll "so" dermaßen zu injecten :chat:

Arnulf 2. Jun 2005 09:15

Re: .dll programmierung und endlosschleife
 
lol - wallhack für cs :)
nein cs interessiert mich nicht.
Und du hast vollkommen recht man kann sich einfacher wallhacks machen - auch andere hacks sind nicht so schwer.
Aber wirklich schwer wirds wennst einen anticheat machen willst :).
aber ich will mal wenigstens weiter im kontext bleiben und versuchen rauszubekommen wie man eine in einem anderen prozess geladene .dll einliest und mit der originalen vergleicht.

comparemem wirds wohl werden wenn ich mal für beide einen pointer hab lol :)

Arnulf

barf00s 2. Jun 2005 09:34

Re: .dll programmierung und endlosschleife
 
aaaaaaja - ja ne is klaa ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:53 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz