Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 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
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat