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 - [Zero]

#441
ASM / Re: Sumar eax i ebx
22 Marzo 2010, 06:39 AM
Cita de: SecMAM en 22 Marzo 2010, 03:21 AM
y la pila te la metes por el orto ? :P :xD

Restaura la pila luego del wsprintf con cinvoke en ves de invoke .

Mucha memoria para un numero que cabe en 2 bytes y luego no usas GLobalFree :S

No tiene sentido liberar memoria si nanosegundos despues haces un ExitProcess  :¬¬ :¬¬ :¬¬ .

Lo de la pila tienes razón:

Citar
Note  It is important to note that wsprintf uses the C calling convention (_cdecl), rather than the standard call (_stdcall) calling convention. As a result, it is the responsibility of the calling process to pop arguments off the stack, and arguments are pushed on the stack from right to left. In C-language modules, the C compiler performs this task.

Código (asm) [Seleccionar]

include 'win32ax.inc'

.code

start:
       ;Reservo memoria y guardo en puntero a esa memoria en ebp
       ;¬¬'
       sub esp,2
       mov ebp,esp

       mov eax,2
       mov ebx,5
       add eax,ebx

       ;Guardo en ebx un puntero que apunta hacia eax convertido en cadena
       invoke wsprintfA,ebp,"%d",eax
       ;¬¬'
       add esp,0x0C

       invoke MessageBoxA,0,ebp,"suma",0
       add esp,2
       ret
.end start


Saludos



#442
No me gusta en Win7 y no me gusta en el foro  :P.

Saludos
#443
ASM / Re: Sumar eax i ebx
21 Marzo 2010, 11:50 AM
Código (asm) [Seleccionar]
include 'win32ax.inc'

.code

start:
        mov eax,2
        mov ebx,5
        add eax,ebx

        ;Guardo eax en la pila
        push eax

        ;Reservo memoria y guardo en puntero a esa memoria en ebx
        invoke GlobalAlloc,GPTR,1024
        mov ebx,eax

        ;Recupero eax de la pila
        pop eax

        ;Guardo en ebx un puntero que apunta hacia eax convertido en cadena
        invoke wsprintfA,ebx,"%d",eax

        invoke MessageBoxA,0,ebx,"suma",0
        invoke ExitProcess,0

.end start


Saludos
#444
Parece no tener backdoor, aunque si yo fuera un antivirus lo detectaría. Se inyecta y hookea las apis de Winsock como Mazard, pero por lo que logré ver sólo envía y recibe paquetes del protocolo del msn con servidores del msn. Está lleno de Adware, eso sí, pero por lo demás en lo poco que vi por encima parece no tener más.

Saludos
#445
Hombre, Adware no lo dudo  :xD. Lo de backdoor ya lo veo más complicado. Voy a debugearlo un rato a ver si saco que es lo que hace, últimamente los AV se están volviendo demasiado paranoicos  :-\.

Saludos
#446
El Nod32 es imbécil, seguro detecta que intenta inyectarse en memoria para parchear el msn, vete tu a saber. Podrías poner un screen de la detección?

Saludos
#447
http://doc.trolltech.com/4.1/deployment-windows.html#building-qt-statically

Ahí debería de estar todo, -static es para pasarle al configure.exe que deberías de tener en el directorio de Qt. Yo lo hice con el Visual Studio 2008, con el creator no compilo en static porque sinó la app no me carga los plugins correctamente xD.

Saludos
#448
Quieeeetooooosss!!!! Que la gente deja de usar Qt por accidente!  :xD.

Puedes compilar Qt de forma estatica, de forma que las dlls de Qt esten embedidas en el ejecutable final, pero no las dlls que ocupan cientos de megas, sino que con 4-5 megas (1-2 con el ejecutable empacado) tienes un ejecutable funcional sin necesidad que el otro pc tenga instalado nada de Qt. Basta con utilizar la directiva -static al compilar los sources de Qt.

Saludos  :P

PD: Disculpen las tildes, se me puso la config de teclado en ingles y ya tuve que buscar sinonimos para no utilizar la enhe.
#449
Bueno, el módulo Qt necesita SQLite, si no quieres añadir dependencia a éste puedes utilizar un simple txt y guardar los datos en él utilizando las clases para manejar archivos

Saludos
#450
1- Depende a lo que te refieras con "Como se leen variables usando Qt", pero se hacen con los diversos widgets como pueden ser los edit's, checkbox's, etc...

2- Puedes usar bases de datos

Saludos