in eclipse (GCC/MinGW) SSP (stack smashing protection) aktivieren

    • Offizieller Beitrag

    Hey,

    Ich hoffe mir kann jemand helfen. Ich habe ein Programm mit ca 5mb Sourcode, teils von mir geschrieben, aber teils eben auch von anderen Personen. Ich greife mit AutoIt auf dieses Programm (als dll) zu, übergebe pointer etc. Meistens klappt es, ca alle 10 male aber nicht. Da stürzt Autoit einfach ab.
    !>16:51:05 AutoIt3.exe ended.rc:-1073741819

    Das Problem liegt in irgendeinem memcpy/strcpy/... welches keinen Zugriff auf ein gewissen Pointer hat (denk ich mal)

    Nun hab ich herausgefunden das es bei GCC/MinGW ein SSP (stack smashing protection) service gibt, so dass das tool ggf. eine Fehlermeldung ausgeben kann. Die Include Datein hab ich auch schon in include\ssp gefunden, leider kann ich sie nicht einfach einfügen ohne Fehlermeldung. Das ist auch nicht der weg wie man das macht, ich hab gehört man soll "-fstack-protector" als compiler param hinzufügen, klappt aber auch nicht.

    Blabla, hat jemand erfahrung damit wie man SSP unter Windows bei Eclipse mit GCC aktiviert? Bei google find ich irgendwie auch nichts, was funktioniert (ich verstehe es wahrscheinlich einfach nicht ;) )

    Hier z.B. Hab eine Datei erstellt die sspGuard.h heißt, die includiert und -fstack-protector als parameter hinzugefügt. immer noch mit gleichem Ergebnis.. (autoit stürzt ab)
    http://wiki.osdev.org/GCC_Stack_Smashing_Protector

    Gruß,
    Spider

  • Zum SSP kann ich dir zwar nichts sagen, aber du könntest statt memcpy und strcpy strcpy_s und memcpy_s benutzen. Das braucht einen zusätzlichen Parameter, aber dadurch wird ein Überlauf verhindert (wenn der Parameter stimmt).