you need to be eating a sufficient amount of calories!!!
especially if you arent metabolizing a lot of what you eat because of indigestion. are your bowel movements well formed brown without peices of undigested food? if not you need to work first of all on sufficient stomach acid and enzyme secretion. bitters and/or betaine HCL will help.
what really helped me, was to get proper digestion, to practice food combining, and to thereby discover and stop eating foods that cause bad reactions. sometimes it is combinations of foods that cause reactions and separatly they can be eaten. now that my stomach acid is sufficient to digest nut proteins, as i have done proper combining for a long time-i can again tolerate best cashews and pecans though other nuts i still react to...but i didnt eat them for 3 months almost.
food needs to be properly broken down by acid before it leaves the stomach. i find that if i dont properly food combine, i get poor digestion and all of my problems start there. it may be the same for you.
depending on where you are you might also be intolerant to sauerkraut and probiotics, i was for a long time. but now as long as it has no vinegar im ok. intolerance of these can also cause food cravings, but starting with a small dose and slowly working up should help.
if you are feeling hung over--that points to auto intoxication by fermentation in the gut. and this can cause all sorts of problems and needs to be ended soon as possible.
get your stomach acid up. avoid starches as best you can until you are confident your digestion is working well- then slowly work them back in starting with legumes... include probiotics and also low Sugar fruits (eaten alone on empty stomach (morning/afternoon/ night) 20 minutes before meals (follow with some water). i know the fruit has passed my stomach when i pee.) then i know its okk to eat a meal. fruit will help alleiviate constipation and avoid processed Sugar cravings!