Frage

Was sind einige gemeinsame Praktiken, die Sie gesehen haben, in der von Verschleierungs Menge verwendet? Ich finde es interessant, an Projekten zu sein, die nicht erlaubt sind neu geschrieben werden, während, dass die schneller und effizienteste Lösung für das Problem sein würde.

War es hilfreich?

Lösung

Meine Favoriten kreisen immer um Variablen ... Einsen in dem Code zu verlassen, die nicht mehr verwendet werden, dann sie alle sinnlosen Namen zu geben. Natürlich müssen Sie fast alle Konvention zu vermeiden vorsichtig sein, wenn Sie wirklich verschleiern wollen. So würde ein vollkommener zwei in ähnlicher Weise verwendet Variablen zu haben sein, eine mit dem Namen MyVar1, und einem anderen Namen varEins. Sachen wie, dass ...

Ein weiteres ist ungenutzte Kontrollen enthalten, die nur sichtbar innerhalb des Codes sind. Ich sah eine gute Stunde lang auf einer ASP.NET-Website versuchen, herauszufinden, warum ein Formview hinein gelöscht wurde .. (Es gibt keine Antwort auf diese Frage war).

Andere Tipps

Ich habe einmal auf Perl-Code, wo der Autor die meisten der U-Boote haben beschlossen, einen einzigen Hash als eine Variable und zurück erhalten, dass gleiche Hash mit Daten hinzugefügt oder entfernt werden. Im Grunde genommen eine globale Hash verwendet, um Daten durch die verschiedenen Codepfade passieren.

Es sah so etwas wie folgt aus:

my $hash = ();

$hash->{'CUSTID'} = 1001;
$hash = GetAccounts($hash);

if ($hash->{'AccountTotal'} > 100) {
    $hash = getTotals($hash);
    $hash->{'Acct_Sbkt_Marker'} = 'R1';
    $hash->{'Acct_Invr_Marker'} = 'BT';
    $hash = removeInvalidAccount($hash);
}

Bis zum heutigen Tag kann ich nicht herausfinden, was Entwurfsmuster er versucht, mit dieser zu implementieren.

Ich erinnere mich an den $hash schön ausgekleidet sein würde auf.

Wir hatten eine Person, die wir mit Speichern von Dateien in einem Ordner Aufruf gearbeitet / kensington, um zu „verstecken“ sie. Es enthielt nur einige XML-Dateien, die er gesehen wollte nicht und dachte, die Menschen nicht dort aussehen würde.

Kein oder nutzlose Kommentare im Code zusammen ohne nützliche Dokumentation.

ich mit einem Programmierer gearbeitet, die äußerst komplexe Bedingungen schreiben verwendet, dass, wenn eine Methode nennen würde erfüllt, die einfach ein System taten heraus. Er tat dies, dutzende Male in der gesamten App. Immer noch nicht sicher, warum ....

Und da dachte ich, dass gut gestaltete Code auf eigenen Beinen stehen sollte gelesen werden, nicht entziffert.

Ich verstehe, dass Menschen, die über die Verschleierung kümmern werden ermutigt, Tools wie Dotfuscator und seine Entsprechungen in anderen Umgebungen zu verwenden. Obfuscation im Sinne den Code schwerer zu machen, obwohl zu dekompilieren, nicht nur es ein Schmerz zu machen, mit zu arbeiten.

Warum jemand würde schrecklich Code absichtlich Design (mit Ausnahme des gotchas zu demonstrieren) ist mir schleierhaft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top