Hallo, Community!
Mir ist schon vor einigen Jahren aufgefallen, dass soetwas kompilierbar ist:
Delphi-Quellcode:
begin
showmessage('sinnvoller text');
'sinnloser text';
123; // sinnlose zahl
end;
Das interessante ist, dass der sinnlose Text sogar hinterher in der EXE auftaucht (lässt sich mit einem Hexeditor finden). Das ist ja nun weder etwas nerviges, noch etwas, das einen Fehler produziert. Allerdings würde mich mal interessieren, wieso das eine gültige Syntax zu sein scheint. Ist das ein Bug? Oder ein Feature? Auf jeden Fall ging das bei Delphi 3 noch nicht. Und dass es keinen fehler gibt, deutet ja darauf hin, dass es kein Bug sein kann. Nur, was bringt es dann?
Das einzige, was mir einfiele, wäre, Zeichenketten zur Verwirrung von Crackern einzubauen. Davon hab ich mal irgendwo was gelesen, z.B. baut man an einer willkürlichen Stelle im Code 'Unregistriert' ein, wenn das z.B. bei einem unregistrierten Programm in der Titelzeile steht. Die wirkliche Meldung in der Titelzeile baut man dann aber "soft" zusammen, also mit chr(...)+chr(...) etc. Der Hacker denkt dann, er hätte die Stelle gefunden, in der die Registrierung überprüft wird. Allerdings müsste vor dem String ja ein Sprungbefehl oder ähnliches stehen, damit es zu keinem Fehler kommt, was aber eigentlich auffallen müsste.
Kann mir vielleicht jemand sagen, was es damit auf sich hat?