Tips and tricks for one who wants to write expressions to contribute to NixOS/nixpkgs .
nix-build <PATH_TO_NIXPKGS> -A <PACKAGE>
""" | |
Backward slice from a given sink. | |
Unfortunately, the BB definition used by Radare2 is too limiting: | |
https://github.com/radareorg/radare2/issues/7170#issuecomment-631579110 | |
""" | |
from functools import reduce | |
import r2pipe | |
import sys |
Tips and tricks for one who wants to write expressions to contribute to NixOS/nixpkgs .
nix-build <PATH_TO_NIXPKGS> -A <PACKAGE>
with import <nixpkgs> { }; | |
stdenv.mkDerivation rec { | |
name = "ZAP"; | |
buildInputs = [ | |
openjdk | |
]; | |
shellHook = '' |
with import <nixpkgs> { }; | |
let | |
python38WithPackages = python38.withPackages(ps: with ps; [ | |
binwalk | |
]); | |
firmware-mod-kit = fetchFromGitHub { | |
owner = "rampageX"; | |
repo = "firmware-mod-kit"; |
with import <nixpkgs> { }; | |
let | |
armhfDependencies = [ | |
pkgsCross.armv7l-hf-multiplatform.buildPackages.targetPackages.glibc | |
pkgsCross.armv7l-hf-multiplatform.buildPackages.targetPackages.ncurses5 | |
pkgsCross.armv7l-hf-multiplatform.buildPackages.targetPackages.readline5 | |
]; | |
in stdenv.mkDerivation { | |
name = "cross-environment"; |
def tag_parameter_definitions(func): | |
""" | |
Add a `ParameterTag` to the definitions of the arguments of the function simulated by the handler. | |
""" | |
@functools.wraps(func) | |
def wrapper(self, state: 'ReachingDefinitionsState', codeloc: 'CodeLocation'): | |
arch = state.arch | |
tag = ParameterTag( | |
function = codeloc.ins_addr, |
/* | |
Using this `shell.nix`, here is how to install BAP using `opam`: | |
``` | |
opam init --comp=4.09.0 | |
eval $(opam env) | |
opam install bap | |
``` | |
*/ | |
with import <nixpkgs> { }; |
import argparse | |
import sys | |
from pwnlib.tubes.listen import listen | |
def main(cli_arguments): | |
l = listen(port=cli_arguments.port, bindaddr='localhost', typ='tcp') | |
_ = l.wait_for_connection() |
# host | |
``` | |
$ ip addr | |
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 | |
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 | |
inet 127.0.0.1/8 scope host lo | |
valid_lft forever preferred_lft forever | |
inet6 ::1/128 scope host noprefixroute | |
valid_lft forever preferred_lft forever |