Not sure if this is the right place so please point me to the right place if needed.

I have an input of a VIN (Vehicle Identification Number) number with 17 characters, each character is either an uppercase letter or number.

The input is then encoded into 24 signed integers, the integers go from -128 to +127.

There doesn't seem to be any direct linear relationship between the two.

Does anyone know what this encoding might be? Or, how I should go about trying to reverse engineering it?

An example is:
Input: 1D8HB58D04F177301 Output:-2|-72|-11|-2|18|100|-69|15|93|120|15|-97|-35|52|85|-114|53|-123|-1|-101|-38|125|-100|113

I have access to a dataset mapping the inputs to outputs and also a tool that converts an encoding (24 integers) into a VIN

Inexperienced with this so any help is greatly appreciated!

  • Yes that's correct, also edited the post to clarify
    – Andrew Xia
    Jul 10 '19 at 11:23
  • net is full of vin decoders your 1dxxxxxx vin is 2004 DODGE Durango says decodethevin.com Wikipedia has lots of info on what is what en.wikipedia.org/wiki/Vehicle_identification_number
    – blabb
    Jul 10 '19 at 11:38
  • Just to clarify, the idea isn't to decode what a VIN represents. Instead, it's to understand how the VIN is being encoded into that 24 number representation in the dataset I am working with
    – Andrew Xia
    Jul 10 '19 at 12:01
  • well analyze the tool that you have in hand with whatever tool you are comfortable with say radare / ghidra / ida / windbg / ollydbg / gdb as is this is too broad to attempt to answer narrow down the scope
    – blabb
    Jul 10 '19 at 12:21
  • Unfortunately the tool is hosted therefore the actual logic is happening server-side. Really I was checking to see if there was some obvious manipulation of the bits that would yield the encoding
    – Andrew Xia
    Jul 10 '19 at 19:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.