Skip to main content

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

Metadata

Release files for pysymbolcheck 2.12.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pysymbolcheck 2.12.1
File Size Uploaded
pysymbolcheck-2.12.1.tar.gz 6.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pysymbolcheck 2.12.1
File Interpreter ABI Platform
pysymbolcheck-2.12.1-py3-none-any.whl Python 3 none any Details

Total release size: 18.0 kB

Release files / pysymbolcheck-2.12.1.tar.gz

Download URL pysymbolcheck-2.12.1.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
545d25bb3389500a149b665481d946d3b2ea7f6a2672783348e9e5f6e369983f
BLAKE2b-256 checksum
How to use checksums
8e75db107e3e7ef5d97da3dac6b598e0575636dc8b5e7aaf9879958555212c4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / pysymbolcheck-2.12.1-py3-none-any.whl

Download URL pysymbolcheck-2.12.1-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44d00427cc03b4a11bdaaf647906742a1ac7407e60d52e3784a4886f36af79f6
BLAKE2b-256 checksum
How to use checksums
27027662fb822cf5eb48f47a7e58659954d51f653abef8cc2230cc4cb19097f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

2.12.1 This release

2 release files

2.12.0

2 release files

2.11.0

2 release files

2.10.1

2 release files

2.9.4

2 release files

2.9.3

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.5

2 release files

2.7.4

2 release files

2.7.3

2 release files

2.7.2

2 release files

2.7

2 release files

2.6

2 release files

2.3

1 release file

2.2

1 release file

2.1

1 release file

2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page