[Windows FreeSoft-プログラミング] [アセンブラ] 逆アセンブルユーティリティ disassembler
著作権のあるソフトウェアを逆アセンブルする事は禁止されています。絶対に行わないでください。
逆アセンブラとは?
秘匿されている、紛失したなどの理由によりソースコードが入手できないプログラムの動作を知りたい場合、プログラムの機械語を人間が直接理解することは困難であるため、より人間に理解しやすいニーモニックに変換して解析の手助けとするために逆アセンブラを利用する。 人間に理解しやすいといっても、それはあくまでも機械語と比べて、という意味である。逆アセンブル結果からプログラムの内部動作を知り元のソースコードを推定するまでの作業は一種の暗号解読のような困難な作業であり、非常に高度な技能を持つ技術者が膨大な手間と労力をかけて初めて達成されるものである。 但し、プログラムの動作を解析されると様々な利害が絡むこともあるため、商用ソフトウェアでは使用契約によって逆アセンブルなどによるリバースエンジニアリングを禁止していることが普通である。一方で、ソフトウェア特許の侵害を立証するためには逆アセンブルが不可欠であるから、このような場合には逆アセンブルは禁止されない。Wikipedia より引用
逆アセンブラ disassembler
「disassembler」は、逆アセンブルを行うためのCUI用のソフトウェアです。 ダウンロードは作者HP Windows Disassembler Home Page から ファイルをダウンロードして、解凍すると disasm.exe が生成されます。 使用方法は、コマンドラインでdisasmに対して逆アセンブルしたい実行ファイルのパスを引数として渡して、それをテキストファイルに書き出せばいいだけなんで、非常に分かりやすい使い方。
逆アセンブルしてみる
コマンドラインで disasm.exe を置いているディレクトリに移動し、disasm.exeに解析したい実行ファイルのパスを渡すだけなんで、以下のようにすればいいだけです。 ◆C:\disasm\にdisasm.exeを置き、同ディレクトリに逆アセンブルしたい実行ファイルを置いた場合の例
> cd c:\disasm > disasm test.exe > test.exe.txt
しかし、使い方は簡単なんだけど、実際面倒くさい。 こういう時、毎度ながら一番準備が手軽な方法をとってしまいます。
batファイルで書き出す
わざわざプロンプトを開いて書き出すのも面倒だから、batファイルでやってしまう。
disasm.bat
@echo off echo ------------------------------------- echo Disasmテキスト出力 echo ------------------------------------- REM 引数が無い場合は処理を終了させる if not "%~1" == "" goto Ok REM 引数が渡されなかった場合 echo ファイルが引数として渡されませんでした。 pause goto :eof REM 引数が渡された場合 REM 逆アセンブルし、結果をテキストへ出力 :Ok cd %~dp0 echo %~dp0 に移動しました。 echo 逆アセンブルした結果をテキストファイルに出力します。 disasm %1 > %1.txt echo %1.txt を出力しました。 pause
設置場所は、disasm.exeと同じ場所に。 使い方は、バッチファイルに実行ファイルをD&Dするだけ。 出力結果は、実行ファイルと同じディレクトリに[実行ファイル名.txt]として出力されます。
「アセンブリ」に関する「本」の商品を自動的に表示しています。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。
キーワードに関連していない商品は、Amazonがオススメする商品です。気になる物があればどうぞ。
作成日:2008年06月20日(Fri)