以下のテキストを日本語に翻訳してください:
ipyida のインストール#
ipyida のインストール方法は次のとおりです:ida 如何安装插件 - lca
ipython の使用方法#
インストールが完了したら、[編集 - プラグイン] から ipyida プラグインを選択して開きます。次のような画面が表示されます:

? を押すとヘルプ情報が表示され、esc を押すとヘルプ情報画面が終了します。タブキーを押すとコマンドが自動的に補完されます。例えば、imp と入力してタブキーを押すと import が補完され、import の後にスペースを入力してからタブキーを押すとインポートする必要のあるモジュールが表示されます。

モジュールをインポートした後、モジュールの後に?を付けるとモジュールの情報が表示されます。
idaapi?
idaapi?? # より詳細な情報を表示

% hist と入力すると、過去のコマンドが表示されます。% history -n を入力すると、過去のコマンドと行番号が表示されます。

% edit でテキストエディタを開きます。% edit x-y で指定された範囲のコマンドをテキストエディタに書き込みます。
ida python の基本的な使用方法#
ida python は次の 3 つの独立したモジュールで構成されています:
- idc
- idaapi
- idautils
ida python では大文字と小文字が区別され、命名規則はキャメルケースです。
idc.here()#

現在の命令のアドレスを取得します
idc.GetDisasm()#

現在のアセンブリ命令を取得します
idc.SegName()#

現在のセグメントを取得します
idc.MinEA&idc.MaxEx#

プログラムの最低アドレスと最高アドレスを取得します
ea = idc.here()
next_str = idc.NextHead(ea)
pre_instr = idc.prev_head(ea)


前(または後)のアセンブリ命令のアドレスを取得します
SceenEA#
ディスアセンブリの現在のカーソル位置を示します
モジュールをインポートする必要がありますimport idaapi

ScreenEa 関数を使用すると、エラーが発生する場合があります。これは Python のバージョンに関連している可能性があります。以下は Python3 のエラーの例です。
スクリプトコマンドを実行するには、まずスクリプトを作成します(Python3 環境で)。

次に、[ファイル - ファイルを実行] を選択してスクリプトをロードし、実行します。実行結果は次のようになります。

idc.GetDisasm (start_ea) コマンドは、現在のカーソル位置の命令を出力します(Python3 環境で)。

カーソルを他の位置に移動すると、ea はカーソルの位置と値を再度検索します。
idc.GetOpnd () 関数を使用すると、命令の 1 番目または 2 番目のオペランドを出力できます。

現在のカーソル位置の関数名を取得する方法
import idc
import idaapi
ea = idc.ScreenEA()
func = idaapi.get_func(ea)
funcname = idc.GetFunctionName(func.startEA)
print funcname

現在の関数名を取得します
import idc
import idautils
ea = idc.ScreenEA()
start = idc.SegStart(ea)
end = idc.SegEnd(ea)
for funcea in idautils.Functions(start,end):
name = idc.GetFunctionName(funcea)
print name

ブロック内のすべての関数名を取得します
E = list(idautils.FuncItems(ea))
for e in E:
print "%X"%e,idc.GetDisasm(e)

関数のすべての命令を出力します

ディスアセンブリビューの命令と比較します
WndProc にカーソルを移動すると、参照を表示できます

CARTEL_BUENO関数にカーソルを移動し、X キーを押すとwndproc関数がCARTEL_BUENO関数を呼び出していることが表示されます。

coderefs () 関数を呼び出すことで、それを呼び出す関数名を取得できます。


CARTEL_BUENO の参照を取得します