Autor |
Beitrag |
Biarchiv
      
Beiträge: 688
|
Verfasst: Mi 24.06.09 12:22
Hallo!
Ich suche Eine Komponente, Unit, Tool, ...? das ich in Delphi so einbauen kann, dass es beim compilieren der erzeugten EXE alle Integer, Strings, Doubles,.... die Namen verschleiern kann. Dieses sollte per Zufallsgenerator Wörter generiert werden.
Es geht mir darum das beim Decompilen/Debuggen nicht alles in Klartext stehen soll.
ZB:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var MySecretString: string;
begin MySecretString := 'XXXXXX'; end; |
macht aus compilierter EXE:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| var DGDFGDERTE: string;
begin DGDFGDERTE := 'XXXXXX'; end; |
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 24.06.09 12:31
Die Variablennamen werden ohnehin nicht in die Exe übernommen, das sind dort nur noch Sprungadressen... (jedenfalls wenn man ohne Debuginfos kompiliert)
Übernommen werden nur Namen von Komponenten usw.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 24.06.09 14:01
@jaenicke: Das stimmt so nicht ganz: In der RTTI stehen die Namen im Klartext ... Das geht aber auch nicht anders, da diese Informationen benötigt werden, damit das Programm richtig läuft.
Außerdem: Die üblichen verdächtigen bzgl. EXE-Crypter, EXE-Packer und Obfuscatoren erhöhen die Gefahr einer (False-)Positive-Erkennung erheblich, weshalb von deren Einsatz dringend abzuraten ist. Und selbst dann ist das Reverse-Engineering immer noch möglich, nur halt etwas aufwändiger.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Biarchiv 
      
Beiträge: 688
|
Verfasst: Mi 24.06.09 14:26
Hallo,
auch Funktionennamen, Prozeduren, usw kann alles im Klartext gelesen werden. Ich meinte nur so gibts ein Programm was diese Werte vorm compilieren per Zufallswort abändern kann. Das Programm würde ja trozdem laufen, weil er ja alle diese richtig ändert. Und alle die gleich sind nur wieder gleich abändert. Ja, das mit den Exe-Tools ist ein großes Problem.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 24.06.09 14:42
Prozeduren und Funktionen, die zu keinem Objekt gehören stehen nicht in der RTTI. Wenn du ohne Debug-Symbole arbeitest tauchen die also auch nicht in der EXE auf. Um trotzdem zu debuggen gibt's Dinge wie OmMAP ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
|