angr.state_plugins.posix¶
- class angr.state_plugins.posix.PosixProcFS¶
Bases:
SimMountThe virtual file system mounted at /proc (as of now, on Linux).
- class angr.state_plugins.posix.SimSystemPosix¶
Bases:
SimStatePluginData storage and interaction mechanisms for states with an environment conforming to posix. Available as
state.posix.- SIG_BLOCK = 0¶
- SIG_UNBLOCK = 1¶
- SIG_SETMASK = 2¶
- EPERM = 1¶
- ENOENT = 2¶
- ESRCH = 3¶
- EINTR = 4¶
- EIO = 5¶
- ENXIO = 6¶
- E2BIG = 7¶
- ENOEXEC = 8¶
- EBADF = 9¶
- ECHILD = 10¶
- EAGAIN = 11¶
- ENOMEM = 12¶
- EACCES = 13¶
- EFAULT = 14¶
- ENOTBLK = 15¶
- EBUSY = 16¶
- EEXIST = 17¶
- EXDEV = 18¶
- ENODEV = 19¶
- ENOTDIR = 20¶
- EISDIR = 21¶
- EINVAL = 22¶
- ENFILE = 23¶
- EMFILE = 24¶
- ENOTTY = 25¶
- ETXTBSY = 26¶
- EFBIG = 27¶
- ENOSPC = 28¶
- ESPIPE = 29¶
- EROFS = 30¶
- EMLINK = 31¶
- EPIPE = 32¶
- EDOM = 33¶
- ERANGE = 34¶
- __init__(stdin=None, stdout=None, stderr=None, fd=None, sockets=None, socket_queue=None, argv=None, argc=None, environ=None, auxv=None, tls_modules=None, sigmask=None, pid=None, ppid=None, uid=None, gid=None, brk=None)¶
- property closed_fds¶
- set_brk(new_brk)¶
- open(name, flags, preferred_fd=None)¶
Open a symbolic file. Basically open(2).
- Parameters:
- Returns:
The file descriptor number allocated (maps through posix.get_fd to a SimFileDescriptor) or -1 if the open fails.
modefrom open(2) is unsupported at present.
- open_socket(ident)¶
- get_fd(fd, create_file=True)¶
Looks up the SimFileDescriptor associated with the given number (an AST). If the number is concrete and does not map to anything, return None. If the number is symbolic, constrain it to an open fd and create a new file for it. Set create_file to False if no write-access is planned (i.e. fd is read-only).
- get_concrete_fd(fd, create_file=True)¶
Same behavior as get_fd(fd), only the result is a concrete integer fd (or -1) instead of a SimFileDescriptor.
- close(fd)¶
Closes the given file descriptor (an AST). Returns whether the operation succeeded (a concrete boolean)
- fstat(fd)¶
- fstat_with_result(sim_fd)¶
- sigmask(sigsetsize=None)¶
Gets the current sigmask. If it’s blank, a new one is created (of sigsetsize).
- Parameters:
sigsetsize – the size (in bytes of the sigmask set)
- Returns:
the sigmask
- sigprocmask(how, new_mask, sigsetsize, valid_ptr=True)¶
Updates the signal mask.
- Parameters:
how – the “how” argument of sigprocmask (see manpage)
new_mask – the mask modification to apply
sigsetsize – the size (in bytes of the sigmask set)
valid_ptr – is set if the new_mask was not NULL
- dump_file_by_path(path, **kwargs)¶
Returns the concrete content for a file by path.
- Parameters:
path – file path as string
kwargs – passed to state.solver.eval
- Returns:
file contents as string