Tech Notes

IDAのGraphViewが変なとき

無料版のIDA v5.0を使っているのだが、たまにおかしい表示になる。

ルーチンがリターンせず途切れていたり、ルーチンの先頭アドレスではない所から処理の矢印が流れてきていたり。 TextViewで見てみると、「call _sin」と「add esp,8」の間でなぜか処理が途切れているように認識されている。 本来はcall _sinのあとにadd esp,8して…と続くはずの処理が「call _sinの後は途切れる」「add esp,8から処理が始まる」といったように認識されてしまっているのだ。 _sinをEdit Functionで見てみると「Does Not Return」とかいうチェックボックスにチェックが入っている。外してやったら全く正しい表示になった。

たまにGraphViewがおかしい時はここを疑うと良いのかもしれない。