The prefix "ob-" adds the meaning of "against" or "in the way of".
So, "obnoxious" literally means "harmful or offensive".