Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

in laufenden programmen/DLL 'eingreifen'?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 28.11.2010, 09:25    Titel: in laufenden programmen/DLL 'eingreifen'? Antworten mit Zitat

huhu zusammen,

hab mich oberflaechlich mit der Thematik von DLL-Injection beschaeftigt wo man 'eigenen' Code einem Programm hinzufuegen 'kann'

Jetzt habe ich mich allerdings gefragt ob es moeglichkeiten gibt, innerhalb eines laufendes Programms das seine Funktionen aus DLLs bezieht 'einzugreifen'

Ich versuchs mal zu erklaeren:
Das Programm hat bei druecken einer bestimmter Taste eine Funktion aufgerufen.
Eine neue version die immernoch die Funktion innerhalb der DLL besitzt fragt nun nicht mehr nach bzw ruft die funktion nicht mehr auf.
Nun wollte ich wissen ob es per externen programm meinetwegen per globalkey moeglich ist das dieses dann in der laufenden DLL die funktion aufruft als haette es das programm selbst getan?! so das mit diese mit einem extra programm wieder zur verfuegung steht?!
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 20.12.2010, 20:43    Titel: Antworten mit Zitat

ja das geht

sicherheitlöcher in browsern, kerneln etc. nutzen genau das aus (nur das andere calls gecallt werden)
du musst "nur" deinen code hintenanhängen, und irgendeinen befehl im programm durch JMP dein_code ersetzen. zum beispiel

aber kA wie zwinkern

der gdb kann jedenfalls aus dem programmkontext heraus funktionen aufrufen. weiß aber nicht ob das mit -g zusammenhängt
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 31.12.2010, 21:38    Titel: Antworten mit Zitat

Ich finde die Frage etwas verwirrend.

Ein Programm kann natürlich Tastatur und Mauseingaben Simulieren (die Maus hab ich in Freebasic auch schon per WinAPI bewegt, ist recht einfach), letztlich ist der Maus- und Tasturtreiber ja auch nur software.

Was auch geht, ist in den Speicherbereich andere Programme einzugreifen. (Erfordert Admin Rechte und wird in modernen Sprachen dadurch erschwert, dass die Speicherbereiche Dynamisch vergeben werden) Das sowas in freie Wildbahn nicht auftaucht liegt wohl daran, dass wenn man die nötigen Rechte dazu hat, ja auch gleich die vorder Tür nehmen kann und das Programm oder die Funktion direkt starteten kann.
Genutzt wird es aber von manchen Cheat Programmen: Wenn ich weiss wo meine Lebenspunkte gespeichert sind, kann ich sie einfach einfrieren.

Was auch ginge, ist einfach eine Dummy DLL zu schreiben, die Aufrufe an die echte weitergibt und einfach mitprotokolliert. Vom einfachen mitlesen dann zum Manipulieren überzugehen ist dann auch nahe liegend.
_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz