Faits: A. Le 16 juin 2011, A._ a déposé plainte pénale à Genève pour soustraction de données (art. 143 CP), en raison du piratage de son compte de télécommunications qui aurait permis à des personnes non identifiées de passer des appels à ses frais, du 20 au 23 décembre 2010. La facture pour le mois de décembre 2010 était de 14'537 fr., alors que d'habitude elle s'élevait en moyenne à 2'000 fr. Par ordonnance du 10 octobre 2011, le Ministère public du canton de Genève a refusé d'entrer en matière. Selon le rapport de police du 3 octobre 2011, les auteurs du piratage avaient probablement masqué leurs adresses IP d'origine en utilisant un serveur proxy. Ils n'avaient pas pu être identifiés et n'avaient quasiment aucune chance de l'être. La procédure pourrait être reprise en cas de découverte de nouveaux moyens de preuve ou de faits nouveaux. B. Par arrêt du 16 décembre 2011, la Chambre pénale de recours de la Cour de justice genevoise a confirmé cette décision. Le Ministère public pouvait refuser d'entrer en matière, même après avoir demandé une enquête par la police. La découverte des auteurs du piratage nécessitait des actes d'instruction à l'étranger et les chances de succès étaient insuffisantes. C. Par acte du 1er février 2012, A._ forme un recours en matière pénale par lequel elle conclut à l'annulation de l'arrêt cantonal et de l'ordonnance de non-entrée en matière, et demande que l'ordre soit donné au Ministère public d'ouvrir une enquête et d'accorder à la recourante l'accès au dossier ainsi que le droit d'offrir des preuves. La Chambre pénale se réfère aux considérants de son arrêt. Le Ministère public conclut au rejet du recours.