変数の値を出力するプログラムがあるとします。その変数を「i」とします。バイナリファイルは '.exe'形式です。 'i'の値を決定する方法と、特定の値が '.exe'形式の変数 'i'の値であることを理解していますか?exeファイルから変数の値を調べる
1
A
答えて
4
変数がローカルかグローバルかによって異なります。グローバルならば、適切なツールを使うのは簡単です(私はLinuxを使って以来、特別なものはお勧めできません)。シンボルテーブルでシンボル "i"の位置を見つけるだけで、と表示されます。ここで、 'i'はです。その値に含まれている値を知りたい場合は、の最初のの値を実行時に表示することはできません(プログラムの実行イメージではなく、exeファイルを参照しているためです)。初期化されていない場合は、初期値がわかりません。さもなければ、その初期値が値の場所の横にあるツール(おそらくは16進数で表示されるので、デコードする必要があるでしょう)に表示されます。
変数がローカルの場合、それは別の話です。プログラムのコンパイル時にローカル変数名が失われるため、変数には名前はありません。その関数が実行されている間は、(おそらく)スタック上の位置を占めるだけです。たとえば、最初の変数は、多くの場合、-8(%ebp)
にあり、2番目の変数は-12(%ebp)
など(-4(%ebp)
および0(%ebp)
は特別)です。したがって、exeのアセンブリコードを調べている場合は、-8(%ebp)
が関数内の最初のローカル変数を参照する可能性があります。繰り返しますが、静的にexeを見ているので、どのような価値があるかを知ることはできません。これは、どのコンパイラが使用されたか、どの最適化レベルに設定されたかによって異なります。
ご迷惑をおかけして申し訳ございません。あなたがアセンブリコードとシンボルテーブルを表示するいくつかの逆コンパイルツールにアクセスしていると仮定しています。
関連する問題
- 1. firebug/devtools:サードパーティサイトの変数の値を調べますか?
- 2. 変数が値を変更するかどうかを調べる
- 3. dll(c)exeがどの関数を呼び出すかを調べるには?
- 4. 複数の値を調べる小枝
- 5. 関数スコープの値を調べる
- 6. ASP.NETディレクトリのファイル数を調べる
- 7. XMLファイルからDOM子要素の数を調べよう
- 8. $ _GET変数が数値文字列かどうかを調べる
- 9. ペリカンの変数を調べるには
- 10. exeへのExcelファイル(xlsからexeへ)
- 11. fsimageからファイルのファイル名とサイズを調べる方法は?
- 12. dplyrで現在変異している変数の最大値を調べる
- 13. 複数のSWFファイルを単一のEXEファイルに変換する
- 14. exeファイルからMySqlをC#
- 15. 数値がfloat64であるかどうかを調べる
- 16. .exeインストーラから特定のexeファイルを実行する方法
- 17. テキストファイルからの引数でexeファイルを実行する
- 18. C++配列内の数値が偶数か奇数かを調べる方法
- 19. トリムJmeter変数値を調整する
- 20. exeファイルのフルパスからInnosetupスクリプトのexeファイル名を取得する方法は?
- 21. gitで1つのコミットから別のコミットに変更されたファイルの数を調べるには
- 22. XNA 4.0の外部ファイルから変数値を変更する
- 23. どのPHPファイルコードからコードを調べているのか調べるには?
- 24. ASP.netプロジェクトから.exeファイルへ
- 25. JavaScriptのexeから返される値
- 26. R - 変数が文字列かどうかを調べる
- 27. varnameが因子変数かどうかを調べる
- 28. Python - 複数の変数が同じ値を持っているかどうかを調べる
- 29. .exeファイルから.bmpを抽出する
- 30. Javaから.exeファイルを実行する
ゲーマー向けの特別なツールがあります。基本的に、他のプロセスのグローバル変数を監視して変更することができます。 – ruslik
@ruslikしかし、通常は特定のゲーム用です。私はあなたがプログラム内の値を検索し、それらを修正することを可能にするいくつかの一般的なプログラムを見てきました:[Cheat-o-matic](http://www.freewarereview.info/2007-01/cheat-o-matic_-manipulate_almost_any_computer_video_game_with_memory_scanning_.html )と[Poke](http://codefromthe70s.org/poke.aspx)がありますが、どちらもWindows用です。 – mgiuca
@mgiucaあなたが言ったことは大丈夫です。しかし、GDBが実行可能ファイルからローカル変数名を取得するのはどうですか? –