TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Angr – User-friendly binary analysis platform

73 pointsby adulauabout 7 years ago

5 comments

q3kabout 7 years ago
The interesting part about Angr (and arguably, its&#x27; reason for existence) is that it can execute native (x86_64, ARM, others...) concolically [1] - ie., given a binary and a requested end state, it will strive using both formal methods and brute force to find input required to reach that state. All automatically, including converting binary code to an IL (cle &amp; Vagrant IL via PyVEX), executing that IL (simuvex) and interacting with SMT solvers (claripy). This can be used for finding bugs, reverse engineering and exploit generation, at least in a toy&#x2F;CTF setting.<p>Angr is also the open-source part of the Shellphish&#x2F;UCSB contestant (Mechanical Phish) that competed in the DARPA CGC [2].<p>[1] - <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Concolic_testing" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Concolic_testing</a><p>[2] - <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;2016_Cyber_Grand_Challenge" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;2016_Cyber_Grand_Challenge</a>
评论 #17115448 未加载
xvilkaabout 7 years ago
There are other similar platforms (listing biggest ones):<p>1. BAP (OCaml) - <a href="https:&#x2F;&#x2F;github.com&#x2F;BinaryAnalysisPlatform&#x2F;bap" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;BinaryAnalysisPlatform&#x2F;bap</a><p>2. BinCAT (OCaml) - <a href="https:&#x2F;&#x2F;github.com&#x2F;airbus-seclab&#x2F;bincat" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;airbus-seclab&#x2F;bincat</a><p>3. radare2 (C) + radeco (Rust)(WIP) - <a href="https:&#x2F;&#x2F;github.com&#x2F;radare&#x2F;radare2" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;radare&#x2F;radare2</a> + <a href="https:&#x2F;&#x2F;github.com&#x2F;radare&#x2F;radeco-lib" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;radare&#x2F;radeco-lib</a><p>4. Falcon (Rust) (WIP) - <a href="https:&#x2F;&#x2F;github.com&#x2F;falconre&#x2F;falcon" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;falconre&#x2F;falcon</a><p>And a bunch of others, less common or less featureful.
pagabout 7 years ago
If you&#x27;re an everyday C&#x2F;C++ programmer and can&#x27;t imagine how Angr could fit into your workflow, then check out DeepState (<a href="https:&#x2F;&#x2F;github.com&#x2F;trailofbits&#x2F;deepstate" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;trailofbits&#x2F;deepstate</a>). It is a Google Test-compatible unit testing framework that lets you write parameterized unit tests, using Angr to perform the state space exploration. What that means is that you can write a unit test, e.g. that addition of two integers doesn&#x27;t overflow (it can), and using the power of Angr, DeepState will evaluate your test for all possible integers, not hard-coded ones, and not just some randomly chosen ones.
评论 #17116174 未加载
akrasuski1about 7 years ago
Hm, if the example written on README is representative for current usage, then it surely changed a lot recently. I remember checking angr out a few months ago, and simply running a binary required a few dozens of, mostly boilerplate, code. I may try it again now, looks like it improved since then.
TACIXATabout 7 years ago
Did Manticore lead to a focus on ease of use? Not sure I&#x27;ve seen angr described as user friendly before.
评论 #17128035 未加载