10
votes

Comment puis-je écrire sur une autre mémoire de processus?

J'ai une adresse que je voudrais modifier. J'ai le processus. J'ai la nouvelle valeur. Alors maintenant, quoi? XXX

Comment puis-je écrire 0x63 (99) à cette adresse sur une autre mémoire de processus?


1 commentaires

N'EST L'UTILISATEUR VAR ADDR ... Il est par défaut à int . Utilisez intPTR à la place.


4 Réponses :



0
votes

Vous pouvez utiliser ÉLIMELESSMEMORY Mais sachez que vous devez activer les privilèges de débogage et qu'il ne fonctionnera pas avec beaucoup de processus sécurisés à Vista et plus tard.

Et que vous vous tiriez probablement dans le pied et vous écrasez quelques fois de choses. Je suggère que vous n'ayez pas de programmes importants en cours d'exécution lorsque vous faites cela.

bonne chance, vous en aurez besoin. :)


0 commentaires

13
votes

@Harvey, de votre réponse, j'ai déterré et trouvé beaucoup:

Ouvrir, fermer et écrire des signatures: p> xxx pré>

drapeaux: p>

static void Main(string[] args)
{
    var p = Process.GetProcessesByName("ePSXe").FirstOrDefault();

    WriteMem(p, 0x00A66DB9, 99);
}


4 commentaires

Euh ... Puis-je vous suggérer que vous n'avez jamais, jamais Utilisez à nouveau int pour représenter une adresse mémoire? Merci. :)


Je suis trop paresseux pour taper intPTR , mais je garderai ça à l'esprit: p


Vous avez oublié de fermerHeDle () dans Writemem ()


Vous voudrez peut-être aussi vérifier la valeur de retour de l'écritureProcessmemorior () que TomTom a souligné qu'il nécessite en effet un privilège de le faire. Si vous n'avez pas assez de privilège, vous devrez peut-être appeler RightokenPrivilege.



4
votes

malgré des fonctions natives P / invoquées telles que écritureProcessmemory fonctionne parfaitement, les bibliothèques dédiées à la montage de la mémoire existent et vous permettent d'accomplir cette tâche de manière plus facile.

Utilisation de la bibliothèque MichelySharp , ceci peut être résumé comme suit: xxx

Le code précédent suppose L'adresse où la valeur est écrite n'est pas rebasée.


0 commentaires