問題タブ [intel-pin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - 汚染伝播のためのプログラム内の汚染源の特定
汚染分析では、汚染ソースは、信頼できない入力または外部入力を生成する可能性のあるプログラムの場所またはステートメントです。
私の目標 : プログラムへのすべての外部ユーザー入力 ( cmdline-input 、 file reading 、環境変数、ネットワーク変数など) を動的分析 (できれば) を使用して特定し、汚染を伝播します。
私はこのチュートリアルを読みました- http://shell-storm.org/blog/Taint-analysis-and-pattern-matching-with-Pin/ Intel PINを使用して読み取りシステムコールを傍受し、汚染を伝播します。上記のさまざまな外部入力を含めるように同じものを拡張したいと思います。(開始するには、C-scanf、gets、fopenなど)
一般的な外部入力の識別に役立つ動的解析ツールはありますか? 特定の目標を持つ他のアプローチも高く評価されます。ありがとう
intel-pin - 例外処理におけるピンメモリアクセスタイプ
Pin を使用して例外処理機能を実装しています。私の例外処理コードでは、特にメモリアクセスエラー、たとえばメモリ読み取りエラーとメモリ書き込みエラーを検索します。私は以下のコードを書きました:
私を本当に混乱させるのは、以下の典型的なメモリ読み取りアクセスエラーであっても、それです:
上記FAULTY_ACCESS_TYPE
の私のコードはまだUNKNOWN
です。その定義によると、アクセス タイプはFAULTY_ACCESS_READ
.
私はここで何か間違ったことをしていますか?
intel-pin - Pin を使用してクライアント プロセスのヒープにメモリを割り当てる
私は Pin の初心者です。基本的には、Pintool を使用して、後で実行時にユーザー プロセスが読み書きできるメモリ領域を初期化したいと考えています。
初期化したいデータ構造が比較的大きいので、ヒープ上にメモリ領域を作りたいです。Pin のマニュアルを読んだ後、safecopy
メモリコピーに使用できる Pin を認識しました。
ただし、ヒープにメモリを割り当てる方法がわかりません。これは、接続されたクライアント プロセスからアクセスできるはずです。
私は十分に明確ですか?誰か助けてくれませんか?ありがとうございました!
intel-pin - PinTool でデッドループを検出する
特定のレジスタ/メモリ値を操作できる PinTool を作成しています。しかし、操作後、私が今直面している課題の 1 つは、deadloop
.
特に、特定のレジスタ値を頻繁に操作するためdeadloop
、実行トレースに作成することがよくあります。そのようなケースを検出し、実行を終了することを考えています。
これが私の質問deadloop
です。PinTool で a を検出するための良い方法は何ですか? たとえば、実行された命令を記録し、特定の命令が大量に実行された場合は、実行を終了するだけです。
誰かがこの問題について私を助けてくれますか? ありがとうございました。
c++ - PIN が getpid() システム コールをキャプチャしない
strace.cppというタイトルの PIN API で提供されているコード例をバイナリで使用すると、使用されたすべてのシステム コールとその他の情報を含む出力ファイルが提供されます。getpid()
テストとして使用するバイナリは、20 番目のシステム コールであるシステム コールを含む単純な C バイナリです。ソースは次のようになります。
PIN ツールが完了すると、strace.outという名前の作業ディレクトリに出力ファイルが作成されます。このファイルには、すべてのシステム コール情報が含まれています。このファイルには約 28 の異なるシステム コールが含まれていますが、いずれも 20 またはgetpid()
システム コールとラベル付けされていません。システムコール番号は、各行のコロンに続く最初の番号です。
c++ - 依存関係のある PIN ツールのコンパイル
タイトルが示すように、いくつかの依存関係を使用して PIN ツールをコンパイルする方法を探しています。たとえば#include "somefile.h"
、PIN ツールでオブジェクト ファイルを生成する場合g++ -c somefile.cpp
、オブジェクト ファイルをリンクして PIN ツールでコンパイルし、その機能を PIN ツールで使用できるようにするにはどうすればよいでしょうか。
intel-pin - インテルピンツールの画像の意味
Intel ピン ツールは初めてで、最近ピン ツールの勉強を始めました。チュートリアルでは、ピン ツールのモードについて説明します。
ただし、トレースとは異なる細分性を確認することが役立つ場合もあります。この目的のために、Pin は 2 つの追加モードを提供します。画像とルーチン計測です。これらのモードは、インストルメンテーション要求を「キャッシュ」することによって実装されるため、スペースのオーバーヘッドが発生します。これらのモードは、事前インストルメンテーションとも呼ばれます。
「画像」の意味を知りたいです。
ありがとうございました。