![]() |
SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
Hey,
ich bräuchte einen SetLength Ersatz, welcher lediglich mit "C Funktionen" und "C Datentypen" arbeitet. Erzeuge ich mittels CreateRemoteThread einen Thread in einer fremden Anwendung und verwende darin SetLength für ein dynamisches Array stürzt das Programm ab, weil SetLength String, etc verwendet, was es ja in anderen Anwendungen nur als PChar gibt. Daher erscheint eine Zugriffsverletzung. Ideal wäre eine ASM Funktion für dynamische Byte Arrays :) Vielen Dank |
Re: SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
Wie hast du denn diese Funktion in die andere Anwendung gebracht.
du dürftest nämlich nicht nur nicht "setlength" aufrufen können, sondern alle Funktionen die du nicht mitnimmst gehen dir verloren. Keine Ahnung, was du machen willst. Da es aber am günstigstens ist in so einem Thread nur API-Funktionen zu verwenden (da die ja bekanntlich immer da sind), kannst du dich ja mal nach nem SafeArray umschauen. Und was meinst du mit ASM-Lösung? :gruebel: Speicher alloziieren (wahrscheinlich ohne Speichermanager) und los gehts :mrgreen: |
Re: SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
Er will einen Thread in ein anderes Programm (z.B.: Explorer) erstellen. Doch das problem mit Delphi ist das du alle Funktionen die du benutzt auch infiziert müsstest und die Addressen wo die Funktionen sich befinden auch nachher speichern/infizieren müsstest damit das Programm diese wieder findet. Deswegen benutze lieber die Windows API, zum Beispiel: statt Length lieber lstrlen, usw.
|
Re: SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
So okey .. habs halt jetzt ohne Array sondern mit einem Pointer gelöst. Mein Problem war, dass ich mittels MMF erst ein paar Längenbytes und dann den Content geschickt habe. Das Längenbyte wollte ich natürlich nicht im Result haben. Naja mit dem Pointer ü Offset gehts auch :)
|
Re: SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
Zitat:
Am einfachsten ist es einen LoadLibrary Aufruf in die Fremdanwendung zu injezieren, der dann eine eigene DLL nachlädt. Dadurch kann man ganz normal arbeiten, hat einen Speichermanager und die RTL zur Verfügung. |
Re: SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
Ja das ist natürlich am einfachsten. Doch ist wirklich so .. wenn man im RemoteThread beispielsweise nur eine String Variable deklariert stürzt das ganze ab. Ist in C für die spezifischen Datentypen aber sicher auch so. Muss halt entweder ASM sein, oder pure API Aufrufe.
|
Re: SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
Lass mal das ASM aus deinen Posts raus, krieg da immer son *hicks wenn ich das lese ;)
|
Re: SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
Zitat:
|
Re: SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
Zitat:
|
Re: SetLength Ersatz? ASM? Ohne Delphi spezifische Typen ..
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz