Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
memoro — Memoro: Un profileur de tas détaillé | Kitploit
Outils/GitHubGitHub/epfl-vlsc/memoro
Analyse Dynamique (Sandboxing)Criminalistique MémoireDébogueursAnalyse de Binaires
GitHubepfl-vlsc/memoro

memoro

Memoro: Un profileur de tas détaillé

Voir le dépôtSite web
18416il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Memoro

Memoro est un profileur de tas très détaillé.

Memoro ne montre pas seulement où et quand votre programme effectue des allocations de tas, mais vous montrera comment votre programme a réellement utilisé cette mémoire.

Memoro collecte des informations détaillées sur les accès au tas, y compris les lectures et écritures en mémoire et leur chronologie, pour vous donner une idée de l'efficacité avec laquelle votre programme utilise la mémoire du tas.

Memoro inclut une application de visualisation qui distille toutes ces informations en scores et indicateurs pour vous aider à identifier les zones problématiques.

texte alternatif

Pour plus d'informations détaillées sur le fonctionnement de Memoro, voir ici

Construction et Installation

Les étapes ci-dessous présentent un guide de démarrage rapide pour utiliser Memoro. Pour des instructions détaillées d'installation, reportez-vous ici. Pour un guide d'utilisation de Memoro, reportez-vous ici.

Construction du compilateur instrumenté

Tout d'abord, vous devrez construire une version locale de LLVM/Clang afin de pouvoir compiler votre code avec l'instrumentation Memoro. Les versions préconstruites ne sont pas encore disponibles, mais si suffisamment de personnes me harcèlent, je les hébergerai peut-être ici.

Suivez les instructions de construction de LLVM/Clang ici, mais utilisez les dépôts spécifiques listés ci-dessous. Memoro n'est pas encore dans la branche dev de LLVM/Clang.

Il est recommandé d'utiliser les dépôts miroirs git plutôt que SVN. Pour le dépôt principal LLVM, le dépôt Clang et le dépôt CompilerRT, utilisez les versions Memoro :

LLVM

Clang

CompilerRT

Ces dépôts devraient par défaut utiliser la branche memoro_80.

Construction de la bibliothèque C++ du visualiseur

Clonez ce dépôt avec git clone [email protected]:epfl-vlsc/memoro.git

Entrez dans le répertoire.

$ cd memoro

Exécutez npm install pour vous assurer que toutes les dépendances JS sont présentes. Vous devrez ensuite construire l'addon de traitement de données C++. Pour ce faire, vous devrez peut-être d'abord installer node-gyp (npm install -g node-gyp) Ensuite,

root@kitploit:~
cd cpp
node-gyp build --release --target=1.7.9 --arch=x64 --dist-url=https://atom.io/download/electron
cd ..

Le target est la version d'Electron qui doit correspondre à celle utilisée pour exécuter l'application principale. Ajustez cela si nécessaire. Ajustez également arch si nécessaire, mais je n'ai pas encore testé sur des systèmes non-*nix x64. Il y a aussi un Makefile qui devrait fonctionner pour la plupart des utilisateurs.

Évidemment, vous aurez besoin d'un compilateur C++ installé pour que node-gyp puisse l'utiliser.

Exécution

Instrumentez et exécutez votre logiciel

Tout d'abord, construisez le logiciel que vous souhaitez profiler en utilisant le LLVM/Clang que vous avez construit précédemment. Ajoutez le drapeau du compilateur -fsanitize=memoro pour ajouter l'instrumentation et éventuellement -fno-omit-frame-pointer pour obtenir de belles traces de pile. Si vous avez une étape de liaison séparée, elle peut également nécessiter -fsanitize=memoro pour garantir que le runtime Memoro/Sanitizer est lié. Il est recommandé d'utiliser le symboliseur LLVM pour les traces de pile, définissez la variable d'environnement MEMORO_SYMBOLIZER_PATH pour pointer vers l'emplacement de llvm-symbolizer. Ou placez-le simplement dans votre PATH.

Exécutez votre programme. Après la fin, le runtime Memoro générera deux fichiers, *.trace et *.chunks. Ceux-ci peuvent être ouverts et visualisés à l'aide du visualiseur.

Utilisation du visualiseur Memoro

Après avoir construit l'addon C++, l'application peut être exécutée directement depuis le répertoire du dépôt

root@kitploit:~
electron .

Fichier->Ouvrir ou Cmd/Ctrl-O pour ouvrir, naviguez vers et sélectionnez le fichier trace ou chunk.

Bon courage pour chasser les problèmes de tas :-)

Installation du visualiseur

Utilisez electron-packager pour rassembler et exporter tout le code et les ressources dans un package d'application.

root@kitploit:~
electron-packager . --overwrite --platform=<platform> --arch=x64 --electron-version=1.7.9 --icon=assets/icons/icon64.icns --prune=true --out=release-builds

Encore une fois, ajustez la plateforme, l'architecture et la version d'Electron si nécessaire.

Contribution

Les contributions sont plus que bienvenues. Veuillez soumettre une pull request ou prendre contact.

Télécharger l’outil