well, i only used two programs: arcrypt and notepad
arcrypt, for decrypting codes (you don't need this if the codes you need is in unencrypted codebreaker format or raw format)
notepad, for making the cht file
as for the process, i just followed what was in m3wiki:
1. get codes
2. if codes are in unencrypted cb format or raw format, skip to step 4, otherwise continue to step 3
3. use arcrypt to convert the codes to raw format
4a. convert them like so
a. unencrypted cb
8200xxxx yyzz -> 0xxxx,zz,yy (just delete the first 3 digits then invert the places of yy and zz separated by commas)
or
8300xxxx yyzz -> 4xxxx,zz,yy (same as above except replace the 4th digit with a 4)
or
3200xxxx 00zz -> 0xxxx,zz (same as code type 820 except there is no yy) (those with code type 3200xxxx yyzz aren't supported i think)
or
3399xxxx 00zz -> 4xxxx,zz (same as code type 830)
b. raw
0220xxxx 0000yyzz -> 0xxxx,zz,yy (same as above)
4b. for multiline codes, just separate them by semicolons
0xxxx,zz,yy;0xxxx,zz,yy
5. type them up in notepad like so:
[name of code]
ON=0xxxx,zz,yy
6. save it up as "filename.cht"
note: either some code types are not supported or are not yet known how to be converted
note 2: ON can be anything actually, it's just a convention (ON, OFF)
note 3: somebody correct me if i made mistakes
edit: added "the process"