0
0
Fork 0
haikuports/dev-util/fenris/fenris-0.07.recipe

93 lines
2.9 KiB
Bash

SUMMARY="A program execution path analysis tool"
DESCRIPTION="Fenris is a suite of tools suitable for code analysis, \
debugging, protocol analysis, reverse engineering, forensics, \
diagnostics, security audits, vulnerability research and many \
other purposes. The main logical components are: \
- Fenris: high-level tracer, a tool that detects the logic used \
in C programs to find and classify functions, logic program structure, \
calls, buffers, interaction with system and libraries, \
I/O and many other structures. Fenris is mostly a \"what's inside\" \
tracer, as opposed to ltrace or strace, tracers intended to inspect \
external \"symptoms\" of the internal program structure. \
Fenris does not depend on libbfd for accessing ELF structures, \
and thus is much more robust when dealing with \"anti-debugging\" code.
- libfnprints and dress: fingerprinting code that can be used to detect \
library functions embedded inside a static application, even without \
symbols, to make code analysis simplier; this functionality is both \
embedded in other components and available as a standalone tool that \
adds symtab to ELF binaries and can be used with any debugger or \
disassembler.
- Aegir: an interactive gdb-alike debugger with modular capabilities, \
instruction by instruction and breakpoint to breakpoint execution, \
and real-time access to all the goods offered by Fenris, \
such as high-level information about memory objects or logical \
code structure.
- nc-aegir: a SoftICE-alike GUI for Aegir, with automatic register, \
memory and code views, integrated Fenris output, and automatic \
Fenris control (now under development).
- Ragnarok: a visualisation tool for Fenris that delivers browsable \
information about many different aspects of program execution - \
code flow, function calls, memory object life, I/O, etc (to be \
redesigned using OpenDX or a similar data exploration interface).
- …and some other companion utilities."
HOMEPAGE="https://lcamtuf.coredump.cx/fenris/"
COPYRIGHT="2001, 2002 by Bindview Corporation
2001, 2002 by their respective contributors"
LICENSE="GNU GPL v2"
REVISION="2"
SOURCE_URI="http://lcamtuf.coredump.cx/fenris/fenris.tgz"
CHECKSUM_SHA256="1f9eec0259166428445fa1f241b555e2d5afeeabb6f87f5402deef935ca91092"
SOURCE_DIR="fenris"
PATCHES="fenris-0.07.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
fenris$secondaryArchSuffix = $portVersion compat >= 0.07
cmd:fenris$secondaryArchSuffix = $portVersion compat >= 0.07
"
# TODO: add missing optional deps
#
REQUIRES="
haiku${secondaryArchSuffix}
coreutils
diffutils
cmd:awk
cmd:perl
cmd:sed
cmd:sh
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:awk
cmd:file
cmd:gcc$secondaryArchSuffix
cmd:gdb
cmd:make
cmd:sed
cmd:tput
"
BUILD()
{
#runConfigure ./configure
#make
./build strip
}
INSTALL()
{
make install
}
TEST()
{
make tests
}