Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 01-24-2020, 11:39
chants chants is offline
VIP
 
Join Date: Jul 2016
Posts: 836
Rept. Given: 47
Rept. Rcvd 52 Times in 32 Posts
Thanks Given: 742
Thanks Rcvd at 1,148 Times in 531 Posts
chants Reputation: 52
Hi CZC, is there a name for the polynomial finding tool? Also can you tell us for CRC-N bits how many CRC of N bits are needed to recover the polynomial and what if there are more or less bits input into CRC function does it change this requirement? For N to N bit mapping I suppose only 1 CRC value determines it, or less than N bits due to 1 to 1 mapping. But if CRC of large data, due to collisions or seems each extra bit adds a power of 2 more values needed to determine it. Anyway, this is interesting enough that it sounds you have a tool to make it easily done.

Also for questioners asking for mapping functions, remember to provide huge amounts of values or white box info if not absolutely sure. Because even CRC with an XOR which flips some bits of the result would likely throw off any ordinary detection. E.g. CRC16 ^ 0x1f1f. But as part of protocol reversing it would be nice to have powerful numeric identification tools where computation is all done server side. Of course no guarantee server is not using random numbers and tracking them with a database but it's more expensive to do such overkill solutions.

Last edited by chants; 01-24-2020 at 11:45.
Reply With Quote
  #2  
Old 01-25-2020, 13:06
CZC CZC is offline
Family
 
Join Date: Jul 2018
Posts: 34
Rept. Given: 0
Rept. Rcvd 38 Times in 5 Posts
Thanks Given: 5
Thanks Rcvd at 160 Times in 21 Posts
CZC Reputation: 38
Quote:
Originally Posted by chants View Post
Hi CZC, is there a name for the polynomial finding tool? Also can you tell us for CRC-N bits how many CRC of N bits are needed to recover the polynomial and what if there are more or less bits input into CRC function does it change this requirement?
When bruteforcing, the program finds all possible polynomials. You then narrow them down if you have several examples.

At some point in the past I was using CRCs a lot in microcontrollers and I decided to write my own tool for that.

The source code is attached, it compiles in linux and windows as a command line program.

You can use shortcuts like using hex or strings directly on the command line.
Code:
CRC generator V1.4 $

./getcrc [options] file(s)
        -z #    polynom size
        -p #    CRC polynom
        -r      reverse polynom
        -m      mirror (reflect) data
        -n      non-direct init value
        -i #    initial value
        -e #    exit value
        -c      reverse CRC
        -a      all known CRCs
        -b #    bruteforce to target CRC
        -v      verbose bruteforce
        -s      interpret filename as a string
        -f      interpret filename as a hex string
        -C      check CRC values for the "123456789" input
        -t      trace CRC generation
        -T      dump CRC table and exit
Attached Files
File Type: zip getcrc.zip (22.1 KB, 10 views)
Reply With Quote
The Following 3 Users Say Thank You to CZC For This Useful Post:
Abaddon (01-25-2020), besoeso (01-28-2020), chants (01-26-2020)
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to reverse set top box of TV suddenLy General Discussion 4 12-11-2014 22:37
Audio API Reverse obfuscator General Discussion 3 11-26-2014 18:53


All times are GMT +8. The time now is 04:42.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( Since 1998 )