Faits: A. A._ a déposé plainte pénale le 29 avril 2012 contre B._, auquel elle reproche de l'avoir agressée le soir du 28 avril 2012. Le 28 septembre 2012, elle a requis l'assistance judiciaire, motifs pris de son indigence et de la difficulté de l'affaire. Le 26 octobre 2012, le Ministère public a rejeté la demande de défense d'office, retenant que l'action civile était vouée à l'échec, compte tenu notamment d'une expertise médicale concluant à une auto-agression de la plaignante. B. Par arrêt du 29 novembre 2012, la Chambre pénale de recours de la Cour de justice de la République et canton de Genève a rejeté le recours de A._ contre la décision du Ministère public. Elle a considéré que l'action civile paraissait vouée à l'échec et que les faits, s'agissant d'une agression, même contestée, ne présentaient aucune difficulté. C. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral d'annuler l'arrêt cantonal et de lui accorder le bénéfice de l'assistance judiciaire, subsidiairement de renvoyer la cause à la Cour de justice pour nouvelle décision dans le sens des considérants. Elle requiert en outre l'assistance judiciaire pour la présente procédure. La Cour de justice se réfère à son arrêt. Le Ministère public conclut au rejet du recours. 