AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Problem bei dynamischem Aufruf einer DLL mit Übergabe von Pointern ala Win32API
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei dynamischem Aufruf einer DLL mit Übergabe von Pointern ala Win32API

Ein Thema von eric_draven · begonnen am 14. Mär 2011 · letzter Beitrag vom 15. Mär 2011
Antwort Antwort
Seite 2 von 2     12   
eric_draven

Registriert seit: 26. Jul 2007
15 Beiträge
 
#11

AW: Problem bei dynamischem Aufruf einer DLL mit Übergabe von Pointern ala Win32API

  Alt 15. Mär 2011, 07:55
Zitat:
Er will ja hoffentlich kein Atomkraftwerk damit steuern.
Hey, woher kennt ihr den Verwendungszweck ?
Aber Spaß beiseite, mir ist klar, dass wenn wie Assarbad schreibt, eine falsche Parameterzahl übergeben wird, der Stack dermaßen korrumpiert ist, dass das Programm abraucht oder etwas völlig unvorhersehbares macht, wie das Haustier des Besitzers zu killen.
Das Ganze soll aber in einem eigenen Modul laufen, so daß nicht alles abraucht und nur für Profiuser sein, nicht für den gemeinen Anwender. Es gibt auch noch Tricks, wie man das mit der falschen Parameterzahl, etc. abfängt, das macht z.B. OllyDbg beim "Call DLL Export".
Nichts desto Trotz ist dies alles ja im Moment gar nicht mein Problem, deshalb habe auf Luckies Vorschlag ja auch einen klassischen dynamischen Aufruf der DLL Funktion nach Delphi-manier (ohne bösen asm Code) gepostet.
Mein Problem ist, dass ich verstehen will, wie das Prinzip bei der Windows API funktioniert (ja ich weiß, dass ist C/C++ und kein Delphi).
Sprich:
Rufe eine Funktion einer DLL auf mit (ganz einfaches Beispiel) einem Parameter, der ein PChar ist.
Die Aufgerufene Funktion schreibt dir was in den (vorher alloziierten) PChar rein und Du kannst das Ergebnis nutzen.
Wie muss diese DLL aussehen ?
Das Gegenstück, der Aufrufer funktioniert ja für WinAPI - Funktionen, wie in den Beispielen.

@Himitsu: Die Adresse der Variablen gebe ich mir aus, weil ich diese dann im .DATA Segment im OllyDbg öffnen kann und so prüfen dass diese korrekt ist. Ich kann den Inhalt an der Stelle ja sogar editieren, so daß mein Programm diesen neuen Inhalt anzeigt.
  Mit Zitat antworten Zitat
eric_draven

Registriert seit: 26. Jul 2007
15 Beiträge
 
#12

AW: Problem bei dynamischem Aufruf einer DLL mit Übergabe von Pointern ala Win32API

  Alt 15. Mär 2011, 10:46
ok, habs gelöst, wenn man den Pointer als <Var> übergibt, stimmt die Adresse überein. Nun kann ich auch mit WriteProcessMemory auf diese schreiben (was natürlich Banane ist, da ich ohnehin schon den Pointer habe). Aber warum leckt sich der Rüde seine Eier ? - Weil er's kann
Danke für Eure Hilfe !
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:35 Uhr.
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