Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eternal Idol

#1411
ASM / Re: PE mas PEqueños..
9 Mayo 2014, 23:30 PM
Cita de: Vaagish en  9 Mayo 2014, 23:18 PMEn conclusión para que sea compatible con x64, no usar Align?  :rolleyes:

Si, o siempre usar un ejecutable nativo  ::)
#1412
ASM / Re: PE mas PEqueños..
9 Mayo 2014, 22:34 PM
Claro, aunque en realidad todos estos son parametros para el enlazador - el/los obj tienen todas las secciones y el enlazador puede mezclarlas por ej. - y en principio se usa el mismo (linker.exe).
#1413
ASM / Re: PE mas PEqueños..
9 Mayo 2014, 22:24 PM
Cita de: Vaagish en  9 Mayo 2014, 21:53 PMPero lo estropea, no?

En el entorno que mencione si, no me funciona.

Cita de: Vaagish en  9 Mayo 2014, 21:53 PMYo ahora lo deje en 1.34Kb, y creo que no le puedo ganar mucho mas.. aun hay mucho db 00 .. pero tengo declaradas 4 estructuras.. calculo que es ese el espacio.. o es un bolazo eso?

Depende, investiga con dumpbins (/headers, /all, /disasm, etc.) como va quedando tu ejecutable.
#1414
ASM / Re: PE mas PEqueños..
9 Mayo 2014, 21:41 PM
Ah, me confundi con el otro alignment entonces (en realidad nunca use el que mencionas vos), pero si afecta al tamaño, con /align:4 mi misero ejecutable tiene 592 bytes.
#1415
ASM / Re: PE mas PEqueños..
9 Mayo 2014, 21:08 PM
Con /align:512:

eax=77452070 ebx=7745206c ecx=00000001 edx=7745206c esi=7efde000 edi=7efdd000
eip=77395321 esp=0018fcb8 ebp=0018fd00 iopl=0         nv up ei pl zr na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246
ntdll!_LdrpInitialize+0x73:
77395321 e8ab1c0000      call    ntdll!LdrpInitializeProcess (77396fd1)

0:000> p
eax=c0000018 ebx=7745206c ecx=761b4fc4 edx=00000000 esi=7efde000 edi=7efdd000
eip=77395326 esp=0018fcc0 ebp=0018fd00 iopl=0         nv up ei pl zr na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246

0:000> !error c0000018
Error code: (NTSTATUS) 0xc0000018 (3221225496) - {Conflicting Address Range}  The specified address range conflicts with the address space.

Viene de ntdll!LdrpWx86FormatVirtualImage, a su vez de ntdll!Wow64LdrpWx86FormatVirtualImage y por ntdll!LdrpWx86DetectSectionOverlap. Es un programa de 32 bits en un Windows 7 de x64 ...
#1416
ASM / Re: PE mas PEqueños..
9 Mayo 2014, 20:30 PM
Cita de: Vaagish en  9 Mayo 2014, 20:15 PMAhora con unas modificaciones me dejo juntar la sección data (no rdata) y se redujo 1024 bytes. Un lujo!

Jeje,, no.. pero va a ir metido dentro de un .mp3 el código.. igual lo estoy achicando para ver hasta donde se puede dejar.. Ahora pesa 1,50 KB y lo puedo dejar en 1 si logro sacar ese "cmd.exe" y juntar el .rdata, igual creo que ahora se ajusta mas a lo que tiene de codigo real y el tamaño..

Si, ahi te deje la linea para juntar los 3 en 1.

Cita de: Vaagish en  9 Mayo 2014, 20:15 PMEl Filealignament me puede servir.. hay una forma de hacerlo que no recuerdo.. igual como decis, quizas no se gane mucho..

Eso si me jodio el ejecutable, al menos en Windows 7 x64 no funciona (es /align:16 por ejemplo).
#1417
ebp existe, esb no, eox no existe tampoco ...

http://en.wikipedia.org/wiki/X86#x86_registers

¿De donde estas sacando este codigo?
#1418
Ademas: ¿inc ESB+ 5? inc solo incrementa en 1 (es ++ de C/C++), tenes que usar add para sumar 5.
#1419
ASM / Re: PE mas PEqueños..
9 Mayo 2014, 10:34 AM
Cita de: Vaagish en  8 Mayo 2014, 20:04 PM
Casi.. el comando lo entiende, pero rompe el archivo.. quedaría así:

ml /c /Cp /coff archivo.asm
link /subsystem:windows /merge:.rdata=.text archivo.obj

No reduce mucho igual.. alguna herramienta que modifique los campos del PEB y redimensione no hay? Esta bien lo que digo, no? Si cambiamos el tamaño de las secciones hay que modificar el PEB, verdad?

El mio funciona bien, es muy elemental, apenas emula RtlGetCurrentPeb y llama a MessageBox con la linea de comandos: 1024 bytes. ¿Que tamaño tiene tu ejecutable y como se rompe exactamente?

link /merge:.data=.text /merge:.rdata=.text

PD. El PEB es una estructura en memoria, el PE es el formato del binario.
#1420
ASM / Re: PE mas PEqueños..
8 Mayo 2014, 16:39 PM
¿Ya probaste a pasarle ese parametro al linker? En principio es el mismo ...

ml /c /Cp /coff archivo.asm
link /merge:.rdata=.text archivo.obj