he “Hero” in Name Only
These anti-heroes fight on the side of good, but they have no good motivation. Either their intentions are completely selfish, and they only happen to be pointing their weapons at the token bad guys, or their motivations are only slightly less terrible than the villains’. Sometimes they’re just bored and need someone to point a gun at. You’ll still root for them, but you won’t agree with a lot of the ways they do things.
Sherlock Holmes in the BBC’s re-imagining of the character is an example, since he explicitly describes himself as a high-functioning sociopath and makes it clear that he only takes on cases that he finds mentally stimulating. Dexter of the TV series of the same name walks the line between this and a villain protagonist.