2016-11-07 8 views
0

デバッグ/ステップスルーが必要なこのEFLファイルがあります。リバースエンジニアリング競争です。私がする必要があるのは、特定の時点および特定の場所におけるレジスタの価値を見つけることだけです。私は興味のあるアドレスを見つけるためにホッパーディスアセンブラーを使いました。ELFファイルのデバッグ

ここに問題があります。私はELFファイルのデバッグ方法を知らない。 Linux環境で初めてのデバッグです。 ELFファイルを実行する方法を学ぶことはしばらく時間がかかりました。私は使用して実行する ld-linux.so.2 ./[EFLFILE] [arguments]

私は少なくともproessにデバッガを接続する方法はありますか?私はpsコマンドで見つけることさえできません。また、リモートデバッガを使用することも可能だと聞いてきました。 Windowsマシン上でデバッガを動作させ、Linux上で動作するバイナリを調べること。

誰でも私がこのいずれかを達成するのを手助けできますか?

+1

あなたは[GDB](httpsを使用することがあります。 Linuxの下でプログラムをデバッグするには – daouzli

答えて

0

次のように通常ELFファイルを実行することができます

$ /path/to/elffile [arguments] 

あなたが行うことGDBを使用して、それをデバッグするには:

$ gdb /path/to/elffile 

それとも渡し引数:あなたは

$ gdb --args /path/to/elffile arguments... 

ケース:

$ gdb --args ./[EFLFILE] [arguments] 

次にrunまたはrと入力し、を押します。 helpと入力すると、gdbコマンドのヘルプが表示されます。

注://www.gnu:あなたのプログラムは、いくつかの外部LIBSを必要とする場合、それを実行する前に、あなたはそれらのlibsを含むフォルダに向いてLD_LIBRARY_PATHを定義する必要があります(export LD_LIBRARY_PATH=/the/path/to/libs

+0

私が何をしてもELFファイルを実行することはできません '$ [filename]' "no command [filename]あなたが提案したgdb( "あなたの場合"の行)を使用しようとすると、sudoを使った後でさえ、Permissionが拒否されてしまいます。私は最新のubuntuを使っています。 – hexinx

+0

私はそれが64ビットのubuntuインストールでは32ビットのELFだからだと思います。私は32ビットシステムを実行し、同じことを試みます。 – hexinx

+0

@hexinx許可が拒否された場合、ファイルに実行権 '$ chmod + x elffile'があることを確認しますが、スタンドアロンで実行できない場合gdbは動作しません。 – daouzli

関連する問題