angr / angr/angr-management

Branches that leave the function are not always clickable

Đang mở
#43 1 bình luận 0 reaction 1 người được giao Được @ltfish nhận Xem trên GitHub
bug
Ngôn ngữ chính
Python
Star
1.2k
Fork
131
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
14

Mô tả

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`.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.