What are the differences between 违犯 and 违反?
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.