Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: | in Hint verwenden, ohne das Delphi dies als LongHint interpretiert?

  Alt 31. Jul 2012, 18:00
Rein theoretisch kann man das auch einfach rauspatchen, dass der ShortHint auf diese Weise ermittelt wird. Allerdings ist das dann sehr spezifisch und bei einer neuen Delphiversion muss man das ggf. ändern...
Deshalb würde ich es nicht empfehlen.

So funktioniert es jedenfalls mit XE... (den LongHint entsprechend zu ändern überlasse ich dem geneigten Leser, wie es geht sieht man ja. )
Trennzeichen ganz rauspatchen:
Delphi-Quellcode:
const
  cNewValue: Word = $DB31; // xor ebx, ebx
var
  Dummy: Cardinal;
begin
  if PWord(PByte(@GetShortHint) + 21)^ = $DB85 then // test ebx, ebx
    WriteProcessMemory(GetCurrentProcess, PByte(@GetShortHint) + 21, @cNewValue, SizeOf(cNewValue), Dummy);
Anderes Zeichen als Trennzeichen setzen:
Delphi-Quellcode:
const
  cNewChar: Char = 'ä';
var
  Dummy: Cardinal;
begin
  if PWord(PInteger(PByte(@GetShortHint) +10)^)^ = Ord('|') then
    WriteProcessMemory(GetCurrentProcess, PWord(PInteger(PByte(@GetShortHint) +10)^), @cNewChar, SizeOf(cNewChar), Dummy);
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat