AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit RtlRunEncodeUnicodeString

Ein Thema von slemke76 · begonnen am 22. Sep 2015 · letzter Beitrag vom 27. Sep 2015
 
slemke76

Registriert seit: 29. Mär 2005
Ort: Quakenbrück
146 Beiträge
 
#1

Probleme mit RtlRunEncodeUnicodeString

  Alt 22. Sep 2015, 17:57
Hallo zusammen,

ich muss (leider) auf RtlRunEncodeUnicodeString und RtlRunDecodeUnicodeString zurückgreifen (andocken an dritt-Software). Ich dachte mir, ich baue mal einen Prototypen, um nicht gleich mit der ganz grossen Aufgabe anzufangen. Leider sind das ja undokumentierte Befehle, so daß ich echt auf dem Schlauch stehe.

Was mir fehlt, ist das grundsätzliche Verständnis, wofür ich vorher "RtlInitUnicodeString" brauche und wie ich die Funktionen sauber anspreche. Ich habe ein kleines Beispiel zusammengestellt, dass aber schon bei RtlRunEncodeUnicodeString eine Zugriffsverletzung verursacht.

Kann mir jemand zum einen für das Verständnis weiter helfen und zum anderen zu dem korrekten ansprechen von RtlRunEncodeUnicodeString/RtlRunDecodeUnicodeString?

Hier der Code:
Delphi-Quellcode:
{...]
type
  PUnicodeString = ^TUnicodeString;
  TUnicodeString = packed record
    Length: Word;
    MaximumLength: Word;
    Buffer: PWideChar;
  end;

  procedure RtlInitUnicodeString(DestinationString: PUnicodeString; SourceString: LPWSTR); stdcall; external 'ntdll.dll';
  procedure RtlRunEncodeUnicodeString(bKey : PBYTE; Str : PUnicodeString); stdcall; external 'ntdll.dll';
[...]

procedure TForm1.Button1Click(Sender: TObject);
var
  Seed: DWORD;
  UnicodeStringBuffer: WideString;
  UnicodeString: TUnicodeString;
begin
  UnicodeStringBuffer  := 'TestString';
  UnicodeString.Buffer := PWideChar(UnicodeStringBuffer);
  UnicodeString.Length := Length(UnicodeStringBuffer) * SizeOf(WideChar);
  RtlInitUnicodeString(@UnicodeString, @UnicodeStringBuffer);
  Seed := Byte(GetTickCount);
//  RtlRunEncodeUnicodeString(@Seed, @UnicodeString);
end;
lg
Sebastian
  Mit Zitat antworten Zitat
 


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 01:52 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