Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
memoro — Memoro: 詳細なヒーププロファイラ | Kitploit
ツール/GitHubGitHub/epfl-vlsc/memoro
動的分析 (サンドボックス)メモリフォレンジックデバッガバイナリ解析
GitHubepfl-vlsc/memoro

memoro

Memoro: 詳細なヒーププロファイラ

リポジトリを見るウェブサイト
184165年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Memoro

Memoroは非常に詳細なヒーププロファイラです。

Memoroは、プログラムがいつどこでヒープ割り当てを行ったかを示すだけでなく、プログラムがそのメモリを実際に どのように 使用したのかも表示します。

Memoroは、メモリへの読み取りや書き込み、それらがいつ発生したかなど、ヒープへのアクセスに関する詳細情報を収集し、プログラムがヒープメモリをどの程度効率的に使用しているかを把握する手助けをします。

Memoroには、このすべての情報をスコアとインジケータにまとめ、問題領域を特定するのに役立つビジュアライザアプリケーションが含まれています。

alt text

Memoroの動作に関する詳細については、こちらをご覧ください。

ビルドとインストール

以下の手順は、Memoroを使用するためのクイックスタートガイドです。詳細なセットアップ手順はこちらを、Memoroの使用ガイドはこちらを参照してください。

インストルメント済みコンパイラのビルド

まず、Memoroのインストルメンテーションを使用してコードをコンパイルできるように、ローカル版のLLVM/Clangをビルドする必要があります。プリビルドリリースはまだ利用できませんが、十分な数の人が私にせがめば、ここでホストするかもしれません。

LLVM/Clangのビルド手順はこちらに従ってください。ただし、以下にリストされている特定のリポジトリを使用してください。MemoroはまだLLVM/Clangの開発ブランチには含まれていません。

SVNの代わりにgitミラーリポジトリを使用することをお勧めします。メインのLLVMリポジトリ、Clangリポジトリ、CompilerRTリポジトリには、Memoroバージョンを使用してください:

LLVM

Clang

CompilerRT

これらのリポジトリはデフォルトでブランチmemoro_80になるはずです。

ビジュアライザC++ライブラリのビルド

git clone [email protected]:epfl-vlsc/memoro.gitでこのリポジトリをクローンします。

ディレクトリに入ります。

$ cd memoro

npm installを実行して、すべてのJS依存関係が存在することを確認します。次に、C++データ処理アドオンをビルドする必要があります。そのためには、最初にnode-gypをインストールする必要があるかもしれません(npm install -g node-gyp)。その後、

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

targetは、メインアプリの実行に使用されるElectronのバージョンと一致する必要があります。必要に応じて調整してください。また、必要に応じてarchも調整してください。ただし、私はまだ非* nix x64システムではテストしていません。ほとんどのユーザーにはMakefileも用意されています。

当然、node-gypを使用するにはC++コンパイラがインストールされている必要があります。

実行

ソフトウェアのインストルメント化と実行

まず、先ほどビルドしたLLVM/Clangを使用して、プロファイリングしたいソフトウェアをビルドします。コンパイラフラグ-fsanitize=memoroを追加してインストルメンテーションを追加し、オプションで-fno-omit-frame-pointerを追加して適切なスタックトレースを取得します。別途リンク手順がある場合は、Memoro/Sanitizerランタイムがリンクされるように-fsanitize=memoroも必要になる場合があります。スタックトレースにはLLVMシンボライザを使用することをお勧めします。環境変数MEMORO_SYMBOLIZER_PATHを設定して、llvm-symbolizerの場所を指定してください。または、単にPATHに含めてください。

プログラムを実行します。完了後、Memoroランタイムは2つのファイル*.traceと*.chunksを生成します。これらはビジュアライザを使用して開いて表示できます。

Memoroビジュアライザの使用

C++アドオンのビルド後、アプリはリポジトリディレクトリから直接実行できます

root@kitploit:~
electron .

ファイル->開く または Cmd/Ctrl-O で開き、トレースファイルまたはチャンクファイルを選択します。

ヒープ問題の追跡をお楽しみください :-)

ビジュアライザのインストール

electron-packagerを使用して、すべてのコードとアセットをアプリケーションパッケージにまとめてエクスポートします。

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

必要に応じて、プラットフォーム、アーキテクチャ、Electronのバージョンを調整してください。

コントリビューション

コントリビューションを大歓迎します。プルリクエストを送信するか、お問い合わせください。

ツールをダウンロード