Autor Beitrag
speckstein
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 21.06.07 15:33 
Hallo,

ich habe schon lange nichts mehr mit Delphi gemacht und jetzt eine Anfrage bekommen an einem bestehenden Programm etwas zu ändern. Sie können mir aber nicht sagen wie das Programm erstellt wurde und wollen den Quellkode natürlich auch nicht so einfach herausgeben.

Weiß jemand ob man an der EXE die Version der Compilers ablesen kann?

Grüße
Michael

Moderiert von user profile iconChristian S.: Überflüssige Zeilenumbrüche entfernt
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: So 24.06.07 21:24 
Die Compiler-Version wird in einem String mit in die EXE geschrieben und ist dort mit Hilfe eines HEX-Editors einfach auslesbar.

Ohne Source wirst Du da aber reichlich wenig ändern können ...

_________________
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.
speckstein Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mo 25.06.07 00:19 
Hallo Benny,

aber das war ja genau meine Frage. Ich habe mir die EXE angesehen und
nicht die Stelle gefunden woran ich ersehen kann mit welchem Compiler
der Source übersetzt wurde.
In der Exe stehen öfter die Pfadangaben Delphi4, aber kann ich mir sicher sein,
dass nicht nur der Pfad nicht geändert wurde?
Kann irgendwo Delphi4 kostenlos bekommen, es ist ja schließlich fast 8 Jahre alt.

Also es wäre schön, wenn Du oder die anderen mir einen Hinweis geben könnten.

Gruß Michael
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mo 25.06.07 08:48 
mit der Software PE Explorer kannst du sehr viel über die EXE Datei herausbekommen. Die gibts auch als 30 Tage Testversion. Schaus dir einfach mal an.

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Mo 25.06.07 10:37 
Das is ja interesannt.
PE Explorer liest ja sogar die Komplette DFM Datei aus wenn ich das richtig sehe.
Ich sehe grad sogar eine komplette Liste der verwendeten Units...

Gibt es Möglichkeiten die EXE davor ein bischen zu schützen?

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
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: Mo 25.06.07 17:24 
Jain ... Man kann einen EXE-Crypter nutzen, der die EXE verschlüsselt ... Allerdings springen auf die meisten EXE-Crypter heutige Virenscanner an, wodurch du nix gewonnen hast ...

_________________
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.
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Mo 25.06.07 17:46 
Hmm, und gibt es Programme die den Quelltext vor dem Compilieren "verwirren"?

So das man Praktisch nicht mehr die Orignal-Namen sieht sondern halt nur wirre Buchstaben?

Ähnlich wie beim DotFusCator für VB.Net?

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
Nilan
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 29

Win VistaSP1

BeitragVerfasst: Mo 25.06.07 18:30 
Was hat das eigentlich mit dem Thema zu tun ;)

_________________
Töte einen, so bist du ein Mörder - töte tausende, so bist du ein Held!
Töte einfach keinen :)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.06.07 20:38 
user profile iconChatfix hat folgendes geschrieben:
Hmm, und gibt es Programme die den Quelltext vor dem Compilieren "verwirren"?

Bitte ERST nachdenken und dann schreiben. Wie soll der Compiler den "verwirrten" Quelltext verstehen und compilieren können?
hui1991
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 433

Windows XP, WIndows Vista
Turbo Delphi Explorer| Delphi, PHP,Blitzbasic
BeitragVerfasst: Mo 25.06.07 20:50 
Ich denke er meint das beim erstellen die ganzen Variablen und Units einen anderen Namen haben, damit man nicht nachweisen kann das wirklich was geklaut wurde. ^^
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: Mo 25.06.07 21:00 
Weil du eine .NET Sprache ansprichst (VB.NET): dabei handelt es sich um Suche bei Google OBFUSCATOREN, die die CIL nach dem Vorkompilieren (oder wie nennt man das eigentlich?) so verbasteln, dass diese nicht mehr leicht lesbar ist.

Die hat aber nichts mit einer Kompilierten Exe Datei zu tun, bei der man höchstens noch Assembler gut herstellen kann (von weiteren Möglichkeiten, was dfm und so betrifft abgesehen).
Wichtig ist hier einfach der Unterschied zwischen verwalteten (.NET) und nativen Sprachen!

gruß
alias5000

_________________
Programmers never die, they just GOSUB without RETURN
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.06.07 21:29 
user profile iconhui1991 hat folgendes geschrieben:
Ich denke er meint das beim erstellen die ganzen Variablen und Units einen anderen Namen haben, damit man nicht nachweisen kann das wirklich was geklaut wurde. ^^

Variablen sind im Kompilat nachher sowieso nur noch Schall und Adressen. Und was nutzen mir die Namen der Units? Und ob geklaut wurde oder nicht, wird im Zeweifel vor gericht geklärt und dann müssen die Quellen offen gelgt werden. Einen sicheren Schutz vor Reverseengeneering gibt es nicht, man kann es nur erschweren, aber ob der Aufand die Müh wert ist, sei mal dahingestellt.

Was soll eiegntlich der Quatsch, dass etwas an dem Programm geändert werden soll, aber der Quellcode nicht zur Verfügung gestellt wird, um den Aufwand und die Kosten abzuschätzen? Entweder wid uns hier was vorgemacht, oder die involvierten Personen habe keine Ahnung, was ein Computerprogramm ist udn wie ein Computer funktioniert.
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Mo 25.06.07 23:12 
Erstens, ich habe nix geklaut.
Es ging mir auch mehr oder weniger nur ums Interesse...


Wenn man ein Problem löst, und sich z.B. irgendwas zukauft, muss der Konkurent ja nich unbedingt wissen was ich gekauft habe.

Das die Variablen am Ende Schall und Rauch sind ist mir klar. Es ging lediglich um die Benennung, es muss ja nich jeder wissen wie ich was benenne.
Man könnte es eventuell soweit treiben das man die Variablen und Typen schon in den Herkunfts-Units umbenennt, so das dann nicht mehr dasteht TButton sondern z.b. XYZ.

Das es keinen 100%igen Schutz gibt ist mir klar, aber deswegen ist es ja kein Grund es nicht etwas zu erschweren. Ich dachte ja jetzt nicht an kleine Lichter wie mich, sondern an große kommerzielle Projekte.

Aber sorry das ich eine Frage gestellt habe, wird nicht wieder vorkommen :roll:

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Mo 25.06.07 23:37 
user profile iconChatfix hat folgendes geschrieben:

Aber sorry das ich eine Frage gestellt habe, wird nicht wieder vorkommen :roll:

verständliche Reaktion.

user profile iconLuckie hat folgendes geschrieben:

Bitte ERST nachdenken und dann schreiben. Wie soll der Compiler den "verwirrten" Quelltext verstehen und compilieren können?

Mann mann mann, wer hat eigentlich diesen rüden Ton ins DF gebracht? War doch früher mal ganz nett hier :?

_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 25.06.07 23:53 
user profile iconChatfix hat folgendes geschrieben:
Erstens, ich habe nix geklaut.

Hat auch niemand behauptet.
Zitat:
Es ging mir auch mehr oder weniger nur ums Interesse...

Und was soll dann die komische Geschichte mit dem Programm, was geändert werden soll?

Zitat:
Wenn man ein Problem löst, und sich z.B. irgendwas zukauft, muss der Konkurent ja nich unbedingt wissen was ich gekauft habe.

Das spielt keine Rolle. Wenn es ein sehr spezielles Problem ist, wird es nicht sehr viele Anbiter geben. Ist ein ein alltägliches Problem, ist es ziemlich egal, da die angeboteten Lösungen sich kaum qualitativ unterscheiden werden.

Zitat:
Das die Variablen am Ende Schall und Rauch sind ist mir klar. Es ging lediglich um die Benennung, es muss ja nich jeder wissen wie ich was benenne.

Vergleich mal die Aussage des ersten Satzes mit der Aussage deines zweiten Satzes.Noch mal. Im Kompilat gibt es keine Variablennamen mehr! Du kannst sie im Quellcode benennen, wie du lustig bist. Wegen mir auch mit kryptischen Namen, aber damit machst du dir nur selber das Leben schwer und nicht dem jenigen, der dein Programm analysiert.

Zitat:
Man könnte es eventuell soweit treiben das man die Variablen und Typen schon in den Herkunfts-Units umbenennt, so das dann nicht mehr dasteht TButton sondern z.b. XYZ.

Ja und? Zum einem sehe ich die chaltfläche auf der Oberfläche, da ist es so ziemlich egal, wie die Klasse heißt. Und zum anderen so lange nur Windows Steuerelemente gekapselt werden, kan ich ich die Windowsfensterklasse rausfinden. Aber warum der Umstand? ich sehe ja was es ist oder willst du die Oberfläche auch noch "unkenntlich" machen?

Zitat:
Ich dachte ja jetzt nicht an kleine Lichter wie mich, sondern an große kommerzielle Projekte.
Kommerzielle Projekte stecken ihre Energie in die Vermarktung und in die Entwicklung und Umsetzung von neuen Ideen. Das ist wesentlich effektiver als zu versuchen irgendeinen Schutz des Quellcodes zu entwickeln, der eh nichts taugt. Denn je interessanter das Produkt, desto größer die Energien es zu knacken. Und meist beseht auch gar nicht der Bedarf etwas klauen zu wollen. Ich entwickele gerade für meine Firma eine Soiftware, die es auch schon auf den Markt gibt von anderen Anbietern. Ich hatte aber bisher noch nicht das Bedürfnis gehabt irgend was zu klauen oder mir im Code abzugucken. Nehmen wir als Beispiel eine GRafik, die du in beliebiger Größe ausdrucken willst. Jetzt kann man dem Anwender Feedback geben, wie die Qualität des Bildes geeigent ist für die und die Größe. Ich könnte jetzt versuchen eine Anwendung von der Konkurrenz zu disassemblieren und versuchen ihren Algorithmus rauszufinden. Aber was geht wohl schneller? Reversengeneering oder sich selber einen Algorithmus auszudenken?

Wenn du nicht willst, dass man dir was klauen könnte, dann veröffentliche dein Programm nicht.

Aber sorry das ich eine Frage gestellt habe, wird nicht wieder vorkommen :roll:[/quote]
COMMANDER86
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 167

Win XP, Win Vista
D3 Prof., D7 Pers., Lazarus
BeitragVerfasst: Di 26.06.07 00:50 
Um mal auf die eigentliche Frage zurück zu kommen. Die Pfadangaben halte ich schon mal für eine sinnige Sache. Wenn der Vorgänger kein alzu Detailbesessener Mensch war, hat er vielleicht das Logo der Anwendung in irgendwelchen anderen Versionen übergelassen. Die Reportdateien, sofern es welche gibt, könnten auch Aufschluss geben; Problem: Ohne Source lässt sich das wohl schwierig feststellen.

Achja... solltest Du die Source haben, sind vielleicht einige Forms und Units seit der Erstellung nicht geändert worden und die Jahreszahl gibt Aufschluss.

Noch was... ;) Vielleicht hat sich der Entwickler irgendwo verewigt... kontaktieren.

Viel Glück!

_________________
Streichen Sie bitte sämtlichen Sarkasmus aus vorhergehender Nachricht. Dann wissen Sie, was ich sagen möchte. Meine Lösungen sind die vermutlich Umständlichsten, aber sie funktionieren (bei mir). ;)
Chatfix
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 10

Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
BeitragVerfasst: Di 26.06.07 08:03 
user profile iconLuckie hat folgendes geschrieben:
Und was soll dann die komische Geschichte mit dem Programm, was geändert werden soll?

Ich weis nicht was du meinst.

Danke für deine Ausführliche Aufklärung, wie gesagt ich weis nich warum dich meine Frage so gereizt hat, eine Antwort in normalem Ton hätte mir weit aus mehr geholfen.
Entschuldige bitte das ich nicht gleich von vorherein so weit gedacht habe wie du....

Mir ging es nie meine Programme in irgendeinerweise zu Verschleiern, es hat mich halt nur interessiert, weil ich es erstaunlich fand das man sogar die DFU im Klartext sieht.

_________________
Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: Di 26.06.07 13:56 
Also mal ganz kurzer Einwurf...
Ihr müsst hier aufpassen, dass user profile iconChatfix nicht der Threadersteller ist. Die Sache mit dem Ändern ohne Source kommt von user profile iconSpeckstein!

Gruß
alias5000

_________________
Programmers never die, they just GOSUB without RETURN