Trojaner in Delphi programmiert

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Trojaner in Delphi programmiert

Beitrag von mschnell »

MacWomble hat geschrieben:
Timm Thaler hat geschrieben:Nimm halt Windows in einer VW unter Linux" - dann kann ich auch gleich Windows nehmen.

Das sehe ich nicht so. Das Steuerprogramm brauchst du einmal im Jahr, dann kann man das auch in der Virtuellen Box mit XP machen und hat ansonsten dennoch die ganzen Vorteile von Linux für die tägliche Arbeit.

Für Windows in Virtual Box brauche ich ein volle Windows-Lizenz,. die OEM-Lizenz (die unter Umständen beim Rechner dabei war) wird nicht funktionieren.#
-Michael

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Trojaner in Delphi programmiert

Beitrag von pluto »

Kann mir jemand erklären, warum hin und wieder mal eine Port Angabe in der E-Mail steht, die ich vom Forum bekomme?
Mal steht eine Port Angabe drin, mal nicht....
MFG
Michael Springwald

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2635
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Trojaner in Delphi programmiert

Beitrag von m.fuchs »

Timm Thaler hat geschrieben:Wenn ich auf den Raspi in /usr/bin schaue, liegen da 1500 Binaries und Verknüpfungen,
[...]
Wenn ich in mein home schaue, gibt es zwar eine .config. Dennoch legen 20 Programme ihre eigene .config-Verzeichnisse an, anstelle das .config zu nutzen.

Und? Was soll das Gejammer? Warum stört dich das?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Trojaner in Delphi programmiert

Beitrag von pluto »

Und? Was soll das Gejammer? Warum stört dich das?

Alles in einer Datei zu Packen, würde jedenfalls das System verlangsamen und mit der Zeit recht unübersichtlich wirken lassen. Siehe die RegEdit unter Windows(Gibt es die noch?)
MFG
Michael Springwald

Warf
Beiträge: 1907
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Trojaner in Delphi programmiert

Beitrag von Warf »

Timm Thaler hat geschrieben:"Die Entwicklung dieser Richtlinie begann im August 1993..."

Beschreibt genau das Problem. 1993 wurden ganz andere Anforderungen an Computer gestellt als heute. Windows hat sich dem angepasst, zum Beispiel wurden Konfig-Dateien früher als *.ini in das Programmverzeichnis geschmissen, heute gibt es dafür \Users\User\AppData. 1993 gab es zwei Handvoll ausführbare Programme auf einem Rechner, heute sind es tausende.


Durch schnelleres Internet und Slim Clients ist genau das grade rückläufig. Die meisten Nutzer haben immer weniger Programme auf dem Rechner da es jetzt für alles WebApps gibt. Zu windows XP Zeiten war es noch so, da hat man sich kleine VBA Programme als .exe versendet, das war schlimm.

Und was für ein Windows verwendest du bitte das alle Dateien in AppData landen? Es gibt ProgramData, Nutzerverzeichnis, Dokumente, AppData und dann noch die Registry. Und ich habe noch keine Anwendung gefunden die nur eins davon verwendet (Registry oder Dokumente sind eigentlich immer mit dabei). Embarcadero RAD Studio z.B. Verwendet AppData, Dokumente, ProgramData und ich glaube sogar noch die Registry zusätzlich.

Das System von Unix ist da sehr einfach globale Konfigurationen kommen in /etc, user spezifische ins Home Verzeichnis (dafür ist es ja da). Konfigurationsdateien in Unix fangen für gewöhnlich mit . an, und werden standardmäßig von ls und den meisten Dateibrowsern ausgeblendet. Daher verstehe ich nicht was dich daran stört, ich meine die Dateien sind Unsichtbar. Im vergleich dazu schreibt VC++ Redist (oder DirectX, weiß es grade nicht mehr) immer eine EULA Datei in C:\, ich hatte Zeitweise 40 EULA Dateien im C Root stehen. Das ist nicht gut durchdacht.

Timm Thaler hat geschrieben:Wenn ich auf den Raspi in /usr/bin schaue, liegen da 1500 Binaries und Verknüpfungen, von Dienstprogrammen wie alsamixer bis zu umfangreichen Userprogrammen wie firefox. Welches andere Konzept soll dahinter stehen als: Kipp halt alles auf einen Haufen?


Du hast glaube ich nicht verstanden wozu das /usr/bin bzw. /bin oder /usr/local/bin Verzeichnis gedacht ist. Diese Verzeichnisse sind standardmäßig im Suchpfad, daher kannst du alle Programme die in diesem Verzeichnis sind von anderen Programmen aufrufen, z.B. aus Shell Skripten.

Du hast das Konzept von Unix wirklich nicht verstanden. Die Idee hinter Unix ist das Nutzer und Maschinen das Betriebsystem gleich ansteuern können. Das wird dadurch realisiert das so genannte Utility Programme verwendet werden. Das beste Beispiel sind dabei z.B. die CoreUtils, welche auf einem Unix System standardmäßig installiert sind. Dazu gehören Programme wie ls oder cat. Wenn du als Nutzer jetzt den Inhalt eines Verzeichnisses lesen willst kannst du einfach ls eintippen. Wenn du das ganze von einem Programm (z.B. Shell Script) machen möchtest musst du aus diesem auch nur ls aufrufen und den STDOut lesen. Dafür stellt das System auch die Funktionen Fork, Execev, Pipe und Dup2, was das aufrufen von anderen Anwendungen kinderleicht selbst in C macht.
Microsoft hat sich dabei für einen anderen Weg entschieden. Microsoft verwendet Programme für Nutzer und Bibliotheken für Programme. Das führt zu einer Sehr komplexen Windows API und manche Sachen die als User möglich sind sind nicht als Programm möglich (z.B. die Sound Konfigurationen lassen sich nicht von Programmen ändern, nur von Windows Nutzern).

Nicht Utility Programme sollten auch gar nicht nach /usr/bin installiert werden, sondern in ein eigenes Verzeichnis, und nur nach /usr/bin gesoftlinked werden

Außerdem, ich habe mir auf Windows Separat die Core Utils, Bin Utils, Dev Utils, etc. Installiert, und ich kann sagen, ich habe lieber einen Zentralen Ordner in dem alle Dateien drin sind, als wie bei Windows die PATH Variable ständig verändern zu müssen.

Timm Thaler hat geschrieben:Wenn ich in mein home schaue, gibt es zwar eine .config. Dennoch legen 20 Programme ihre eigene .config-Verzeichnisse an, anstelle das .config zu nutzen.


Normalerweise halten sich alle gängigen Linux Programme an eine sehr einfache Regel, Konfigurationsdateinamen fangen mit . and somit sind sie normalerweise versteckt. Wenn sie sich nicht daran halten ist es einfach software die sich nicht an Konventionen hält, dafür kann das System ja nichts

Timm Thaler hat geschrieben:Und das ist nur auf dem Raspi, wo ich die nötigsten Programme installiert habe. Ich will gar nicht wissen, wie das auf einem Arbeitsrechner aussieht.

Raspbian und nur die nötigsten Programme schließt sich aus. Raspbian ist so vollgepackt mit Schrott den niemand braucht (z.B. Python, Wolfram alpha, etc.). Nur um das mal festzuhalten auf meinem OpenSUSE server auf dem ne menge läuft habe ich grade mal 1900 Programme im /usr/bin Verzeichnis, also nicht mal ein volles drittel mehr.

Wenn du es schmal haben magst installier doch OpenSUSE JeOS

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Trojaner in Delphi programmiert

Beitrag von Timm Thaler »

m.fuchs hat geschrieben:Und? Was soll das Gejammer? Warum stört dich das?


Ja ok, manche stört ja auch nicht, wenn alle Werkzeuge in eine große Kiste fliegen oder alle Bauteile in einen Pappkarton oder alle Briefe in einen Wäschekorb.

Nenne mich pedantisch, aber ich habe dafür einen Werkzeugschrank mit Schubkästen, Sortimentsboxen und Aktenordner.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Trojaner in Delphi programmiert

Beitrag von pluto »

Nenne mich pedantisch, aber ich habe dafür einen Werkzeugschrank mit Schubkästen, Sortimentsboxen und Aktenordner.

Richtig, ich auch. Mit kleinen Fächern. So ist es auch unter Linux. Es gibt halt, kleine Config Dateien für jedes Programm.
Kann man Prima damit vergleichen.
MFG
Michael Springwald

Warf
Beiträge: 1907
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Trojaner in Delphi programmiert

Beitrag von Warf »

Timm Thaler hat geschrieben:Ja ok, manche stört ja auch nicht, wenn alle Werkzeuge in eine große Kiste fliegen oder alle Bauteile in einen Pappkarton oder alle Briefe in einen Wäschekorb.


Der Unterschied bei diesem Vergleich ist halt nur, das wenn ich in der bash ls eintippe, egal ob in /usr/bin 1 oder 10000 Dateien liegen, das System braucht genauso lange egal wie viele Dateien drin sind. Wenn ich einen magischen Werkzeugkasten hätte der mir jedes Werkzeug gibt wenn ich nur seinen Namen sage, ohne das ich suchen muss, bräuchte ich auch dort keine Fächer mehr.

Timm Thaler hat geschrieben:Nenne mich pedantisch, aber ich habe dafür einen Werkzeugschrank mit Schubkästen, Sortimentsboxen und Aktenordner.


Hast du dir schonmal die GNU Coreutils & Binutils & Devutils auf Windows installiert? Die Devutils installiert in sein eigenes Verzeichnis, die CoreUtils in ein Separates, und die Binutils in ein weiteres. Jetzt die Frage, gehört sed zu Bin-,Core- oder Dev Utils. Für Utils ergibt es schlicht weg keinen Sinn diese zu trennen.

Und wenn man von Utility Programmen redet, müsste man den /usr/bin Ordner eher mir C:\Windows\System32 Vergleichen und der ist deutlich unübersichtlicher als /usr/bin

Wie ich bereits geschrieben ist Linux komplett unterschiedlich konfektioniert. Das Dateisystem von Windows würde unter Unix keinen sinn machen und anders rum. Unix Systeme bauen auf einer Loginshell mit Utilityprogrammen auf die sich gegenseitig aufrufen. Windows baut auf einem Zentralen Nutzer auf, welcher Anwendungen ausführt die Bibliotheken als API's verwenden.

Das ist auch der selbe Grund warum die Shell unter Windows einfach kompletter Müll ist.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2635
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Trojaner in Delphi programmiert

Beitrag von m.fuchs »

Timm Thaler hat geschrieben:
m.fuchs hat geschrieben:Und? Was soll das Gejammer? Warum stört dich das?

Ja ok, manche stört ja auch nicht, wenn alle Werkzeuge in eine große Kiste fliegen oder alle Bauteile in einen Pappkarton oder alle Briefe in einen Wäschekorb.
Nenne mich pedantisch, aber ich habe dafür einen Werkzeugschrank mit Schubkästen, Sortimentsboxen und Aktenordner.

Nochmal: was ist dein konkreter Nachteil, außer dass es dich "stört"? Für ein warmes, wohliges Gefühl ist ein Betriebssystem nicht zuständig.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Trojaner in Delphi programmiert

Beitrag von Timm Thaler »

m.fuchs hat geschrieben:Nochmal: was ist dein konkreter Nachteil, außer dass es dich "stört"? Für ein warmes, wohliges Gefühl ist ein Betriebssystem nicht zuständig.


Bestätigt nur, dass es halt ein Frickelsystem ohne Konzept ist. Und mit dieser Einstellung wird es das auch weiterhin bleiben.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Trojaner in Delphi programmiert

Beitrag von pluto »

Bestätigt nur, dass es halt ein Frickelsystem ohne Konzept ist. Und mit dieser Einstellung wird es das auch weiterhin bleiben.

Klar gibt es ein Konzept, dass ist aber nicht jedem sofort klar.
MFG
Michael Springwald

Benutzeravatar
photor
Beiträge: 442
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux: L 2.2.6 FPC 3.2.2 (Gtk2)
CPU-Target: 64Bit

Re: Trojaner in Delphi programmiert

Beitrag von photor »

[ironie]Ist Krieg ausgebrochen?[/ironie] Wenn er mit Linux nicht klar kommt (und folglich besser mit Windows), soll er doch. Muss man sich doch nicht zanken, oder?

Ciao,
Photor (der sowohl Linux als auch Windows kennt - Linux nutzt - und genau weiß, warum.)

Warf
Beiträge: 1907
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Trojaner in Delphi programmiert

Beitrag von Warf »

Timm Thaler hat geschrieben:Bestätigt nur, dass es halt ein Frickelsystem ohne Konzept ist. Und mit dieser Einstellung wird es das auch weiterhin bleiben.


Ich habe jetzt schon mindestens 2 mal das Konzept erklärt. Unix ist so konzipiert das Programme andere Programme genauso verwenden wie es Menschen tuen würden, wodurch die SystemAPI und Nutzerhandhabung durch ein gemeinsames Set an Programmen Realisiert wird. Das reduziert Redundanzen, sorgt dafür das sich User Commands, Shell Befehle und C Calls fast nicht unterscheiden und sich der Use Case des Programmierer und der des Nutzers vollständig Überscheiden, development also lediglich eine natürliche Erweiterung zur normalen User experience ist.

Windows auf der andererseite unterscheidet zwischen Anwendungen welche vom Nutzer verwendet werden sollen, und API's welche von Programmen verwendet werden sollen. Deshalb ist unter Windows die Shell so beschissen (da diese lediglich ein minimales Set an Programmen ist, mit dem kein vernünftiger Entwickler irgendwas anfangen kann). Daher haben Windows GUI apps auch kein STDIn oder STDOut, weshalb es auch Funktionalität gibt die nur für User zugänglich sind (z.B. Sound Steuerung) für die es allerdings keine API gibt (umgekehrt ist das normalerweise unter jedem System vorzufinden, z.B. threading wird auf Userlevel nicht benötigt).
Somit ist das Entwickeln für Windows komplett abgekapselt von dem Benutzen.

Das Dateisystem spiegelt das nur wieder. Unixsysteme haben die bin Ordner für Anwendungen. Diese Ordner sind automatisch im Suchpfad des Systems, und bieten sich daher für Utility Anwendungen an (also diese die von Programmen und Nutzern verwendet werden können). Windows hat auch einen solchen Ordner, den C:\Windows\System32, da in Windows Util Anwendungen allerdings nicht verwendet werden, stattdessen eher dll's welche die API rein für Anwendungen (und nicht für Nutzer bereitstellen), finden sich im Windows System32 Ordner deutlich mehr DLL's als Anwendungen.

Außerdem ist dieser Ordner da er sich im Windows Ordner findet recht gut versteckt, weshalb er den meisten Nutzern nicht mal auffällt. Was stattdessen passiert wenn man sich Utility Anwendungen installiert unter Windows (z.B. Compiler sind solche Anwendungen) ist dass der Installer die PATH Variable des Systems verändert. Solche Umgebungsvariablen gibt es in Unix Systemen auch, allerdings werden diese eher mit Vorsicht verwendet, da die sehr schnell sehr unübersichtlich werden können, und leicht zu unerwarteten Fehlern führen können.

Außerdem gehören in den bin Ordner keine Programme, sondern nur die Binares, bzw. Softlinks auf die Binares. Das tatsächliche Anwendungsverzeichnis findet sich meist im lib oder share Ordner. Ein Beispiel, der FPC wird normalerweise in /usr/local/share abgelegt und lediglich ein SymLink wird dann in /usr/local/bin abgelegt. /usr/bin ist damit also mehr wie das Windows Startmenü als der Programme Order. Das hat den Grund das das Workingdirectory unter Unix nur selten dem Ort der Binary entspricht (im Gegensatz zu windows, wo ein anderes Working directory eher die ausnahme darstellt), der Ort an dem die Executeable liegt ist daher herzlich irrelevant, und die Pfade müssen sowieso hardcoded werden (oder configfiles).


Das Problem mit dieser Diskussion ist das die Unterschiede des Dateisystems durch die Kernunterschiede des Systemdesigns entstehen. Wenn du also das Unixsystem an Windows Maßstäben misst (was du übrigens tust), ist klar das dir Unix komplett dämlich vorkommt. Windows ist das beste Windows, und Unixsysteme sind beschissen als Windows.

Aber das kann man genauso gut umdrehen. Warum erlaubt mir Windows nicht ein Skript zu schreiben was das Audio Output gerät ändert? Unter Unix ist das ganz einfach. Man Windows ist aber ganz schlecht durchdacht. Oder warum muss man alle Utility Anwendungen zur PATH Variable hinzufügen? Warum muss ich eine Verdammt große SystemAPI kennen obwohl ich bereits schon alle Powershell Commands kann?

An Unix Maßstäben gemessen wäre windows mindestens genauso schlecht wie Unix an Windows Maßstäben gemessen.

Ich muss auch definitiv sagen, zum entwickeln sind Unixsysteme schlicht weg angenehmer. Als Nutzer der sich einen scheiß um alles kümmert (also wenn ich mal nicht programmiere) finde ich auch Windows besser als Linux. Ich meine es sagt doch schon einiges aus das Windows das einzige der Großen Betriebsysteme ist, welches nicht unter sich selbst entwickelt wird. Selbst die Windows Entwickler wissen das Windows zum Programmieren scheiße ist, und verwenden deshalb Linux.


Das ding ist, das ist ein generelles Problem, Windows Nutzer verstehen Unix einfach nicht. Was mich an deinen Kommentaren allerdings ankotzt ist das du anscheinend nicht mal versuchst das zu begreifen. Ich habe deine Posts auseinander genommen und bin auf jedes Statement eingegangen. Ich habe dir dieses Konzept jetzt zum dritten mal erklärt. Wenn du es einfach nicht verstehst ist das schön und gut dann kannst du das auch gerne zugeben, dann werde ich es versuchen verständlicher zu erklären. Wenn du allerdings danach immer noch behauptest es gäbe kein Konzept, dann muss ich deine Fähigkeiten zu lesen infrage stellen.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2635
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Trojaner in Delphi programmiert

Beitrag von m.fuchs »

Timm Thaler hat geschrieben:
m.fuchs hat geschrieben:Nochmal: was ist dein konkreter Nachteil, außer dass es dich "stört"? Für ein warmes, wohliges Gefühl ist ein Betriebssystem nicht zuständig.

Bestätigt nur, dass es halt ein Frickelsystem ohne Konzept ist. Und mit dieser Einstellung wird es das auch weiterhin bleiben.

Tja, damit bestätigst du halt dass du nur ein Troll bist. Also dann mal husch-husch zurück in den Sandkasten.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Trojaner in Delphi programmiert

Beitrag von Timm Thaler »

Warf hat geschrieben:tl;dr

Doch, hab ich gelesen.

Wieso gehst Du eigentlich automatisch davon aus, dass ich Windows für das bessere System halte? Du versuchst zu beweisen, dass Linux besser ist, weil Windows scheisse ist. Einigen wir uns doch mal darauf, dass in Windows auch ganz viele Dinge scheisse sind, z.B. die Registry, die verkackte Rechteverwaltung... und lassen das mal so stehen.

Selbst wenn es Windows nicht gäbe: Warum zum Henker muss ein Programm wie der Firefox genauso behandelt werden wie ls?

Natürlich hätte man, anstatt alle Binaries in ein Verzeichnis zu kübeln dedizierte Programmverzeichnisse schaffen können, in denen alle Bestandteile der Programme liegen, einschließlich der Sources und Manuals, und dann über Symlinks die Binaries aufrufen. Stattdessen sind, wenn ich ein Programm installiere die Programmteile in ettlichen Verzeichnissen verteilt, wobei nichtmal klar ist nach welchen Kriterien jetzt in welches Verzeichnis verteilt wird. Oder sich die Installation halt nicht dran hält, aber das scheint Uses zu sein.

Zum Beispiel wurde mal behauptet, für Programme externer Anbieter gibt es /opt. Das nutzt aber nur und ausschließlich Wolfram Alpha konsequent. Ich hab zwar LibreOffice runtergeschmissen, aber ich würde behaupten, dessen Binaries standen genauso in /usr/bin wie die von Firefox, Geany, Gimp und dem alsamixer. Und nix Symlinks, hier stehen die konkreten Binaries drin.

Wie doof das ist merkst Du spätestens, wenn Du mal versuchst verschiedene Versionen von Lazarus und FPC parallel zu betreiben. Über das Repo gehts schon gar nicht, und von Hand musst Du sie ins Home-Verzeichnis installieren. Konzept?

Antworten