Questions tagged [angr]

angr is a Python binary analysis framework developed by the Computer Security Lab at UC Santa Barbara and their associated CTF team, Shellphish. project URL: https://github.com/angr/angr

Filter by
Sorted by
Tagged with
0
votes
0answers
46 views

Symbolic gloabal variables in angr

I am learning angr and for that I wrote a code containing two global variables. char pwd[8]; char flag[16]; int main() { printf("\n\nEnter your password and the flag: "); ...
0
votes
1answer
56 views

Proper workflow for x64dbg to Angr?

I am trying to use Angr to reverse engineer a plugin for an application. This plugin is loaded via DLL by the main application. To debug, I use x64dbg to attach to the main application exe. I then set ...
0
votes
0answers
38 views

Control flow graph of entire binary file

Is it possible to get the control flow graph of the entire binary file using any disassembler? IDA Pro generates the CFG for each function. Can we use it to get the CFG of the entire program?
0
votes
0answers
31 views

Angr fails with unsat result even though there clearly exists a solution

recently I have been trying to solve the nobranch7e4 challenge from the HXP CTF 2020 using angr. My success has been mixed: Even though there is no apparent state explosion I still cannot solve for ...
0
votes
0answers
36 views

What are the open source symbolic execution tools for Firmware?

I have tried to use angr, KLEE, S2E to symbolically analyze firmware binaries such as DIR-815(httpd ELF binary). import claripy import angr p = angr.Project('./httpd', load_options={'auto_load_libs':...
1
vote
1answer
53 views

Using angr/radare2 to estimate values given chunks of assembly

I'm currently using radare2 in order to construct a simple CFG, each block/node in that graph is composed of one or more assembly instructions, I wish to estimate the value of specific register or ...
1
vote
1answer
92 views

Basic `angr` framework question- is something wrong with my solver?

I'm new to reverse engineering and I've just recently learned about angr, a framework that uses symbolic execution to get the input for a given output. I'm trying to complete a crackme using angr. My ...
1
vote
1answer
152 views

How to restrict angr to printable characters

I have a binary that scanfs and then does some checks and returns either FAIL or SUCCESS that has SUCCESS for multiple inputs. Although only one of the inputs has only printable characters. How do I ...
2
votes
0answers
85 views

Reverse engineering a command line argument using angr for an aarch64 binary

I am trying to reverse engineer a aarch64 binary using angr to find the required command line argument to get a desired result. From the binary I am able to extract the required length of the argument....
1
vote
2answers
341 views

Simple angr example not working

I am trying to learn angr from beginning. Due to lack of simple tutorials I programmed my own little executable which angr should solve. The C code looks as follows: #include <stdio.h> #...
1
vote
1answer
510 views

How to export disassembly using angr

I would like to know how to export angr's disassembly in say txt file. I looked at the angr documentation - https://angr.io/api-doc/angr.html#module-angr.analyses I found that there are some ...
1
vote
0answers
70 views

Angr Use argv as initialstate

I am currently trying to use angr, and I need to find a string "Done!" which results in the "good termination" of the program. The input is 32 bits and I need to know the input which leads to the "...
4
votes
3answers
181 views

Get certain instruction count for multi-architecture binaries

I need to get an ELF binary's total count of Function call instruction conditional jump (branch) instruction The binary could be any CPU architecture, like x64, ARM, MIPS, Motorola 68K, etc. It ...
3
votes
0answers
359 views

Using Angr in Vulnerability Research

I would like to use angr for vulnerability research. I was thinking that if I did the following: p = angr.Project('a.out', auto_load_libs=False) sm = p.factory.simulation_manager() while len(sm....
2
votes
1answer
1k views

angr | populate int array with constraints

How do I populate memory address using angr with array of integers (?) and add a constraint so each int will be positive & less than 17 ? I hope it's clear I need to find out the in_array ...
3
votes
0answers
329 views

How to prevent angr from taking dozens of hours and GB of memory solving a (seemingly) simple CTF problem

I was recently working on a (seemingly) simple CTF challenge where the input was a base64 encoded file and the binary would check for correctness in one function call. The catch is that the checking ...
4
votes
2answers
909 views

Angr - Solve for function return value

I'm trying to create an angr script to solve this test program: #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { int value = atoi(...
0
votes
2answers
812 views

Solve an angr function with string parameters

Look at this C code: #include <stdio.h> #include <string.h> int my_function(char *s); int my_function(char *s) { for (int i=0;i<strlen(s);i++) { s[i]++; } if (...
1
vote
1answer
359 views

Solve a function with angr [closed]

Look at this c program: #include <stdio.h> int my_function(int a, int b); int my_function(int a, int b) { // Imagine a very complex calculation on 'a' and 'b' if (a==0x41 && b=...
1
vote
1answer
312 views

Start Symbolic Analysis at a Given Address with Angr

Lets suppose I have a very big binary and I want to reverse just a part of this binary. Is there a way to tell angr to start symbolic analysis at a given address ?
2
votes
1answer
280 views

angr with a golang target

Here is a very basic golang program: package main import "fmt" func main() { var s1 string fmt.Scanln(&s1) if s1=="goodpassword" { fmt.Println("Good") } else { ...
1
vote
1answer
446 views

Angr never finishes

I create the following c program as a proof of concept. When I try to analyze it with anger it never finishes. #include <string.h> #include <stdlib.h> #include <stdio.h> char *...
4
votes
0answers
550 views

How do I perform concolic execution with Angr and collect constraints on input?

I have a program that takes a string (with some structure) as input. My aim is to collect information on what values each character in input is compared to as it gets parsed using concolic execution. ...
3
votes
1answer
181 views

angr multiple reads same variable

I'm writing a script to solve a binary that asks for multiple strings like the following c code, My problem I can't dump the 'second_pass, I just get "first_pass". probably due of the use of the same ...
2
votes
1answer
1k views

problem with scanf/fgets in angr stdin exploration

I want to solve this very basic crackme using angr: #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char buffer[64]; printf("Mot de passe:\n"); ...
0
votes
0answers
277 views

debugger trap with angr

Let's suppose this (very ugly) c code: #include <stdio.h> #include <string.h> #include <signal.h> char sav_argv[100]; void on_sigtrap(int signo) { if (strcmp(sav_argv, "hello")...
2
votes
2answers
1k views

Password Bruteforce using angr

I am having a binary which takes an input from user and checks every bit of our character using the check_value function which does some stuff. The disassembly of the interested function is: .text:...
5
votes
1answer
748 views

How can I get the shared libraries' function calls using angr

I am trying to get all the library function calls that a binary performs in a preorder-DFT traversal of the CFG. I'm able to get the CFG like: import sys, angr import networkx as nx proj = angr....