The first thing, and probably teh hardest part, is to try to keep a positive attitude about him. If you think of him as "bad" and a "devil", and especially if you refer to him as such within his hearing, it's going to make things that much harder. It's hard for a kid to try to behave when they're conditioned to think of themselves poorly, however unintentionally.
He may want to have more voice about what's going on. Sounds like he's a smart cookie. It might help to reevaluate what you're allowing him to do and what is off-limits. If he asks for or does something that you have to put your foot down about, be sure to give him a good reason that he can understand. Even "because it's dangerous" is a much better answer than "because I said so."
What manner of discipline are you using? I think it's important to stick to logical or natural consequences to the thing he's doing. If he slams a toy around roughly, you take that toy away, you don't send him to his room or take dessert away because those have nothing to do with what he did. Try to avoid yelling or berating him. The things you say will have more of an impact if you use a calm, firm tone. And it probably goes without saying, but you should never strike or use physical punishment.