elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Add PE bytes v0.1.1
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Add PE bytes v0.1.1  (Leído 13,547 veces)
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Add PE bytes v0.1.1
« 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
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



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
Otro enlace:
Add PE bytes 0.1.1 por karmany

Actualización librería idioma Chino simplified:
Chinese Simplified Update
Otro enlace:
Chinese Simplified Update


« Última modificación: 17 Enero 2014, 21:42 pm por karmany » En línea

MazarD
Colaborador
***
Desconectado Desconectado

Mensajes: 885


mazard.info


Ver Perfil WWW
Re: Add PE bytes v0.1.1
« Respuesta #1 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!


En línea

-Learn as if you were to live forever, live as if you were to die tomorrow-

http://www.mazard.info
irc://irc.freenode.org/elhacker.net
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Add PE bytes v0.1.1
« Respuesta #2 en: 29 Octubre 2009, 19:41 pm »

Excelente  :D
En lo que respecta a tiempo invertido .. este tipo de tools llevan lo suyo  :o
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Re: Add PE bytes v0.1.1
« Respuesta #3 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
En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Add PE bytes v0.1.1
« Respuesta #4 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ó.
En línea

seclogman

Desconectado Desconectado

Mensajes: 268


l0gbyte


Ver Perfil
Re: Add PE bytes v0.1.1
« Respuesta #5 en: 10 Noviembre 2009, 19:59 pm »

Muy buen trabajo.


Gracias.
En línea





karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Add PE bytes v0.1.1
« Respuesta #6 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
En línea

Ivanchuk


Desconectado Desconectado

Mensajes: 469


LLVM


Ver Perfil WWW
Re: Add PE bytes v0.1.1
« Respuesta #7 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. ;-)
En línea

Sólo quien practica lo absurdo puede lograr lo imposible.

Join us @ http://foro.h-sec.org
.;.


Desconectado Desconectado

Mensajes: 354


Ver Perfil
Re: Add PE bytes v0.1.1
« Respuesta #8 en: 27 Noviembre 2009, 16:54 pm »

Enhorabuena por el software seguro que te habrá llevado mucho tiempo hacerlo.

Mis felicitaciones!
En línea

magicboiz

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Add PE bytes v0.1.1
« Respuesta #9 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
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Add PE bytes v0.1.1
Ingeniería Inversa
karmany 7 5,431 Último mensaje 29 Octubre 2009, 23:31 pm
por ThunderCls
hexadecimal de 2 bytes
Programación C/C++
m@o_614 1 2,495 Último mensaje 10 Abril 2014, 01:21 am
por rir3760
Almacenar cadenas en arreglos de bytes
Java
m@o_614 1 4,168 Último mensaje 13 Enero 2015, 02:09 am
por madara1412
Operacion con bytes -> KBDLLHOOKSTRUCT flags
Programación C/C++
patilanz 5 2,869 Último mensaje 17 Enero 2015, 23:16 pm
por xv0
Lectura y Modificación de bytes
.NET (C#, VB.NET, ASP)
ramonpsx 2 2,199 Último mensaje 26 Abril 2015, 17:06 pm
por ramonpsx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines