Open-source Intuitive and familiar, yet new user interface C-like expression parser Full-featured debugging of DLL and EXE files (TitanEngine) IDA-like sidebar with jump arrows IDA-like instruction token highlighter (highlight registers, etc.) Memory map Symbol view Thread view Source code view Graph view Content-sensitive register view Fully customizable color scheme Dynamically recognize modules
子供のころからできるだけ手抜きして成果を挙げることだけは長けている山本です。 今回は、C/C++ で作ったプログラムが運用中にクラッシュするときのデバッグ方法のお話しです。 開発中のデバッグは gdb などでソース追いながらデバッグできますが、運用中ですと strip していたり最適化していたりしてデバッグが難しくなります。 そもそも、いきなりクラッシュすると情報が残らずに困ってしまいます。そんなときどうするか。 Step1. スタックトレースを出力する こんな関数を用意しましょう。Linux 以外の人はそれなりに実装してください。 #include <execinfo.h> #include <unistd.h> void dump_stack() { void* bt[100]; int n = backtrace(bt, 100); backtrace_symbols_fd(bt,
Windowsセキュリティオンサイトセミナー タイトル 第01回: カーネルデバッガ「WinDbg」入門(その1) 第02回: カーネルデバッガ「WinDbg」入門(その2) 第03回: カーネルデバッガ「WinDbg」入門(その3) 第04回: WinDbgのインストールと起動 第05回: WinDbg環境の確認 第06回: WinDbg環境の有効性を確認する 第07回: WinDbgコマンド体系 第08回: WinDbgコマンドスクリプティング入門 第09回: WinDbgコマンドスクリプティングの利点 第10回: WinDbgとはいったい何なのか? 参考情報: (株)翔泳社Webマガジン連載 参考情報: WinDbgコマンドプログラミング講座の紹介 ホーム
Bash Debugger Project(bashdb)を使うと、bashスクリプトにブレークポイントを設定したり変数を調べたりバックトレースしたり1行ずつ実行したりすることができる。bashdbは、C/C++デバッガー並みの技法でbashスクリプトをデバッグするツールだ。 インストールされているbashがbashdbをサポートしているかどうかは、次のコマンドを実行してみればわかる。下に示したbashdbのプロンプトが表示されなければ、bashdbをインストールする必要がある。 $ bash --debugger -c "set|grep -i dbg" ... bashdb<0> bashdbのパッケージはUbuntu Intrepidのリポジトリーにはあるが、openSUSE 11やFedora 9のリポジトリーにはない。試用マシンは64-bit Fedora 9マシンなので、通常の
Firefox、Safari、Opera、そしてGoogle Chrome。これらWebブラウザはネットサーフィンをするにとどまらず、Web開発者/デザイナのためにデバッグを円滑にするためのさまざまなツールが用意されていることは周知のとおり。このたびリリースされたGoogle Chromeに付属するデバッグツールは、これから同Webブラウザでデバッグを行う、Firebug等に慣れてきたWeb開発者/デザイナのよきパートナーとなり得るか。 もう試しましたか? Google ChromeのWeb開発者向けデバッグツール WebKitをベースにしたWebブラウザ、Google Chromeがリリースされてはや1週間ほど。マルチプロセス、V8とさまざまな特徴・新機能に目が行きがちだが、読者の方々はもう「JavaScriptコンソール」「JavaScript Debugger」は試してみただろうか。
1. はじめに 最近、業務でマルウェアを解析する機会が増えてきたのですが、最近のマルウェアはどれも様々な解析対策が施されており、数年前と比べて解析がやや面倒になっています。攻撃者はマルウェアの発見を困難にさせたり、セキュリティベンダーらによる解析を遅らせたりするため、エンコーディングやゴミコード挿入などによる難読化、コンポーネントや実態の多段化、デバッガ検出など、様々な解析対策を実装しています。 今回は、このデバッガ検出を無効にする方法を紹介します。 2. マルウェア解析とAnti-Debugging マルウェアを解析する際は、デバッガを使って地道にアセンブリコードを追っていく事になります。デバッガでブレークやステップを繰り返し、フロー、API呼び出し、引数、データの流れなどを確認して行くのですが、その際、何度か先頭から再実行しなければならないという状況に遭遇します。たとえば、「この条件分
スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く