1 votes

Existe-t-il un émulateur x86 ou x64 qui renvoie les appels système à l'API Windows ?

Je veux émuler des programmes Windows (pas une VM, une véritable émulation) sous Windows. Cela nécessiterait que l'émulateur fasse des appels aux API du système, mais le programme lui-même serait émulé. La raison en est que je veux changer les formats d'opcode à des fins de recherche.

Le processus devrait être :

  1. Prendre le programme existant.

  2. Démonter puis remonter avec mes nouveaux formats d'opcode.

  3. Mettre le nouveau format dans le PE avec un stub appelant l'émulateur et passant le nouveau code.

  4. L'émulateur devrait renvoyer les appels système du côté émulé aux appels de l'API Windows.

Je peux faire toutes ces étapes, sauf que j'ai besoin d'un émulateur open source avec la possibilité de passer les appels API. Je pourrais essayer Bochs ou QEMU, mais je pense que je devrais ajouter les appels système, ce que je pourrais faire si nécessaire. Je me demande s'il existe déjà quelque chose de plus proche de ce dont j'ai besoin.

Je sais que je devrais modifier le décodage des instructions dans l'émulateur pour qu'il corresponde à mes nouveaux formats, mais c'est une évidence.

Merci.

0voto

Aaron Altman Points 773

Voulez-vous changer le format de chaque opcode dans le programme cible ? Si vous le faites au moment de l'exécution, vous pouvez utiliser la méthode suivante Broche en mode d'instrumentation des instructions. Documentation pour la modification des instructions : http://www.pintool.org/docs/39028/Pin/html/ .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X