Skip to main content

ELF symbol check

Project description

Purpose

This tool does check compiled elf-files (and all dependencies) against given rules. Objectives are

  • check for discouraged functions (e.g. strcpy)
  • check for combinations of symbols (e.g. mutex and pthreads)

Usage

usage: pysymbolcheck [-h] [--libpath LIBPATH] rules file

Eval symbols of a binary against given rules

positional arguments:
  rules              Path to a rule file
  file               File to parse

optional arguments:
  -h, --help         show this help message and exit
  --libpath LIBPATH  ":" separated path to lookup libraries

Rule file format

a rule file consists of a json-array, like this

[]

within this n element of the following can be added

{ "severity": "error", "id": "A_Unique_ID", "msg": "some message", "rule", "<rule>" }

for severity it is advised to use only info, warning or error

Rule definition

A rule can consist of any logical combined operation such as

((A && B) || (C && D )) && !E

to get the needed information following keywords are implemented

keyword variables purpose example
AVAILABLE() symbol-name check if a symbol is defined in the binary or any referenced lib AVAILABLE(strncpy)
USED() symbol-name check if a symbol is used by some binary or lib USED(strncpy)
SIZE() symbol-name get the size in bytes of a symbol SIZE(strncpy)
TYPE() symbol-name get the type in bytes of a symbol TYPE(strncpy)
&& n.a. logical and A && B
|| n.a. logical or A || B
! n.a. not operator !A

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysymbolcheck-2.12.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysymbolcheck-2.12.1-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file pysymbolcheck-2.12.1.tar.gz.

File metadata

  • Download URL: pysymbolcheck-2.12.1.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pysymbolcheck-2.12.1.tar.gz
Algorithm Hash digest
SHA256 545d25bb3389500a149b665481d946d3b2ea7f6a2672783348e9e5f6e369983f
MD5 20e0528c870d945dacdc67df82967304
BLAKE2b-256 8e75db107e3e7ef5d97da3dac6b598e0575636dc8b5e7aaf9879958555212c4a

See more details on using hashes here.

File details

Details for the file pysymbolcheck-2.12.1-py3-none-any.whl.

File metadata

  • Download URL: pysymbolcheck-2.12.1-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pysymbolcheck-2.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 44d00427cc03b4a11bdaaf647906742a1ac7407e60d52e3784a4886f36af79f6
MD5 13e993847c3ce7b2721094c404649a67
BLAKE2b-256 27027662fb822cf5eb48f47a7e58659954d51f653abef8cc2230cc4cb19097f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page