none
Usando WriteProcessMemory? RRS feed

  • Pregunta

  • Hola, bueno creo que esta pregunta va un poco desubicada, pero de igual manera deseo hacerla.

    Hace poco estuve investigando sobre el uso e APIS y encontre esta "Peligrosa" API de windows que segun algunos es peligrosa.

    Yo no le veo nada de peligroso, solo la veo como una utilidad como para crear un editor hexadecimal (woho lo que deseo hacer).

    Como dije arriba, deseo hacer un editor hexadecimal (cambiar valores en procesos ejecutados), esto me sirve para cambiar valores digamos asi al explorer.exe u otros procesos para miles de fines.

    estuve averiguando un poco (aparte de la ayuda que obtuve aqui en la MSDN, y encontre que si se puede usar esta api para lo que yo quiero.

    ahora mi pregunta es:

    ¿Cómo?, si, como podre yo usar esta api en procesos que no dejan, he aqui mas detallada mi explicacion.

    Existe un proceso llamemosle "Tester.exe", el cual lanza un hook a las APIS de edicion de procesos "WriteProcessMemory" lo que no me permite modificar un "pedazo de memoria" como me dijeron anteriormente.

    mi pregunta es, puedo crear yo alguna aplicacion, driver, dll o funcion que le otorgue a mi programa los permisos suficientes para hacerlo, es decir "unhookear esta api" para asi poder cambiar los valores en el bloque de memoria?.

    me imagino que si es posible, pues no solo es un proceso el que me lo prohibe son varios y me he de imaginar que si puedo unhookear la api para el Tester.exe ha de hookearse automaticamente para los demas procesos que la tiene hookeada.

    antes de que salgan con comentarios como "Voz lo que sos es un idiota lo que quieres es crear un virus" les agradeceria que se callaran si fuese un virus me iria a un foro de hackers, foro.elhacker me podrían ayudar. pero como no busco crear virus sino permisos para mi programa entonces busco ayuda aqui con los professionales.

    Gracias si alguien me entendio, sino me lo puede decir y con gusto trataré de ser más explicito.

    Perdonen mi ortografía pues no tengo mucho tiempo para estar con el cuidado de estar colocando "acentos" "comas" "puntos" "mayusculas" bla bla..
    Hasta pronto espero me puedan ayudar!.
    • Tipo cambiado FunHouse viernes, 2 de octubre de 2009 4:51 Equivocacion!
    viernes, 2 de octubre de 2009 4:50

Respuestas

  • No te iba a responder por tu tono... aunque lo que te responda no te va a gustar.

    Para usar esa función necesitas tener permisos de escritura en el proceso donde quieres escribir. ¿Cómo? Pues porque has creado tu mismo un subproceso con permisos de compartición, actuas como SYSTEM (eres un driver del núcleo, por ejemplo), etc.

    Lo que no puedes hacer es que tu proceso tenga un nivel de seguridad inferior y usar la función para uno superior, nunca jamás, y menos en Vista o en Windows 7 o lo que venga después.

    Busca algo sobre "saltar la barrera del proceso", privilegios y tokens de seguridad.

    Normalmente ante procesos de igual nivel de seguridad, puedes insertar una DLL en el espacio de direcciones de la otra aplicación y acceder a su memoria.

    Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/
    miércoles, 14 de octubre de 2009 11:45
    Moderador