Frage zur Sicherheit von PB Executables

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Frage zur Sicherheit von PB Executables

Beitrag von Kukulkan »

Hallo,

wie schaut es dabei mit PB eigentlich aus?

http://www.heise.de/newsticker/meldung/ ... 63634.html

Geht das auch mit PB EXE und DLL Dateien?

Grüße,

Kukulkan

__________________________________________________
Thread verschoben
Windows>Offtopic
07.12.2012
RSBasic
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Frage zur Sicherheit von PB Executables

Beitrag von NicTheQuick »

Es geht auf jeden Fall durch eine Änderung im ASM-Code, denn FASM unterstützt das beides, also DEP und ASLR. Man muss es irgendwie im PE-Header spezifizieren. Schlauerweise hab ich im FASM-Forum nur Threads gefunden, wo es darum geht, dass man es ein- oder ausschalten soll um etwas bestimmtes zu erreichen. Aber niemand schreibt genau wie es geht. Und in der Dokumentation steht es auch nicht.
Falls es hier jemand heraus findet, wäre es sicherlich möglich ein Tool zu schreiben, was sich zwischen ASM-Code und FASM schaltet und das entsprechend ändert.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: Frage zur Sicherheit von PB Executables

Beitrag von Danilo »

NicTheQuick hat geschrieben:Aber niemand schreibt genau wie es geht. Und in der Dokumentation steht es auch nicht.
Falls es hier jemand heraus findet, wäre es sicherlich möglich ein Tool zu schreiben, was sich zwischen ASM-Code und FASM schaltet und das entsprechend ändert.
Für FASM DEP findest Du Infos <HIER>.
Tomasz Grysztar hat geschrieben:I have added the "NX" flag in 1.69.32 release.
IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x0100 (offset PE_Header:0x5e)
IMAGE_FILE_RELOCS_STRIPPED 0x0001 (offset PE_Header:0x16)
PB könnte das mit dem flag "/NXCOMPAT" bei polink einschalten. Am besten Compiler Option hinzufügen.


Für ASLR habe ich diesen Artikel gefunden:
[...] will set the 0×40 DllCharacteristics value in the PE header of the output binary.
This corresponds to a newly-defined constant which is at present only documented briefly in the WDK version of ntimage.h:

Code: Alles auswählen

#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE 0x0040 // DLL can move.
If this flag is set, then the base address of an image can be randomized by Vista’s ASLR; if the flag is clear, however,
then no ASLR-style randomizations are performed to the image base address of a particular image (in this case, however,
it is important to note that heap and stack allocations are still randomized – it is only the image base address that does not become randomized).

Beides kann also über 'DllCharacteristics' im IMAGE_OPTIONAL_HEADER structure (Windows) von .EXE/.DLL gesetzt werden.
DllCharacteristics
  • IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE 0x0040
    The DLL can be relocated at load time.
  • IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x0100
    The image is compatible with data execution prevention (DEP).
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: Frage zur Sicherheit von PB Executables

Beitrag von Kukulkan »

Danke für die info, aber Assembler hab ich leider das letzte mal vor 22 Jahren auf dem C64 benutzt :)

Kann ich das über mein Makefile (cygwin) realisieren?

Kukulkan
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Frage zur Sicherheit von PB Executables

Beitrag von mk-soft »

DEP ist bei Purebasic bereits aktiv...
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: Frage zur Sicherheit von PB Executables

Beitrag von Thorium »

Kukulkan hat geschrieben:Danke für die info, aber Assembler hab ich leider das letzte mal vor 22 Jahren auf dem C64 benutzt :)

Kann ich das über mein Makefile (cygwin) realisieren?

Kukulkan
Wie Danilo schon geschrieben hat, sind das nur Flags, die im Header gesetzt werden müssen, da brauchst kein ASM für. Kannst du entweder dem Linker übergeben oder aber auch die .exe/.dll nach dem Kompilieren mit einem entsprechendem Programm wie z.b. PE Explorer ändern.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten