# Custom charset in RainbowCrack

by Zhu Shuanglei <shuanglei@hotmail.com>
http://www.antsight.com/zsl/rainbowcrack/

## 1. Introduction

Begin with version 1.1, custom charset is supported in RainbowCrack. In this article, we will describe how to generate and use your rainbow tables with customized charset.

## 2. Prepare your charset configuration file

In binary distribution of RainbowCrack, there is a file with the name "charset.txt". This is the charset configuration file of RainbowCrack.
Content of the file looks like this:

alpha = [ABCDEFGHIJKLMNOPQRSTUVWXYZ] alpha-numeric = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] alpha-numeric-symbol14 = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=] all = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/]

Each line contains a charset definition. To the left of character "=" is the charset name while the charset content in the right. Charset content is quoted by "[" and "]" in case space may appear in the charset content.
For example, we want a charset definition of alpha and space. Just add a line to the configuration file:

alpha-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ ]

Note: Don't use charset other than alpha, number and "-" in charset name. Because we store the charset name in the filename of generated rainbow table, this convention properly avoid the "invalid filename" situation.

File "charset.txt" in binary distribution is ready to work. In most situations you needn't modify it, unless you need a custom charset.

Earlier versions of RainbowCrack (version 1.0 and 1.01) support charset "alpha" and "alpha-numeric" only. They don't use a charset configuration file. Charset definitions are hard coded in the programs.

## 3. Use charset configuration file

Configuration file "charset.txt" is used by rtgen.exe and rcrack.exe.

You can specify the required charset name in the command parameter of rtgen.exe. For example(in RainbowCrack 1.2):

rtgen lm alpha-space 1 7 0 100 16 test

This will generate a rainbow table named "lm_alpha-space#1-7_0_100x16_test.rt" with charset "ABCDEFGHIJKLMNOPQRSTUVWXYZ ", which is specified in charset.txt.

Program rcrack.exe will parse the file title for the charset name, search the charset content in the configuration file and use the corresponding charset to decode the rainbow table.

Note: When a rainbow table of a certain charset name is generated, don't modify the corresponding entry in configuration file. Without the help of charset definition in configuration file, the generated rainbow table will become garbage.

Create date: 2003/9/18
Revised: 2003/11/21