mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 21:33:47 -07:00
CHG: Updated Reveng from 1.3.0 -> 1.3.1
It now allows of values to be entered as hex i.e. 0x00
This commit is contained in:
parent
4b78d6b317
commit
fe144f121d
4 changed files with 130 additions and 118 deletions
|
@ -444,7 +444,7 @@ ippx:
|
|||
if(uflags & C_RESULT) {
|
||||
for(qptr = apolys; qptr < pptr; ++qptr)
|
||||
pfree(qptr);
|
||||
//return 1;
|
||||
return 1;
|
||||
//exit(EXIT_SUCCESS);
|
||||
}
|
||||
if(!(model.flags & P_REFIN) != !(model.flags & P_REFOUT)){
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* model.c
|
||||
* Greg Cook, 9/Apr/2015
|
||||
* Greg Cook, 29/Jul/2015
|
||||
*/
|
||||
|
||||
/* CRC RevEng, an arbitrary-precision CRC calculator and algorithm finder
|
||||
|
@ -21,7 +21,8 @@
|
|||
* along with CRC RevEng. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* 2014-01-14: added CRC-8/DVB-S2
|
||||
/* 2015-07-29: eliminated struct malias.isprimry
|
||||
* 2014-01-14: added CRC-8/DVB-S2
|
||||
* 2014-01-11: corrected CRC-40/GSM, added alias CRC-8/AES
|
||||
* 2013-10-14: added CRC-13/BBC and six cdma2000 algorithms
|
||||
* 2013-06-11: ensure BMP_BIT is an integer constant to compile presets
|
||||
|
@ -67,8 +68,7 @@ struct mpreset {
|
|||
|
||||
struct malias {
|
||||
const char *name;
|
||||
const struct mpreset *model;
|
||||
const int isprimry;
|
||||
const struct mpreset *const model;
|
||||
};
|
||||
|
||||
#ifdef PRESETS
|
||||
|
@ -404,110 +404,110 @@ static const struct mpreset models[] = {
|
|||
|
||||
/* List of names with pointers to models, pre-sorted for use with bsearch() */
|
||||
static const struct malias aliases[] = {
|
||||
{"ARC", models+47, 1}, /* 0 */
|
||||
{"B-CRC-32", models+ 4, 0}, /* 1 */
|
||||
{"CKSUM", models+ 2, 0}, /* 2 */
|
||||
{"CRC-10", models+58, 1}, /* 3 */
|
||||
{"CRC-10/CDMA2000", models+71, 1}, /* 4 */
|
||||
{"CRC-11", models+45, 1}, /* 5 */
|
||||
{"CRC-12/3GPP", models+53, 1}, /* 6 */
|
||||
{"CRC-12/CDMA2000", models+70, 1}, /* 7 */
|
||||
{"CRC-12/DECT", models+52, 1}, /* 8 */
|
||||
{"CRC-13/BBC", models+69, 1}, /* 9 */
|
||||
{"CRC-14/DARC", models+30, 1}, /* 10 */
|
||||
{"CRC-15", models+56, 1}, /* 11 */
|
||||
{"CRC-15/MPT1327", models+67, 1}, /* 12 */
|
||||
{"CRC-16", models+47, 0}, /* 13 */
|
||||
{"CRC-16/ACORN", models+15, 0}, /* 14 */
|
||||
{"CRC-16/ARC", models+47, 0}, /* 15 */
|
||||
{"CRC-16/AUG-CCITT", models+17, 1}, /* 16 */
|
||||
{"CRC-16/BUYPASS", models+46, 1}, /* 17 */
|
||||
{"CRC-16/CCITT", models+16, 0}, /* 18 */
|
||||
{"CRC-16/CCITT-FALSE", models+21, 1}, /* 19 */
|
||||
{"CRC-16/CCITT-TRUE", models+16, 0}, /* 20 */
|
||||
{"CRC-16/CDMA2000", models+66, 1}, /* 21 */
|
||||
{"CRC-16/DARC", models+22, 0}, /* 22 */
|
||||
{"CRC-16/DDS-110", models+49, 1}, /* 23 */
|
||||
{"CRC-16/DECT-R", models+ 8, 1}, /* 24 */
|
||||
{"CRC-16/DECT-X", models+ 7, 1}, /* 25 */
|
||||
{"CRC-16/DNP", models+36, 1}, /* 26 */
|
||||
{"CRC-16/EN-13757", models+35, 1}, /* 27 */
|
||||
{"CRC-16/EPC", models+22, 0}, /* 28 */
|
||||
{"CRC-16/GENIBUS", models+22, 1}, /* 29 */
|
||||
{"CRC-16/I-CODE", models+22, 0}, /* 30 */
|
||||
{"CRC-16/IBM-SDLC", models+24, 0}, /* 31 */
|
||||
{"CRC-16/ISO-HDLC", models+24, 0}, /* 32 */
|
||||
{"CRC-16/LHA", models+47, 0}, /* 33 */
|
||||
{"CRC-16/MAXIM", models+48, 1}, /* 34 */
|
||||
{"CRC-16/MCRF4XX", models+23, 1}, /* 35 */
|
||||
{"CRC-16/RIELLO", models+19, 1}, /* 36 */
|
||||
{"CRC-16/SPI-FUJITSU", models+17, 0}, /* 37 */
|
||||
{"CRC-16/T10-DIF", models+57, 1}, /* 38 */
|
||||
{"CRC-16/TELEDISK", models+63, 1}, /* 39 */
|
||||
{"CRC-16/TMS37157", models+18, 1}, /* 40 */
|
||||
{"CRC-16/USB", models+51, 1}, /* 41 */
|
||||
{"CRC-16/VERIFONE", models+46, 0}, /* 42 */
|
||||
{"CRC-24", models+55, 1}, /* 43 */
|
||||
{"CRC-24/FLEXRAY-A", models+42, 1}, /* 44 */
|
||||
{"CRC-24/FLEXRAY-B", models+41, 1}, /* 45 */
|
||||
{"CRC-24/OPENPGP", models+55, 0}, /* 46 */
|
||||
{"CRC-3/ROHC", models+43, 1}, /* 47 */
|
||||
{"CRC-31/PHILIPS", models+12, 1}, /* 48 */
|
||||
{"CRC-32", models+ 6, 1}, /* 49 */
|
||||
{"CRC-32/AAL5", models+ 4, 0}, /* 50 */
|
||||
{"CRC-32/ADCCP", models+ 6, 0}, /* 51 */
|
||||
{"CRC-32/BZIP2", models+ 4, 1}, /* 52 */
|
||||
{"CRC-32/CASTAGNOLI", models+29, 0}, /* 53 */
|
||||
{"CRC-32/DECT-B", models+ 4, 0}, /* 54 */
|
||||
{"CRC-32/ISCSI", models+29, 0}, /* 55 */
|
||||
{"CRC-32/MPEG-2", models+ 3, 1}, /* 56 */
|
||||
{"CRC-32/POSIX", models+ 2, 1}, /* 57 */
|
||||
{"CRC-32C", models+29, 1}, /* 58 */
|
||||
{"CRC-32D", models+65, 1}, /* 59 */
|
||||
{"CRC-32Q", models+54, 1}, /* 60 */
|
||||
{"CRC-4/ITU", models+32, 1}, /* 61 */
|
||||
{"CRC-40/GSM", models+ 1, 1}, /* 62 */
|
||||
{"CRC-5/EPC", models+40, 1}, /* 63 */
|
||||
{"CRC-5/ITU", models+64, 1}, /* 64 */
|
||||
{"CRC-5/USB", models+31, 1}, /* 65 */
|
||||
{"CRC-6/CDMA2000-A", models+61, 1}, /* 66 */
|
||||
{"CRC-6/CDMA2000-B", models+26, 1}, /* 67 */
|
||||
{"CRC-6/DARC", models+44, 1}, /* 68 */
|
||||
{"CRC-6/ITU", models+13, 1}, /* 69 */
|
||||
{"CRC-64", models+37, 1}, /* 70 */
|
||||
{"CRC-64/WE", models+38, 1}, /* 71 */
|
||||
{"CRC-64/XZ", models+39, 1}, /* 72 */
|
||||
{"CRC-7", models+25, 1}, /* 73 */
|
||||
{"CRC-7/ROHC", models+62, 1}, /* 74 */
|
||||
{"CRC-8", models+ 9, 1}, /* 75 */
|
||||
{"CRC-8/AES", models+28, 0}, /* 76 */
|
||||
{"CRC-8/CDMA2000", models+60, 1}, /* 77 */
|
||||
{"CRC-8/DARC", models+34, 1}, /* 78 */
|
||||
{"CRC-8/DVB-S2", models+68, 1}, /* 79 */
|
||||
{"CRC-8/EBU", models+28, 1}, /* 80 */
|
||||
{"CRC-8/I-CODE", models+27, 1}, /* 81 */
|
||||
{"CRC-8/ITU", models+10, 1}, /* 82 */
|
||||
{"CRC-8/MAXIM", models+33, 1}, /* 83 */
|
||||
{"CRC-8/ROHC", models+11, 1}, /* 84 */
|
||||
{"CRC-8/WCDMA", models+59, 1}, /* 85 */
|
||||
{"CRC-82/DARC", models+14, 1}, /* 86 */
|
||||
{"CRC-A", models+20, 1}, /* 87 */
|
||||
{"CRC-B", models+24, 0}, /* 88 */
|
||||
{"CRC-CCITT", models+16, 0}, /* 89 */
|
||||
{"CRC-IBM", models+47, 0}, /* 90 */
|
||||
{"DOW-CRC", models+33, 0}, /* 91 */
|
||||
{"JAMCRC", models+ 5, 1}, /* 92 */
|
||||
{"KERMIT", models+16, 1}, /* 93 */
|
||||
{"MODBUS", models+50, 1}, /* 94 */
|
||||
{"PKZIP", models+ 6, 0}, /* 95 */
|
||||
{"R-CRC-16", models+ 8, 0}, /* 96 */
|
||||
{"X-25", models+24, 1}, /* 97 */
|
||||
{"X-CRC-12", models+52, 0}, /* 98 */
|
||||
{"X-CRC-16", models+ 7, 0}, /* 99 */
|
||||
{"XFER", models+ 0, 1}, /* 100 */
|
||||
{"XMODEM", models+15, 1}, /* 101 */
|
||||
{"ZMODEM", models+15, 0}, /* 102 */
|
||||
{NULL, NULL, 0}, /* terminating entry */
|
||||
{"ARC", models+47}, /* 0 */
|
||||
{"B-CRC-32", models+ 4}, /* 1 */
|
||||
{"CKSUM", models+ 2}, /* 2 */
|
||||
{"CRC-10", models+58}, /* 3 */
|
||||
{"CRC-10/CDMA2000", models+71}, /* 4 */
|
||||
{"CRC-11", models+45}, /* 5 */
|
||||
{"CRC-12/3GPP", models+53}, /* 6 */
|
||||
{"CRC-12/CDMA2000", models+70}, /* 7 */
|
||||
{"CRC-12/DECT", models+52}, /* 8 */
|
||||
{"CRC-13/BBC", models+69}, /* 9 */
|
||||
{"CRC-14/DARC", models+30}, /* 10 */
|
||||
{"CRC-15", models+56}, /* 11 */
|
||||
{"CRC-15/MPT1327", models+67}, /* 12 */
|
||||
{"CRC-16", models+47}, /* 13 */
|
||||
{"CRC-16/ACORN", models+15}, /* 14 */
|
||||
{"CRC-16/ARC", models+47}, /* 15 */
|
||||
{"CRC-16/AUG-CCITT", models+17}, /* 16 */
|
||||
{"CRC-16/BUYPASS", models+46}, /* 17 */
|
||||
{"CRC-16/CCITT", models+16}, /* 18 */
|
||||
{"CRC-16/CCITT-FALSE", models+21}, /* 19 */
|
||||
{"CRC-16/CCITT-TRUE", models+16}, /* 20 */
|
||||
{"CRC-16/CDMA2000", models+66}, /* 21 */
|
||||
{"CRC-16/DARC", models+22}, /* 22 */
|
||||
{"CRC-16/DDS-110", models+49}, /* 23 */
|
||||
{"CRC-16/DECT-R", models+ 8}, /* 24 */
|
||||
{"CRC-16/DECT-X", models+ 7}, /* 25 */
|
||||
{"CRC-16/DNP", models+36}, /* 26 */
|
||||
{"CRC-16/EN-13757", models+35}, /* 27 */
|
||||
{"CRC-16/EPC", models+22}, /* 28 */
|
||||
{"CRC-16/GENIBUS", models+22}, /* 29 */
|
||||
{"CRC-16/I-CODE", models+22}, /* 30 */
|
||||
{"CRC-16/IBM-SDLC", models+24}, /* 31 */
|
||||
{"CRC-16/ISO-HDLC", models+24}, /* 32 */
|
||||
{"CRC-16/LHA", models+47}, /* 33 */
|
||||
{"CRC-16/MAXIM", models+48}, /* 34 */
|
||||
{"CRC-16/MCRF4XX", models+23}, /* 35 */
|
||||
{"CRC-16/RIELLO", models+19}, /* 36 */
|
||||
{"CRC-16/SPI-FUJITSU", models+17}, /* 37 */
|
||||
{"CRC-16/T10-DIF", models+57}, /* 38 */
|
||||
{"CRC-16/TELEDISK", models+63}, /* 39 */
|
||||
{"CRC-16/TMS37157", models+18}, /* 40 */
|
||||
{"CRC-16/USB", models+51}, /* 41 */
|
||||
{"CRC-16/VERIFONE", models+46}, /* 42 */
|
||||
{"CRC-24", models+55}, /* 43 */
|
||||
{"CRC-24/FLEXRAY-A", models+42}, /* 44 */
|
||||
{"CRC-24/FLEXRAY-B", models+41}, /* 45 */
|
||||
{"CRC-24/OPENPGP", models+55}, /* 46 */
|
||||
{"CRC-3/ROHC", models+43}, /* 47 */
|
||||
{"CRC-31/PHILIPS", models+12}, /* 48 */
|
||||
{"CRC-32", models+ 6}, /* 49 */
|
||||
{"CRC-32/AAL5", models+ 4}, /* 50 */
|
||||
{"CRC-32/ADCCP", models+ 6}, /* 51 */
|
||||
{"CRC-32/BZIP2", models+ 4}, /* 52 */
|
||||
{"CRC-32/CASTAGNOLI", models+29}, /* 53 */
|
||||
{"CRC-32/DECT-B", models+ 4}, /* 54 */
|
||||
{"CRC-32/ISCSI", models+29}, /* 55 */
|
||||
{"CRC-32/MPEG-2", models+ 3}, /* 56 */
|
||||
{"CRC-32/POSIX", models+ 2}, /* 57 */
|
||||
{"CRC-32C", models+29}, /* 58 */
|
||||
{"CRC-32D", models+65}, /* 59 */
|
||||
{"CRC-32Q", models+54}, /* 60 */
|
||||
{"CRC-4/ITU", models+32}, /* 61 */
|
||||
{"CRC-40/GSM", models+ 1}, /* 62 */
|
||||
{"CRC-5/EPC", models+40}, /* 63 */
|
||||
{"CRC-5/ITU", models+64}, /* 64 */
|
||||
{"CRC-5/USB", models+31}, /* 65 */
|
||||
{"CRC-6/CDMA2000-A", models+61}, /* 66 */
|
||||
{"CRC-6/CDMA2000-B", models+26}, /* 67 */
|
||||
{"CRC-6/DARC", models+44}, /* 68 */
|
||||
{"CRC-6/ITU", models+13}, /* 69 */
|
||||
{"CRC-64", models+37}, /* 70 */
|
||||
{"CRC-64/WE", models+38}, /* 71 */
|
||||
{"CRC-64/XZ", models+39}, /* 72 */
|
||||
{"CRC-7", models+25}, /* 73 */
|
||||
{"CRC-7/ROHC", models+62}, /* 74 */
|
||||
{"CRC-8", models+ 9}, /* 75 */
|
||||
{"CRC-8/AES", models+28}, /* 76 */
|
||||
{"CRC-8/CDMA2000", models+60}, /* 77 */
|
||||
{"CRC-8/DARC", models+34}, /* 78 */
|
||||
{"CRC-8/DVB-S2", models+68}, /* 79 */
|
||||
{"CRC-8/EBU", models+28}, /* 80 */
|
||||
{"CRC-8/I-CODE", models+27}, /* 81 */
|
||||
{"CRC-8/ITU", models+10}, /* 82 */
|
||||
{"CRC-8/MAXIM", models+33}, /* 83 */
|
||||
{"CRC-8/ROHC", models+11}, /* 84 */
|
||||
{"CRC-8/WCDMA", models+59}, /* 85 */
|
||||
{"CRC-82/DARC", models+14}, /* 86 */
|
||||
{"CRC-A", models+20}, /* 87 */
|
||||
{"CRC-B", models+24}, /* 88 */
|
||||
{"CRC-CCITT", models+16}, /* 89 */
|
||||
{"CRC-IBM", models+47}, /* 90 */
|
||||
{"DOW-CRC", models+33}, /* 91 */
|
||||
{"JAMCRC", models+ 5}, /* 92 */
|
||||
{"KERMIT", models+16}, /* 93 */
|
||||
{"MODBUS", models+50}, /* 94 */
|
||||
{"PKZIP", models+ 6}, /* 95 */
|
||||
{"R-CRC-16", models+ 8}, /* 96 */
|
||||
{"X-25", models+24}, /* 97 */
|
||||
{"X-CRC-12", models+52}, /* 98 */
|
||||
{"X-CRC-16", models+ 7}, /* 99 */
|
||||
{"XFER", models+ 0}, /* 100 */
|
||||
{"XMODEM", models+15}, /* 101 */
|
||||
{"ZMODEM", models+15}, /* 102 */
|
||||
{NULL, NULL }, /* terminating entry */
|
||||
};
|
||||
# define NALIASES 103
|
||||
|
||||
|
@ -520,7 +520,7 @@ static const struct mpreset models[] = {
|
|||
# define NPRESETS 0
|
||||
|
||||
static const struct malias aliases[] = {
|
||||
{NULL, NULL, 0}, /* terminating entry */
|
||||
{NULL, NULL }, /* terminating entry */
|
||||
};
|
||||
# define NALIASES 0
|
||||
|
||||
|
@ -587,7 +587,7 @@ int
|
|||
mbynam(model_t *dest, const char *key) {
|
||||
/* Sets parameters in dest according to the model named by key.
|
||||
*/
|
||||
struct malias akey = {NULL, NULL, 0}, *aptr;
|
||||
struct malias akey = {NULL, NULL}, *aptr;
|
||||
char *ukey, *uptr;
|
||||
|
||||
if(!aliases->name)
|
||||
|
@ -615,7 +615,7 @@ mbynum(model_t *dest, int num) {
|
|||
/* Sets parameters in dest according to the model indexed by num. */
|
||||
if(num > NPRESETS)
|
||||
num = NPRESETS;
|
||||
munpack(dest, models+num);
|
||||
munpack(dest, num+models);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -635,7 +635,8 @@ mnames(void) {
|
|||
const struct malias *aptr = aliases;
|
||||
|
||||
while(aptr->name) {
|
||||
if(aptr->isprimry)
|
||||
if(aptr->name == aptr->model->name
|
||||
|| !strcmp(aptr->name, aptr->model->name))
|
||||
size += strlen(aptr->name) + 1;
|
||||
++aptr;
|
||||
}
|
||||
|
@ -644,7 +645,8 @@ mnames(void) {
|
|||
aptr = aliases;
|
||||
sptr = string;
|
||||
while(aptr->name) {
|
||||
if(aptr->isprimry) {
|
||||
if(aptr->name == aptr->model->name
|
||||
|| !strcmp(aptr->name, aptr->model->name)) {
|
||||
strcpy(sptr, aptr->name);
|
||||
sptr += strlen(aptr->name);
|
||||
*sptr++ = '\n';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* poly.c
|
||||
* Greg Cook, 9/Apr/2015
|
||||
* Greg Cook, 29/Jul/2015
|
||||
*/
|
||||
|
||||
/* CRC RevEng, an arbitrary-precision CRC calculator and algorithm finder
|
||||
|
@ -21,7 +21,8 @@
|
|||
* along with CRC RevEng. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* 2015-04-03: added direct mode to strtop()
|
||||
/* 2015-07-29: discard leading $, &, 0x from argument to strtop()
|
||||
* 2015-04-03: added direct mode to strtop()
|
||||
* 2014-01-11: added LOFS(), RNDUP()
|
||||
* 2013-09-16: SIZE(), IDX(), OFS() macros bitshift if BMP_POF2
|
||||
* 2013-02-07: conditional non-2^n fix, pmpar() return mask constant type
|
||||
|
@ -211,6 +212,15 @@ strtop(const char *string, int flags, int bperhx) {
|
|||
if(bperhx > BMP_BIT || bperhx <= 0 || string == NULL || *string == '\0')
|
||||
return(poly);
|
||||
|
||||
if(~flags & P_DIRECT) {
|
||||
if(*string == '$' || *string == '&')
|
||||
++string;
|
||||
else if(*string == '0'
|
||||
&& (string[1] == 'x' || string[1] == 'X'))
|
||||
string += 2;
|
||||
}
|
||||
length = (*string != '\0');
|
||||
|
||||
for(pass=0; pass<2 && length > 0UL; ++pass) {
|
||||
s = string;
|
||||
length = 0UL;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* reveng.h
|
||||
* Greg Cook, 9/Apr/2015
|
||||
* Greg Cook, 30/Jul/2015
|
||||
*/
|
||||
|
||||
/* CRC RevEng, an arbitrary-precision CRC calculator and algorithm finder
|
||||
|
@ -92,7 +92,7 @@
|
|||
/* Global definitions */
|
||||
|
||||
/* CRC RevEng version string */
|
||||
#define VERSION "1.3.0"
|
||||
#define VERSION "1.3.1"
|
||||
|
||||
/* bmpbit.c */
|
||||
typedef BMP_T bmp_t;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue