Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: karmany en 29 Octubre 2009, 18:32 pm



Título: Add PE bytes v0.1.1
Publicado por: karmany en 29 Octubre 2009, 18:32 pm
Aunque lo he posteado también en ingeniería inversa, lo pongo aquí ya que puede resultar de mucha utilidad a cualquier programador para embeber archivos o bytes o lo que quieran...

Hace un tiempo en el siguiente enlace:
Compromiso de karmany (http://foro.elhacker.net/ingenieria_inversa/el_studpe_me_esta_volviendo_loco-t255007.0.html)
me comprometí a hacer un programa que sirviera para añadir bytes a la última sección. Lo he ido mejorando poco a poco y lo envío ahora ya que pienso que puede ser de utilidad.

Bueno, por fin después de corregir ciertos fallos (que sólo se producían en Windows XP chino) he conseguido sacar la versión estable 0.1.1


(http://img510.imageshack.us/img510/425/38917145.png)

Características:
-Sólo trabaja con datos hexadecimales
-Permite añadir bytes (o embeber archivos) en cualquier sección de un ejecutable, incluído el PE Header!
-Permite añadir bytes (o embeber archivos) al final de cualquier ejecutable, fuera de las secciones.
-Permite añadir cuantas secciones se quieran (hay que tener en cuenta el tamaño del PE Header ya que sino podemos sobreescribir la primera sección).
Flag: E0000020 nombre:karmany
-Multilenguaje. He enviado 3 lenguajes: Chino simplified, inglés (por defecto y no hace falta librería) y español. Simplemente hay que poner la librería language.dll que corresponda junto al programa.
-La librería language.dll en inglés es simplemente para que cada uno la modifique y ponga el idioma que uno quiera.
-El archivo de ayuda ha sido EMBEBIDO con "Add PE bytes". Este es por ej. uno de los usos que podemos utilizar.
-Tiene soporte UNICODE y permite abrir cualquier archivo con este formato.
-El archivo de ayuda está embebido y pienso que el programa es tan fácil de usar que no requiere del mismo.
-Está programado en VC++ 8.0 pero los movimientos de bytes están en ensamblador para aumentar la velocidad al máximo.
-Cuando se pulsa el botón para añadir bytes aparece un messagebox contra lamers. Es código virtualizado.

Este programa lo hice porque a un forero se lo prometí y he intentado hacerlo lo mejor posible. Espero que os sea de utilidad y sin dudarlo, cualquier problema que os salga comentarmelo por email, estaré agradecido.

Un saludo.

PD. Quiero dar las gracias especialmente a crfan que me ha ayudado a descubrir varios bugs importantes. Gracias desde aquí.
Quiero destacar que estoy trabajando en la nueva versión 0.1.2. Se corregirán varios bugs y lo más importante es que crearé un instalador evitando usar Molebox ya que saltan varios falsos positivos.

Datos del rar:
Tamaño: 196.092 bytes
HASH md5-128: D83132275D899CB07C70DA2D3EC96022
Contraseña: karmany

Enlace:
Add PE bytes 0.1.1 por karmany (http://www.4shared.com/file/144656016/7831397f/Add_PE_bytes_v011.html)
Otro enlace:
Add PE bytes 0.1.1 por karmany (http://www.4sync.com/rar/-ughLXJP/Add_PE_bytes_v011.html)

Actualización librería idioma Chino simplified:
Chinese Simplified Update (http://www.4shared.com/file/145091038/85b64beb/Chinese_Simplified.html)
Otro enlace:
Chinese Simplified Update (http://www.4sync.com/rar/u71Nw47v/Chinese_Simplified.html)


Título: Re: Add PE bytes v0.1.1
Publicado por: MazarD en 29 Octubre 2009, 19:34 pm
Muy cómodo, sencillo y bien presentado, voy a añadirlo a mi toolbox ya mismo.
Gracias por compartirlo karmany

Saludos!


Título: Re: Add PE bytes v0.1.1
Publicado por: Novlucker en 29 Octubre 2009, 19:41 pm
Excelente  :D
En lo que respecta a tiempo invertido .. este tipo de tools llevan lo suyo  :o


Título: Re: Add PE bytes v0.1.1
Publicado por: APOKLIPTICO en 2 Noviembre 2009, 12:01 pm
Disculpen mi ignorancia pero tengo un par de preguntas:
- Cuando dicen "embeber bytes" a que se refieren???.
- "Cuando se pulsa el botón para añadir bytes aparece un messagebox contra lamers. Es código virtualizado." Que significa eso???

En cuanto al programa, es muy profesional y la verdad que se merece un premio, ya que para ser una version tan nueva, esta muy bien armado.

Yo propongo que se agregue a algun servidor de elhacker.net para que no se pierda, esos 4shared no son muy confiables....
Un abrazo
APOKLIPTICO


Título: Re: Add PE bytes v0.1.1
Publicado por: karmany en 4 Noviembre 2009, 16:41 pm
Gracias por los comentarios, y más siendo de vosotros.

"Cuando dicen "embeber bytes" a que se refieren???"
Creo que en ningún sitio digo exactamente "embeber bytes" sino "añadir bytes" o "embeber archivos". "embeber" significa para mi "introducir dentro de". Por ejemplo si tienes un archivo .txt y lo introduces dentro de un .exe y ese .exe funciona, eso es embeber ese archivo .txt en el exe.

Lo principal de Add PE bytes que no he visto en ningún otro programa (LordPE, PE Editor etc...) es que es capaz de embeber archivos en cualquier sección de un archivo con formato PE, incluído el PE header. Asimismo modifica el PE header para que cuando añadas bytes en cualquier sección, o embebas un archivo sea capaz de arrancar. Si modificas un archivo de Visual Basic tendrás que leer el archivo de ayuda para que funcione, ahí explico lo que hay que modificar.

El archivo de ayuda de Add PE bytes está embebido en el mismo exe de Add PE bytes, es decir, NO es un archivo aparte, sino que está en Add PE bytes y él mismo lo extrae de sí mismo, y lo ejecuta.



"Cuando se pulsa el botón para añadir bytes aparece un messagebox contra lamers. Es código virtualizado." Que significa eso???
Pues significa eso mismo. Usa Add PE bytes y pulsa el botón "Aplicar". En el momento que lo pulses aparece un MessageBox con mi nombre y mi dirección de correo. Si el programa no estuviera "minimamente protegido", modificar y eliminar ese messagebox sería muy fácil y yo estoy relacionado con ingeniería inversa, así que he virtualizado ese código para que ningún lamer (que no cracker) lo pueda modificar de forma sencilla. Código virtualizado es un código ofuscado, protegido, donde cualquier instrucción de Intel ha sido emulada en una máquina virtual para que no sea posible entender lo que hace. Hay que entender primero esa máquina virtual.
Es una medida muy simple de protección que se me ocurrió.


Título: Re: Add PE bytes v0.1.1
Publicado por: seclogman en 10 Noviembre 2009, 19:59 pm
Muy buen trabajo.


Gracias.


Título: Re: Add PE bytes v0.1.1
Publicado por: karmany en 11 Noviembre 2009, 17:09 pm
Gracias.

Ha habido bastante gente que me ha preguntado cómo hago para embeber archivos, y cómo se utiliza en su totalidad Add PE bytes, porque hay gente que no entiende las opciones avanzadas.

Cualquier duda no tengo en inconveniente en solucionarlo en un nuevo post o por email o mp.

Es probable que haga un tutorial de cómo usar en toda su extensión el programa "Add PE bytes":
- Cómo añadir bytes o archivos.
- Cómo buscar zonas vacias para injertar código propio.
- Cómo embeber datos.
- Opciones avanzadas.
- Cómo se modifica el PE header. Por ej. es muy interesante para programas con UPX, para injertar código propio.
- Qué otros programas existen similares para embeber archivos. La mayoría son considerados como virus.

Cuando haga este tutorial, lo postearé aquí.

Un saludo
karmany


Título: Re: Add PE bytes v0.1.1
Publicado por: Ivanchuk en 20 Noviembre 2009, 19:48 pm
No paso seguido por esta sección, pero karmany que trabajo!. Imagino que has aprendido muchisimo con esto. Muy bueno.
Felicitaciones. ;-)


Título: Re: Add PE bytes v0.1.1
Publicado por: .;. en 27 Noviembre 2009, 16:54 pm
Enhorabuena por el software seguro que te habrá llevado mucho tiempo hacerlo.

Mis felicitaciones!


Título: Re: Add PE bytes v0.1.1
Publicado por: magicboiz en 17 Enero 2014, 11:07 am
Hola Karmany

una pregunta, tengo un binario(.exe) que quiero modificar, en concreto añadir espacio en la sección .text (code), pero Add PE Bytes me dice que no se puede añadir espacio.....

¿Pur qué?

Gracias majo


Título: Re: Add PE bytes v0.1.1
Publicado por: x64core en 20 Enero 2014, 22:02 pm
Hola Karmany

una pregunta, tengo un binario(.exe) que quiero modificar, en concreto añadir espacio en la sección .text (code), pero Add PE Bytes me dice que no se puede añadir espacio.....

¿Pur qué?

Gracias majo
Enviame el archivo el cual queres aumentarle la sección lo voy a reprogramar con mi applicación.


Título: Re: Add PE bytes v0.1.1
Publicado por: magicboiz en 21 Enero 2014, 12:04 pm
Enviame el archivo el cual queres aumentarle la sección lo voy a reprogramar con mi applicación.


te he enviado un mensaje privado.