The correct answer is B. inveterate.
An inveterate person is someone who is habitually bad or addicted to something. In this case, the boy is habitually bad and a constant source of trouble to his mother.
The other options are incorrect because:
- A truant is a person who stays away from school without permission.
- A rash person is someone who acts without thinking.
- A dishonest person is someone who is not truthful.
I hope this helps!