Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment utiliser Stdlib.h 
  • Comment lire un nombre de caractère…
  • Comment régler pointeurs pour les r…
  • Erreurs communes dans Turbo C 
  • Comment utiliser USB IO OCX en C 
  • Comment utiliser la fonction de strc…
  • Comment compiler avec un fichier d'e…
  • Comment savoir conteneurs STL 
  • Comment programmer en Visual C 
  • Comment arrondir des nombres décima…
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    Description d'une fonction C + + et comment il provoque un buffer overflow

    débordement de tampon en C + + est causée par quelques problèmes différents. Souvent , il se produit dans le cadre de l'exploitation d'une fonction destinée à écrire dans un tableau ou d' accéder à la mémoire de profondeur. En règle générale, buffer overflow se produit lorsqu'un utilisateur ou un programmeur données entrées au-delà de la portée d'une variable ou un tableau. Fonctions qui tentent d'aller au-delà de cette gamme peuvent également tenter d' effacer des données dans le système, ou de réorienter le système en supprimant ou en remplaçant l'information. Fonctions en C + +

    fonctions en C et C + + se comporter comme prévu , par rapport à d'autres langages de programmation. Fonctions existent, comme toute autre information variable ou d'un système , dans la mémoire et sont référencés par adresse. Fonctions , par eux-mêmes , ne sont que des blocs de code en mémoire qui sont référencés . Toute erreur renvoyée par une référence de fonction pourrait être due à une fonction non déclarée , ou une fonction appelée de manière incorrecte. Une erreur de type buffer overflow serait plus susceptible d' entrer dans le code de la fonction .
    Variables et la mémoire

    C + + est typé statiquement , ce qui signifie que le programmeur doit spécifier un type de variable en déclarant une variable . C'est parce que C + + met de côté des blocs de mémoire de certaines tailles en fonction du type variable. Un (int) variable entière déclaré dans un programme obtiendra un espace mémoire réservé spécifiquement pour un int . Le bloc mémoire sera la taille exacte d'un entier.

    Tableaux

    tableaux sont des collections de variables contenues dans un nom. Par exemple , le tableau ci-dessous crée une liste de 10 entiers , qui peut être consulté par référence à un indice (nom [0 ] nom [1] , etc )

    int nom [10];

    au lieu d'un nombre entier , le tableau met de côté suffisamment d'espace continu pour 10. Cependant, parce que l'accès de l'indice de tableau peut être tentée sur des valeurs au-delà de ce qui est contenu dans le tableau (nom [11], par exemple ) , des erreurs peuvent se produire si le programmeur ne regarde pas la façon dont elle utilise le tableau .

    Buffer Overflow

    en raison de la nature des tableaux en C + + , un tableau à l'intérieur d'une fonction peut être victime de débordements de tampon . Si un utilisateur entre une entrée de caractère plus grand que le tableau peut manipuler, les caractères supplémentaires vont écraser les données adjacentes au tableau en mémoire . Par exemple , AB exemple de vide

    () { int

    login [ 15] ;

    int i = 0;

    while ( cin >> a [i ] ) {

    i + +; }


    }

    la boucle "while" ne finira jamais , et au moment où "i" atteint 15 , l'utilisateur va commencer la saisie des données qui écrase la mémoire. Cela peut avoir des conséquences imprévues , comme la réaffectation d'une variable locale , ou , dans des circonstances spécifiques , la réécriture de pointeurs de fonctions de référence différents , du code malveillant.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire pour convertir C + + ASCII en UTF8 
  • Comment déboguer avec DBX 
  • Comment écrire un fichier Hex 
  • Comment fermer WCF Services 
  • Comment faire défiler jusqu'à une ligne dans un DataGridView 
  • Comment lien vers un fichier RPC 
  • Convertisseur de température en C + + en utilisant les fonctions 
  • Comment compiler un fichier H 
  • Comment lire un fichier Hex Avec ANSI C 
  • Comment calculer la taille des éléments dans des tampons en C 
  • Connaissances Informatiques © http://www.ordinateur.cc