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)
| File | Size | Uploaded | |
|---|---|---|---|
| pysymbolcheck-2.12.1.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|