Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
memoro — Memoro: Un Profiler Dettagliato dell'Heap | Kitploit
Strumenti/GitHubGitHub/epfl-vlsc/memoro
Analisi Dinamica (Sandboxing)Memory ForensicsDebuggerAnalisi di Binari
GitHubepfl-vlsc/memoro

memoro

Memoro: Un Profiler Dettagliato dell'Heap

Vedi RepositorySito web
184165 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Memoro

Memoro è un profiler dell'heap estremamente dettagliato.

Memoro non solo ti mostra dove e quando il tuo programma effettua allocazioni nell'heap, ma ti mostrerà come il tuo programma ha effettivamente utilizzato quella memoria.

Memoro raccoglie informazioni dettagliate sugli accessi all'heap, inclusi letture e scritture in memoria e quando avvengono, per darti un'idea di quanto efficientemente il tuo programma utilizza la memoria dell'heap.

Memoro include un'applicazione visualizzatrice che distilla tutte queste informazioni in punteggi e indicatori per aiutarti a individuare le aree problematiche.

alt text

Per informazioni più dettagliate su come funziona Memoro, vedere qui

Costruzione e installazione

I passaggi seguenti delineano una guida rapida all'uso di Memoro. Per istruzioni dettagliate di configurazione, fare riferimento qui. Per una guida sull'uso di Memoro, fare riferimento qui.

Compilazione del compilatore strumentato

Innanzitutto, dovrai compilare una versione locale di LLVM/Clang per poter compilare il tuo codice con la strumentazione Memoro. Le versioni precompilate non sono ancora disponibili, ma se abbastanza persone mi infastidiscono, forse le ospiterò qui.

Segui le istruzioni per la compilazione di LLVM/Clang qui, ma usa i repository specifici elencati di seguito. Memoro non è ancora nel ramo di sviluppo di LLVM/Clang.

Si consiglia di utilizzare i repository mirror git invece di SVN. Per il repository principale LLVM, il repository Clang e il repository CompilerRT, usa le versioni Memoro:

LLVM

Clang

CompilerRT

Questi repository dovrebbero avere come predefinito il ramo memoro_80.

Compilazione della libreria C++ Visusalizer

Clona questo repository con git clone [email protected]:epfl-vlsc/memoro.git

Entra nella directory.

$ cd memoro

Esegui npm install per assicurarti che tutte le dipendenze JS siano presenti. Dovrai quindi compilare l'addon di elaborazione dati in C++. Per fare ciò, potresti aver bisogno di installare prima node-gyp (npm install -g node-gyp) Poi,

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

Il target è la versione di electon che deve corrispondere a quella utilizzata per eseguire l'app principale. Regola questo se necessario. Regola anche arch se necessario, tuttavia non ho ancora testato su sistemi non-*nix x64. C'è anche un Makefile che dovrebbe funzionare per la maggior parte degli utenti.

Ovviamente, avrai bisogno di un compilatore C++ installato affinché node-gyp possa usarlo.

Esecuzione

Strumenta ed esegui il tuo software

Innanzitutto, compila il software che vuoi profilare usando LLVM/Clang che hai compilato in precedenza. Aggiungi il flag del compilatore -fsanitize=memoro per aggiungere la strumentazione e opzionalmente -fno-omit-frame-pointer per ottenere bei stack trace. Se hai un passaggio di linking separato, anche questo potrebbe aver bisogno di -fsanitize=memoro per garantire che il runtime Memoro/Sanitizer sia collegato. È consigliabile utilizzare il simbolizzatore LLVM per gli stack trace, imposta la variabile d'ambiente MEMORO_SYMBOLIZER_PATH per puntare a dove risiede llvm-symbolizer. O semplicemente averlo nel tuo PATH.

Esegui il tuo programma. Al termine, il runtime di Memoro genererà due file, *.trace e *.chunks. Questi possono essere aperti e visualizzati usando il visualizzatore.

Utilizza il visualizzatore Memoro

Dopo aver compilato l'addon C++, l'app può essere eseguita direttamente dalla directory del repository

root@kitploit:~
electron .

File->Open o Cmd/Ctrl-O per aprire, naviga fino a e seleziona il file trace o chunk.

Buona caccia ai problemi di heap :-)

Installazione del visualizzatore

Usa electron-packager per raccogliere ed esportare tutto il codice e le risorse in un pacchetto applicativo.

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

Ancora, regola la piattaforma, arch e la versione di electron se necessario.

Contribuire

I contributi sono più che benvenuti. Per favore invia una pull request o mettiti in contatto.

Scarica lo strumento