I would recommend the PAUP* package. It is not free ($85 when I purchased mine 2 years ago), but it is easy to use and offers a wide variety of programs and parameters with which to analyze data (nucleotide, protein, or morphological (coded)).
Ned asked how such data is used to generate trees.
In short, parsimony and likelihood algorithms analyze the data for patterns of nucleotide substitution. Indeed, the degree of similarity is ignored in such programs for identical nucleotide/amino acid sites are irrelevant.
Distance methods do use 'similarity', but I do not use such methods much.
Amino acid sequence data is not used in phylogentic analyses nearly as much as it used to be for a couple of reasons - DNA data can provide at least 3 times the phylogenetic informton that amino acid sequence data can (hypothetically, providing we are only using protein coding sequence).
Of course, non-coding DNA is usually much more phylogenetically informative in that it can accumulate more substitutional change than can conserved sequence (such as protein coding sequence).
Making up the input files for these programs can be tedious and frustrating. PAUP, for example, will produce an error message if you have misplaced punctuation (certain symbols are used in tghe input files - e.g., a ";" is used to denote the end of a data block) but it will not tell you where the missing symbol is (at least the earlier versions did not - I think the new one does).
Someone had mentioned making plain text files - that usually works.
I am pretty lazy, so when I am making a new input file, I usually just use an old one that I know works and cut and paste the new data into it.
As for the supposed anomalous trees using cytochrome C and B, immediately the use of amino acid data tells me not to put much stock in it, plus the fact that as has been mentioned, they represent only two small loci (mitochondrial loci at that, which are known to in genral mutate faster than nuclear genes).