Both 违犯 and 违反 share the meaning "to violate".
What are the differences between these two?
Chinese Language Stack Exchange is a question and answer site for students, teachers, and linguists wanting to discuss the finer points of the Chinese language. It only takes a minute to sign up.Sign up to join this community
Longman Advanced Chinese Dictionary has a footnote on their entry for 違背 which explains the differences:
wéi bèi / wéi fǎn / wéi fàn
All three are verbs. They all basically carry the same meaning but「違反」and「違犯」are stronger.「違反」emphasizes the idea of falling short of, while 「違犯」emphasizes the action of going against.「違犯」is more specific and its scope of usage is more limited in comparison to「違反」.
You might also notice that 犯 is used in instances like breaking the law, where as 反 is just doing the opposite of something and is often used as the prefix: counter-.
Longman also provides some examples of usages:
[To] break the law.
[To] go against [one's] principles.