I believe both are legitimately injured. Malkin actually missed the last game they played, and Crosby is expected to miss at least one game when the season resumes. Crosby has only attended 1 out of 10 all-star games, as i mentionned previously. But to be fair, he's had a ton of injuries to deal with during his young career.
Many experts & media people say that players owe the league & its sponsors their presence at the all-star game. They say that players want to be equal partners with the owners in the collective bargaining agreement. So they need to do their part also in order to sell the game.
However, most former players i've seen say that if it was up to them, they'd skip it and enjoy the time off. I have to agree with them. The season is already too long and they play way too many games. Most of the players play with injuries in one form or another throughout the season and their bodies need to rest. Kudos to Phil Kessel for attending the all-star weekend considering how his season has been going in Toronto. I'm sure he'd rather be home with his family or somewhere else relaxing & enjoing the time away from the NHL-grind right now. But the classy guy that he is, he answered the call & is spending the weekend in Columbus.