solve for data, given a target crc
Project description
Example
Supply the known data, unknown bits, target checksum, and crc function:
>>> crcsolver.solve(b'MONK__', range(32,48), 0x401a68b6, binascii.crc32)
b'MONKEY'
Example
>>> crcsolver.solve(b'M_NK_Y', [8,9,10,11,12,13,14,15,16,32,33,34,35,36,37,38,39], 0x401a68b6, binascii.crc32)
b'MONKEY'
Example
You may supply an arbitrary CRC function or the name of a CRC algorithm:
>>> crcsolver.solve(b'__NKEY', range(16), 0x401a68b6, 'CRC-32/ISO-HDLC')
b'MONKEY'
The full list of available named CRC's is found in crc_catalog.py
.
Example
This package also can compute checksums:
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-3/GSM'))
'0x5'
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-32/ISO-HDLC'))
'0x401a68b6'
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-32/MPEG-2'))
'0xe643d817'
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-64/ECMA-182'))
'0x2cf08634f65960ae'
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-82/DARC'))
'0x240a7856c67f10a2c0f7f'
The full list of available named CRC's is found in crc_catalog.py
.
Example
You may supply a dictionary of generalized CRC parameters to compute a CRC:
>>> hex(crcsolver.compute(b'MONKEY', {'width':32, 'poly':0x04c11db7, 'init':0xffffffff, 'refin':True, 'refout':True, 'xorout':0xffffffff}))
'0x401a68b6'
Prior Art
- http://reveng.sourceforge.net CRC RevEng: arbitrary-precision CRC calculator and algorithm finder
- https://github.com/resilar/crchack Reversing CRC for fun and profit
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
crcsolver-1.0.3.tar.gz
(8.5 kB
view details)
Built Distribution
File details
Details for the file crcsolver-1.0.3.tar.gz
.
File metadata
- Download URL: crcsolver-1.0.3.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 205c41114e57e64cb43f1e07c6a4622d77853bcb1bb072e8cc3ae27c716401f4 |
|
MD5 | 9e82eaadbf3d66e5af351fbb475083a0 |
|
BLAKE2b-256 | ad20c4ed39a02e10cf91f65e8d75a627444206bbf8079c094959fa71f0d41ff9 |
File details
Details for the file crcsolver-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: crcsolver-1.0.3-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7697692fc6459b70e8a112242e60944e26bcc7e3e0abd915b7080136466aa53 |
|
MD5 | f3eb34e77e29ea9713d49c4dbc5caf04 |
|
BLAKE2b-256 | 5795b5b45f4174ddc94677cd0d2be74fe97f95d9a73793222ac10928f9a6a1fd |