Does brute force attack use the program that created the ciphertext?
Brute force attacks are usually implemented in custom hardware or software for maximum performance.

Obviously the method of encryption must be determined before the attack can be implemented. The encryption method can be determined in several ways:


It's publicly available e.g. open source code, or open specification
It's secret and gets leaked by someone with access to insider information
It's reverse-engineered e.g by diassembling the application