Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
30. Sep 2008
Umgekehrt wird natürlich ein Schuh draus, wenn der Angreifer deine Script-Engine kennt. Denn dann kann er wiederum den Bytecode abgreifen und verändern.
Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
30. Sep 2008
Ich habe schon vermutet, dass die Scriptengine irgendwie beteiligt ist, da ich einen entsprechenden String gesehen habe. Wenn man den Code kompilieren würde, wäre es wahrscheinlich recht einfach, die Abfragen zu umgehen. Aber weil das ganze in einem Interpreter ausgeführt wird, ist das natürlich nicht so leicht.
Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
30. Sep 2008
Das ist jetzt mit meiner ursprünglichen Methode tatsächlich schwierig. Es geht aber auf andere Weise recht einfach: Über den Haltepunkt bei TControl.DefaultHandler erhält man alle möglichen Adressen des Labels. Diese notiert man sich. Dann wartet man, bis man am Ende der OnClick-Routine des Buttons ist (Hast du diese eigentlich von Hand verändert? Dieses einfach call direkt gefolgt von einem ret...
Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
30. Sep 2008
Was meinst du mit dem "richtigen Zeitpunkt"? Ich habe einen Haltepunkt auf die OnClick-Routine des Buttons gesetzt und bei dessen Erreichen den TControl.DefaultHandler-Haltepunkt aktiviert. Dort empfängt man dann hintereinander zweimal WM_SETTEXT: Einmal mit dem String 'Calculating' und beim zweiten Mal mit dem Zahlenstring. Letzteren verändert man dann.
Edit: Was ist an der zweiten Datei...
Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
30. Sep 2008
Man setzt im Debugger einen Haltepunkt auf TControl.DefaultHandler. Dort kommt man direkt an die Verarbeitung der WM_SETTEXT-Nachricht. Bevor der Zahlen-String FText zugewiesen wird, kann man ihn dann verändern.
Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
15. Sep 2008
Gegen einen Administrator kannst du deine Anwendung nicht schützen. Es wäre ja auch reichlich bescheuert, wenn eine Admin nicht volle Rechte über ein laufendes Programm erlangen könnte.