I think that the only way you can try is the Bruteforce method. There are many tools that can do the job but it's a really bad/long/... solution.
On linux, you can try Rarcrack.
rarcrack archive_encrypted.ext [--threads thread_num] [--type rar|zip|7z]
According to the documentation :
Everything in  are optional, rarcrack default crack two threads and autodetect the archive type. If the detection wrong you can specify the correct file type with the type parameter. RarCrack currently crack maximum in 12 threads.
After the cracking started RarCrack will print the current status of cracking and save it's to a status file. If you want more specific password character set, you need to run RarCrack to create the XML status file (3 sec).
<?xml version="1.0" encoding="UTF-8"?>
This is a sample XML file, and you see there is a character set. If you want, you can modify this file and when you start RarCrack again the program will be use new variables.
Warning: Take care when you changing this file, make sure the current password don't have characters outside the abc[character set]!