It is not permissible to do business with cigarettes, drugs and other forbidden things, because it is from the wicked things and due to what it contains of physical, spiritual and financial harm. If the person wants to give charity or perform Hajj or spend his money in acts of righteousness, he should seek to the good from his wealth to give charity with or perform Hajj with or spend in acts of righteousness.
This is due to the generality of Allah's Statement:O you who believe! Spend from the good things that you have (legally) earned and from what we have proved for you from the earth. And do not aim at that which is bad to spend it, (though) you would not accept it except if you close your eyes and tolerate therein.
And also the Prophet's statement: Verily, Allah is good and He only accepts good. 
1.Al-Baqarah 267 2.Muslim no. 1015