• STATISTIQUES
  • Il y a eu un total de 0 membres et 12881 visiteurs sur le site dans les dernières 24h pour un total de 12 881 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités
    [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [EN] Framework Metasploit
    Le Framework Metasploit est un logiciel gratuit, open source de tests de pénétration développ&ea...
    Vulnérabilités
    [FR] Cyber-Hacker
    CH - Cyber Hacker est un jeu par navigateur de simulation de hack, programmez et envoyez vos virus et piratez les aut...
    Hacking
    [EN] Reddit
    Subreddit dédié à la sécurité informatique.
    Hacking
    [FR] Root-me
    Script: 5, Système: 20, Cracking: 16, Cryptanalyse: 17, Programmation: 8, Réaliste: 11, Réseau: 10, Stéganog...
    Challenges
    [EN] PHPFreaks
    PHPFreaks est un site dédié à l'apprentissage et l'enseignement du PHP. Ici vous trouver...
    Programmation

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[C] extern // static
01-04-2016, 14h14
Message : #6
b0fh Hors ligne
Membre actif
*



Messages : 210
Sujets : 17
Points: 309
Inscription : Jul 2012
RE: [C] extern // static
C'est en effet bien mieux d'avoir des addresses courtes; en effet, pendant un accès mémoire, le contrôleur du bus mémoire doit vérifier le ticket de la requête mémoire, et il mettra forcément moins de temps à lire une addresse courte.

Le mieux étant d'utiliser des addresses d'un byte, qui seront les plus rapides à lire. Malheureusement, le compilo ne permet pas de s'en servir par défaut, a cause du DMA qui n'est pas activé par défaut, donc pour obtenir une variable super-rapide il faut caster un pointeur à la main, par exemple:

int *case_1 = (int *)(1);
int *case_2 = (int *)(2);

et ensuite s'en servir comme des pointeurs normaux:

*case1 = *case2

Note que dans de très rares cas (par exemple si le noyau a été infecté par la backdoor Dual_EC_DRBD de la NSA) ce type de code peut provoquer des segfaults, justement parce que la backdoor réserve ces accès mémoire ultrarapides à son propre usage.
+1 (2) -1 (0) Répondre


Messages dans ce sujet
[C] extern // static - par ark - 14-02-2015, 07h44
RE: [C] extern // static - par airday - 01-04-2016, 10h54
RE: [C] extern // static - par ark - 01-04-2016, 11h04
RE: [C] extern // static - par airday - 01-04-2016, 11h16
RE: [C] extern // static - par supersnail - 01-04-2016, 11h20
RE: [C] extern // static - par b0fh - 01-04-2016, 14h14

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut