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
Release files for crcsolver 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| crcsolver-1.0.3.tar.gz | 8.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| crcsolver-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.3 kB
Release files / crcsolver-1.0.3.tar.gz
| Download URL | crcsolver-1.0.3.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
205c41114e57e64cb43f1e07c6a4622d77853bcb1bb072e8cc3ae27c716401f4
|
|
BLAKE2b-256 checksum How to use checksums |
ad20c4ed39a02e10cf91f65e8d75a627444206bbf8079c094959fa71f0d41ff9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / crcsolver-1.0.3-py3-none-any.whl
| Download URL | crcsolver-1.0.3-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7697692fc6459b70e8a112242e60944e26bcc7e3e0abd915b7080136466aa53
|
|
BLAKE2b-256 checksum How to use checksums |
5795b5b45f4174ddc94677cd0d2be74fe97f95d9a73793222ac10928f9a6a1fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|