I am not sure what you are talking about, because encoding and cracking are completely different things, yet you throw them in there as if they belong together.
Help me out. What kind of programs do you mean, what is their purpose? Do you have an example?
And to be clear: This is what I understand by an encoding program:
https://www.base64decode.org/Cracking program is ambiguous. It could be a debugger, because that's what people use to crack games etc, it could be a hash cracker, or an analysis program that helps cracking encrypted messages.