Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: cobein en 3 Diciembre 2008, 01:33 am



Título: Change PE Entry Point [SRC]
Publicado por: cobein en 3 Diciembre 2008, 01:33 am
Bueno, aca les dejo un modulo para cambiar el OEP de un programa, lo podran utilizar como base para hacer un crypter, infectar archivos o hacer los UD.

http://www.mediafire.com/?sharekey=3d5e670b76f5c3f4d2db6fb9a8902bda

Para usarlo se llama asi

Código:
If ChangeOEPFromFile (RUTA DEL EXE) then 
    debug.print "OK"
else
    debug.print "=("
end if

En algunos archivos es posible que no funcione!

(http://img511.imageshack.us/img511/8540/23896522lu4.th.jpg) (http://img511.imageshack.us/my.php?image=23896522lu4.jpg)


Título: Re: Change PE Entry Point [SRC]
Publicado por: katanaia en 3 Diciembre 2008, 14:25 pm
Gracias como siempre por tus maravillosos codes Cobein. Te hago una pregunta, veo que la funcion que pusiste toma como parametro un archivo que vos le indicas, pero (por ahi es medio noob esto que pregunto) a donde lo mueve al entry point? O sea, lo mueve al azar o a una direccion que le indicaste ya en el modulo? Y si es esto ultimo, se puede cambiar esa direccion a la que uno quiera?


Título: Re: Change PE Entry Point [SRC]
Publicado por: cobein en 3 Diciembre 2008, 16:34 pm
El entry point lo pone es la sección ejecutable del programa en el espacio que normalmente queda entre el virtual size y el raw data size.
Con respecto a ponerlo en otro lado, las unicas opciones son cualquier punto entre el final del codigo  y el final de la sección (ahora esta justo al final del codigo) o agregar una nueva sección ejecutable.


Título: Re: Change PE Entry Point [SRC]
Publicado por: drakolive en 3 Diciembre 2008, 17:34 pm
se ve bueno, pero nose como empezar a usarlo..
podrias poner un ejemplo de uso? explicado , sino te es molestia. gracias


Título: Re: Change PE Entry Point [SRC]
Publicado por: katanaia en 3 Diciembre 2008, 21:02 pm
Jajaja!! Ahora con las fotos esas se entiende perfecto! :P


Título: Re: Change PE Entry Point [SRC]
Publicado por: drakolive en 4 Diciembre 2008, 00:00 am
Gracias...
curiosamente a un archivo totalmente inofensivo (cree un proyecto nuevo y lo compile), teniendo dos copias del este, aplique a uno la funcion y al otro no.

y 3 antivirus lo detectan como malware:
    a-squared        Trojan-Dropper.Vb.1!IK
       Avira AntiVir    HEUR/Crypted
       IkarusT3              Trojan-Dropper.Vb.1



Título: Re: Change PE Entry Point [SRC]
Publicado por: cobein en 4 Diciembre 2008, 00:13 am
si es muy posible, por eso dije en los comentarios que se puede usar como base apara hacer otras cosas, digamos que usar este codigo asi como esta no tiene mucho sentido.


Título: Re: Change PE Entry Point [SRC]
Publicado por: Karcrack en 4 Diciembre 2008, 00:18 am
Muy bueno (Como ya dije en HackHound :P)!

Solo tengo una duda, por ejemplo, yo añado una sección al ejecutable, como podria hacer para que el EntryPoint apuntara a esa nueva sección?

No entiendo demasiado bien hacia adonde apunta el EntryPoint despues de usar tu funcion... Talvez este idiota :-[ :xD :xD :xD

Saludos :P


Título: Re: Change PE Entry Point [SRC]
Publicado por: ricardovinzo en 4 Diciembre 2008, 05:24 am
Hola Cobein, hey amigo una pregunta.. yo no se ni entiendo nada de esto de los PE y eso.. serias tan amable de pasarme un tutorial para aprender desde 0?

Gracias y disculpa!


Título: Re: Change PE Entry Point [SRC]
Publicado por: katanaia en 4 Diciembre 2008, 14:38 pm
Creo que este link te puede servir: http://sandsprite.com/CodeStuff/Build_your_own_executable_crypter.html


Título: Re: Change PE Entry Point [SRC]
Publicado por: ~~ en 4 Diciembre 2008, 14:50 pm
La mejor documentación es esta:
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.docx

Citar
Solo tengo una duda, por ejemplo, yo añado una sección al ejecutable, como podria hacer para que el EntryPoint apuntara a esa nueva sección?

Cambiar el EP es simplemnte cambiar 4 bytes, haya el inicio de la nueva sección y ponle ese valor al EP, ten en cuenta el endian y si es VA o no :P