No, the law is imperfect because it is written by men and women who are not infallible. Also, laws are often interpreted much differently than the original writers intended them to be, which is why we have the Supreme Court.
Opinions and interpretations can also change over time due changes in our culture, and it often takes many years for a law that is unjust to be changed.
Still, we are fortunate to live in a country where there is at least a means to address injustice and try to right it.
The Civil Rights Movement was a time when many fought against injustice in acts of civil disobedience. It takes much bravery to engage in an act of civil disobedience so I respect those kinds of protests.
As some others in this forum have already pointed out, lawyers are sworn to follow the exact letter of the law, regardless of whether they believe the law is just or unjust and whether their client is guilty or innocent. Sometimes this means they help the innocent go free and they are able to play a role in getting an unjust law off the books, but I don't think that happens very often.
This was a great, thought provoking question. Thanks for posting it.