Αναφέρεται από μερικούς οτι η παράμετρος %n της printf που γράφει σε συγκεκριμένη διεύθυνση μνήμης συγκεκγριμένες τιμές, έχει καταργηθεί από την Microsoft, αν και αναφέρεται μέσα στο MSDN.
Πράγματι, κάνοντας χρήση της %n μέσα από προγράμματα C++ σε VS2005,2010 σε XP,Vista,7 το πρόγραμμα απλά κρασάρει στο runtime ενώ περνάει κανονικά compile. Ίδιο ακριβώς πρόγραμμα λειτουργεί μια χαρά σε linux περιβάλλον. Αυτο το λέω για να μην θεωρηθεί οτι γίνεται κακή χρήση της %n.
Από πλευράς security η παράμετρος %n έχει χρησιμοποιηθεί κατ' επανάληψη σε Format String επιθέσεις.
Έχει χρησιμοποιήσει κανένας φίλος εδώ, επιτυχώς το %n σε printf, σε κάποιο από τα παραπάνω περιβάλλοντα (C++ σε VS2005,2010 σε XP,Vista,7)?
Αν ναι, μήπως θα είχε την καλοσύνη να μας έδειχνε πώς ή αν έχει ακούσει οτι πράγματι έχει καταργηθεί?
Thnx 4 your time! :)
Nothing to declare...