Hexidecimal is a base-16 number system. Its characters are 0 to 9 then A to F. Thus, ’10’ in decimal is ‘A’ in hexidecimal, ’15’ in decimal is ‘F’ in hexidecimal and ’16’ in decimal is ’20’ in hexadecimal. Hexidecimal numbers are prefixed with 0x to differentiate them from other number systems.
Many early cracking methods could be done with a hex editor such as AXE (http://www.softpile.com/Development/Editors-and-IDEs/Review-03080-index.html) or Freeware Hex Editor (http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm). A few basic edits could allow a program to be run. Some cracks are still done using Hex Editor but most have grown more complex.
Converting a hexidecimal value into a decimal one is simple (the same method applies to all number systems):
- number each place in the source number, right to left, starting at zero.
- multiply the equivilent decimal value of each place by the base (in this case 16), raised to the number of the place
- sum each result
For example, say we have 0x5AC as our hexidecimal value.
- C is in the 0th place, and is equivilent to 12 in decimal so we have: 12*16^0 = 12
- A is in the 1st place, and is equivilent to 10 in decimal so we have: 10*16^1 = 160
- 5 is in the 2nd place, and is equivilent to 5 in decimal so we have: 5*16^2 = 1280
So, 0x5AC = 1280 + 160 + 12 = 1452
TakeDown.NET -> “Hexadecimal”