Autor Beitrag
Biarchiv
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 688



BeitragVerfasst: 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:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
MySecretString: string;

begin
MySecretString := 'XXXXXX';
end;



macht aus compilierter EXE:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
DGDFGDERTE: string;

begin
DGDFGDERTE := 'XXXXXX';
end;
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 688



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: 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.