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
Frage zur Sicherheit von PB Executables
- 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
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.
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.
Re: Frage zur Sicherheit von PB Executables
Für FASM DEP findest Du Infos <HIER>.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.
Tomasz Grysztar hat geschrieben:I have added the "NX" flag in 1.69.32 release.
PB könnte das mit dem flag "/NXCOMPAT" bei polink einschalten. Am besten Compiler Option hinzufügen.IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x0100 (offset PE_Header:0x5e)
IMAGE_FILE_RELOCS_STRIPPED 0x0001 (offset PE_Header:0x16)
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: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,Code: Alles auswählen
#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE 0x0040 // DLL can move.
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
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Re: Frage zur Sicherheit von PB Executables
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

Kann ich das über mein Makefile (cygwin) realisieren?
Kukulkan
Re: Frage zur Sicherheit von PB Executables
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
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Frage zur Sicherheit von PB Executables
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.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
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
