angr / angr/angr-management

Branches that leave the function are not always clickable

オープン
#43 コメント 1 件 リアクション 0 件 担当者 1 名 @ltfish が担当を希望しています GitHub で見る
bug
主要言語
Python
スター
1.2k
フォーク
131
平均マージ
1日 11時間
マージ済み PR(30日)
14

説明

Consider the following small program:

```
global _start

_start:
call main

main:
mov rdi, 42
mov rax, 60
syscall
ret
```

When loading that program into `angr-management`, the `_start` function is displayed like this:

![pic](https://user-images.githubusercontent.com/3192959/37642571-df4dbc9c-2c1d-11e8-87ec-4792a28f0281.png)

Note that the `main` reference is not clickable (it would have a different color if it was clickable).

The reason for this is that when building the supergraph, edges to blocks outside of the current function are removed. When we later register the out branches of each node, the `_start` node no longer has any outgoing edges (since they got removed in the first step).

It only works correclty if `main` is identified as a `FunctionNode`, but not all branch targets that leave the current function lead to a `FunctionNode`.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。