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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 115
21  Programación / Java / Re: Duda Doble Buffer :( en: 12 Mayo 2009, 16:58 pm
Si quieres un ejemplo simple:
http://e0n-productions.blogspot.com/2008/11/pong-en-java.html

Aunque Java creo que ya incorpora api's propias para el doble buffer ;)
22  Programación / Ingeniería Inversa / Re: VirtualSize mayor que RawSize?? en: 10 Mayo 2009, 23:55 pm
Oks muchas gracias ya he entendido el funcionamiento y por qué no me funcionaba si ponía un VirtualSize mayor (por el tema del SizeOfImage).

Muchas gracias  ;-)
23  Programación / Ingeniería Inversa / Re: VirtualSize mayor que RawSize?? en: 10 Mayo 2009, 17:02 pm
Ok ok gracias, si ya entendía lo que era cada uno, lo que no entendía es por que podía ser el VirtualSize mayor que el RawSize, pero vamos a ver...

Citar
Y básicamente el raw_size es el tamaño exacto en el ejecutable, en bytes, y el virtual size tiene que ir alineado porque se alojará en la sección, pero que si... por eso no puede meter menor Virtual Size que sus bytes del fichero, se descuarenjaría todo...

No habíamos quedado (según acaba de contar Karmany) en que el RawSize debía ser mayor y ser el que tiene que estar alineado con el FileAligment?? El VirtualSize, que yo sepa y según cuenta MS:
Citar
VirtualSize
The total size of the section when loaded into memory. If this value is greater than SizeOfRawData, the section is zero-padded. This field is valid only for executable images and should be set to zero for object files.

No tiene que ir alineado con nada... Y un claro ejemplo es el exe de karmany, el VirtualSize no es múltiplo de nada  :huh:
24  Seguridad Informática / Abril negro / Re: Little Joiner 1.0 (Open Source) en: 10 Mayo 2009, 14:50 pm
Muy bueno, lo vas a presentar a el concurso??
25  Programación / Ingeniería Inversa / Re: VirtualSize mayor que RawSize?? en: 10 Mayo 2009, 03:58 am
Curioso, al hacer los dos exe's he caído en que sería buena idea usar la función "compara" (muy útil por cierto) y he visto la diferencia entre los dos, aquí los dejo tal cual:
http://rapidshare.com/files/231186043/exes.zip.html


Al hecho a mano le he añadido una sección de 0x1000 bytes (RawSize = 0x1000) al creado con el stud pe también le he puesto un RawSize = 0x1000 peeeero al ser el VirtualSize = 0x1001, es decir, mayor, aunque al exe le añade 0x1000 bytes el size of image es 0x1001 bytes mayor...

Creo que ya he entendido por que, a la hora de crear la nueva sección el program te da dos opciones, la primera es llenar la sección con ceros, y la segunda cargar la sección desde otro exe, al darle al rellenarla con ceros y leyendo la documentación oficial...
Citar
VirtualSize
The total size of the section when loaded into memory. If this value is greater than SizeOfRawData, the section is zero-padded. This field is valid only for executable images and should be set to zero for object files.

Todo arreglado xD Ahora si entiendo el por qué  ;D

26  Programación / Ingeniería Inversa / Re: VirtualSize mayor que RawSize?? en: 10 Mayo 2009, 03:07 am
Esto es un exe compilado con VC++, las dos primeras secciones son del compilador, la última se la he añadido con el stud pe:

Si el VirtualSize es menor me dice que aplicación Win32 no válida, lo cachondo del asunto es que si le añado una sección con un código mío (que por defecto deja el virtual size a cero)
http://e0n-productions.blogspot.com/2008/10/aadiendo-una-seccin-un-ejecutable.html

Luego puedo aumentar el VirtualSize, pero siempre menor al RawSize, podéis probarlo :P Y bueno, ya como gran colofón si amplio una sección a mano el VirtualSize tengo que dejarlo mayor para que funcione....

En fin, alguna explicación? xDDD



Te me has adelantado ctlon:
Citar
la raw size tendria que ser el tamaño real (de codigo en bytes) que contiene la sección, y la virtual una vez alineada y tendria que ser superior a la raw size por el tema de redondeos.

No se supone que es siempre al revés??? Las dos primeras secciones de la foto desde luego lo respetan y las ha añadido el compilador...
27  Programación / Ingeniería Inversa / Re: VirtualSize mayor que RawSize?? en: 10 Mayo 2009, 02:26 am
Claro, pues por eso mismo, no entiendo el por qué de que el virtual size sea mayor que el raw size, ampliar una sección ya se...

Tu mismo lo has dicho:
Citar
el RawSize es lo que ocupa cada sección en el archivo incluyendo los ceros. y el VirtualSize es lo que ocupa una vez cargado en la memoria ram

Como vas a tener más código cargado en la ram del que puedes almacenar en disco? xDDD
28  Programación / Ingeniería Inversa / VirtualSize mayor que RawSize?? en: 10 Mayo 2009, 00:09 am
Hola

De siempre he tenido entendido que el VirtualSize debía ser menor que el RawSize, que el RawSize debía ser múltiplo del FileAlignment y que la diferencia debía estar rellenada con ceros.

Por ejemplo, si un ejecutable tiene FileAlignment 10 y una sección tiene un VirtualSize = 22 el RawSize debería ser 30 y que los últimos 8 bytes de la sección deberían ser ceros.

Y siempre lo he visto así en los exe's generados por el compilador, pero hoy me he puesto a añadir una sección con el Stud PE y para añadirla me pedía únicamente VirtualSize y RawSize, yo he puesto un RawSize múltiplo del FileAlignment (aunque si no es múltiplo funciona igual) y mi sorpresa es que cuando añado el VirtualSize (menor que el RawSize) me dice que tiene que ser mayor  :o :o

Si lo pongo el exe funciona, de hecho si luego lo dejo menor peta, pero por que hay que hacerlo así?? no le veo sentido, si yo quiero introducir código en esa sección no puedo meter más código del que entra, que es lo que me están diciendo....

Vamos, supongamos que quiero hacer una sección nueva que contendrá 15 bytes, si el FileAlignment es 10 el RawSize debería ser 20, pero no me deja, me obliga a poner un RawSize = 10... y donde meto yo los 5 bytes restantes???

A ver si alguien puede aclararme esto..
Salu2
29  Seguridad Informática / Abril negro / Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro] en: 9 Mayo 2009, 13:36 pm
Citar
solo que el me hablaba de asm y no npi. Tendría que compilar el stub con un solo recurso de tipo texto y ahi inyectar todo modificando ese recurso solamente.. ahora no se que tan facil sea hacerlo manualmente ya que desde el editor debo modificar estos valores hexadecimalmente ya que no voy a meterle el reshack dentro del ide, no se puede.

No hombre no xDDD Para eso tienes un puñado de api's de lo más útiles, busca por google ;)
30  Seguridad Informática / Abril negro / Re: BHC (Batch Hide Compiler 2.2) by WHK [Proyecto para abril Negro] en: 8 Mayo 2009, 15:42 pm
Citar
El otro cambio fue que la estructura del stub la hize mejor haciendote caso E0N con tu función aunque tenia algunos errores pero lo solucione, como por ejemplo si el archivo no existe o el archivo no es exe o es corrupto, etc

Claro, eso no se lo añadí por que buscaba una función que no añadiese prácticamente peso al ejecutable, si quieres algo más elaborado puedes incluir directamente las estructuras del PE y comprobar todo, aunque lo veo poco útil y más en tu caso, que es tu stub...


En cuanto a lo del EOF puedes ampliar el tamaño de la última sección y meter ahí los datos. Un poco más explicado:

Todas las secciones al final suelen tener ceros, ya sean más o menos, si el espacio te llega puedes meter ahí tus datos y luego utilizar el VirtualSize para saber donde empezarían los ceros, que realmente es donde has metido tu tus datos. Si tus datos no entran siempre puedes ampliar el RawSize.

El método genérico sería poner una firma al principio de tus datos, ampliar la sección en caso de que fuera necesario y luego buscar la firma y leerlos tranquilamente. De cara al AV esos datos serían parte del código de la última sección, supongo que no saltaría :P


Otra opción más simple es usar resources...

Salu2

Citar
   
Hubo un error mientras se enviaba este mensaje.
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Cachis.. xD Si, también se podría hacer Karcrack, lo malo es que un script puede ser o muy grande o muy pequeño, así que lo veo poco eficiente...
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 115
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines