FONCTION STRREVERSE DE VB 6 POUR VB4/5 ET LOTUSSCRIPT
cs_Warny
Messages postés473Date d'inscriptionmercredi 7 août 2002StatutMembreDernière intervention10 juin 2015
-
27 août 2003 à 15:42
Choumoumou
Messages postés162Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention17 novembre 2010
-
4 mai 2006 à 11:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Choumoumou
Messages postés162Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention17 novembre 2010 4 mai 2006 à 11:37
La fonction StrReverse est rarement utilisée, mais elle peut s'avérer précieuse pour, par exemple, un programme attaquant un serveur par Buffer Overflow (et qui doit donc définir dans la mémoire du serveur une adresse de retour vers son code malicieux). Un exploit de BO s'en servira pour définir l'adresse de retour et l'inverser ensuite (pour le serveur distant, le buffer est toujours écrit à l'envers. Pour écraser l'adresse de retour, il est donc plus pratique de retourner la chaîne).
Merci pour ce code, il me plait beaucoup.
@+ !
cs_NoFutur
Messages postés171Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention 6 mai 20071 27 août 2003 à 15:44
StrReverse est une fonction intéressante mais a t-elle vraiment une utilitée propre dans un code ? sinon j'aime bien la simplicté du code c'est cool.
cs_Warny
Messages postés473Date d'inscriptionmercredi 7 août 2002StatutMembreDernière intervention10 juin 2015 27 août 2003 à 15:42
Ca ça va plus vite, ça évite une réallocation de la chaîne à chaque boucle (optimisation de 1 à 10)
Dim sBuffer as String
Dim nLen as Long
nLen=len(sString)
sBuffer = Space$(nLen)
Dim i as long
For i = 1 to nLen
Mid$(sBuffer,nLen-i+1,1) = Mid(sString,i,1)
Next
4 mai 2006 à 11:37
Merci pour ce code, il me plait beaucoup.
@+ !
27 août 2003 à 15:44
27 août 2003 à 15:42
Dim sBuffer as String
Dim nLen as Long
nLen=len(sString)
sBuffer = Space$(nLen)
Dim i as long
For i = 1 to nLen
Mid$(sBuffer,nLen-i+1,1) = Mid(sString,i,1)
Next