AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Der linken Seite kann nichts zugewiesen werden
Thema durchsuchen
Ansicht
Themen-Optionen

Der linken Seite kann nichts zugewiesen werden

Ein Thema von Codehunter · begonnen am 26. Aug 2013 · letzter Beitrag vom 28. Aug 2013
Antwort Antwort
Seite 2 von 2     12   
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#11

AW: Der linken Seite kann nichts zugewiesen werden

  Alt 28. Aug 2013, 08:39
Das man den Wert typisierter Konstanten ändern kann, ist meines Wissens nach auch bei Delphi 2007 noch Standard.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#12

AW: Der linken Seite kann nichts zugewiesen werden

  Alt 28. Aug 2013, 08:56
Und ich dachte bisher immer, schreibbare Konstanten wären ein Feature neuerer Delphiversionen
Um genau zu sein konnte man diese unsaubere Methode bei Delphi 1 nutzen. Ich glaube schon seit Delphi 2 ist die Standardeinstellung, dass Konstanten genau das sind: konstant...
Ich verstehe ehrlich nicht, was mit der andauernden 'Verteufelung' von typsierten Konstanten hier im Forum bezweckt werden soll, denn
  • {$J-} ist als Standard erst bei D6 und nicht schon D2 eingeführt worden,
  • alte Delphis kennen keine initialisierte Variablen,
  • man kann ja Konstanten verwenden, wenn man will,
  • es gibt selbst bei den neuesten Delphis keine Möglichkeit, initialisierte lokale Variable zu benutzen (Error: E2195 Cannot initialize local variables) und man muß eh wieder auf die ungeliebten typisierten Konstanten zurückgreifen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: Der linken Seite kann nichts zugewiesen werden

  Alt 28. Aug 2013, 16:13
Um genau zu sein nicht typisierte Konstanten, sondern deren Veränderung empfinde ich als unsauber.
Wenn const dransteht, erwartet man nun einmal auch einen konstanten Wert. Wenn der dann plötzlich irgendwo geändert wird, kann man bei fremden Quelltexten ewig suchen bis man das erstens sieht und zweitens findet wo das passiert.

Wenn man eine Variable will, denn nichts anderes ist eine "Konstante" (haha), die man ändern kann, dann sollte man auch eine nehmen und damit kundtun, dass der Wert eben nicht konstant ist.

es gibt selbst bei den neuesten Delphis keine Möglichkeit, initialisierte lokale Variable zu benutzen
Wäre ja auch Blödsinn, das kann man ja die paar Zeilen später selbst machen, wenn man dort eh Werte zuweist. Bei sauberem Quelltext sind die einzelnen Methoden ja auch nicht lang.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#14

AW: Der linken Seite kann nichts zugewiesen werden

  Alt 28. Aug 2013, 16:38
Ich programmiere zwar nicht mehr mit Delphi. Zu viel Lernaufwand, wenn man das zuhause im stillen Kämmerlein machen muss. Habe aber gestern mit gelesen, den Strang "Delphi und Freepascal neu lernen".

Da ging es auch um Schutz des Quellcodes vor fremden Augen.

Wären da solch typisierte Konstanten nicht was? Wenn Jaenicke schreibt, das er da wegen Veränderunf solcher Konstanten ewig im Quelltext sucht, könnte dies doch auch einem unbefugten das Leben schwer machen, den Programmcode zu knacken? Oder?

hier die Ausführung dazu von jaenicke:

Zitat:
Wenn const dransteht, erwartet man nun einmal auch einen konstanten Wert. Wenn der dann plötzlich irgendwo geändert wird, kann man bei fremden Quelltexten ewig suchen bis man das erstens sieht und zweitens findet wo das passiert.
Könnte man also diesen Effekt wie andere Tricks nutzen, um seinen Code zu schützen.

Nur mal so gefragt.

Ich habe durchaus auch die Auffassung von Microsoft im og. Thread gestern gelesen, das nämlich ein Schutz mit Obfuscator bei .NET Code ziemlich wertlos ist, weil der Code ohne großen Aufwand wieder entschlüsselt werden kann.

Wie aber sähe die Sache bei zum Beispiel Verwendung typisierter Konstanten im von jaenicke angeprangerten Sinne aus?

Zitat:
Um genau zu sein nicht typisierte Konstanten, sondern deren Veränderung empfinde ich als unsauber.
...
einerseits richtig, allerdings wünsche ich mir dann aber initialisierbare Variablen. Warum diese in neuesten Delphi Versionen auch nicht mehr?
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: Der linken Seite kann nichts zugewiesen werden

  Alt 28. Aug 2013, 16:44
einerseits richtig, allerdings wünsche ich mir dann aber initialisierbare Variablen. Warum diese in neuesten Delphi Versionen auch nicht mehr?
Das geht ja auch, aber nicht bei lokalen Variablen. Da macht das meiner Meinung nach aber auch keinerlei Sinn.

Im kompilierten Code ist so etwas jedenfalls kein Schutz. Es ist ja im generierten Code wie eine Variable.

Ich habe durchaus auch die Auffassung von Microsoft im og. Thread gestern gelesen, das nämlich ein Schutz mit Obfuscator bei .NET Code ziemlich wertlos ist, weil der Code ohne großen Aufwand wieder entschlüsselt werden kann.
Naja, also bei einem Obfuscator ist das, wenn er gut ist, nicht so einfach. Und z.B. die Variablennamen lassen sich gar nicht mehr wiederherstellen.
Wer Assembler kann, für den ist es auch nicht schwerer disassemblierten Delphicode zu lesen, eher einfacher, weil da nichts verfälscht ist.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz