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 - x64core

#471
Cita de: piluve en 18 Enero 2014, 19:47 PM
Parece que no funciona de esta manera.

Dice que "GetConsoleWindow(); was not declared on this scope."

He probado creando este define:
#define _WIN32_WINNT 0x0500

Y nada.

Esto no va ...
Si es así entonces es error de compilación, que compilador estas usando? estas incluyendo las cabeceras correctas? Tu código?

#472
Cita de: piluve en 18 Enero 2014, 19:14 PM
Estoy haciendo un programa en modo texto que se ejecuta directamente en el intérprete de windows , el cmd.
usa GetConsoleWindow, el resultado al primer parametro de MessageBox.
#473
Cita de: piluve en 18 Enero 2014, 18:35 PM
En realidad no estoy creando una ventana sino que estoy utilizando el CMD de windows.

¿Quizás esto afecte en algo?

Un saludo.
¿Que quieres decir?
Estas llamando la CMD desde tu programa C/C++ y enviandole comandos o estas usando directamente la CMD?
#474
Cita de: piluve en 18 Enero 2014, 13:05 PM
Hola!

Gracias por tu respuesta, lo que he conseguido es que mi ventana se muestre ahora en "TOP" siempre pero no puedo evitar que si el usuario selecciona la aplicación pueda hacer cosas aún estando el messagebox.


MessageBox(NULL, "Pon la ficha sobre un espacio en blanco" , "Stratego 1.0",MB_OK|MB_TOPMOST|MB_APPLMODAL);


Creo que ahora el problema esta en que debería asignarle una ventana al campo "NULL" pero no estoy muy seguro de como hacerlo.

Un saludo.
Lo que debes hacer es obtener el handle de la ventana de la aplicación principal ( no ventanas hijas ) y pasarselo al primer parametro
de MessageBox. Yo no sé de que manera estas creando la ventana principal así que no podria decirte algo directo o talvez FindWindow pero seria incesario si la estas creando por ejemplo con CreateWindow simplemente guardas el valor retornado por la funcion para usarlo despues.
#475
Cita de: magicboiz en 17 Enero 2014, 11:06 AM
Hola "The Swash"

soy un novatillo en esto. El caso es que me estoy haciendo un script en python para "expandir" la sección .text, y siguiendo tus pasos (que seguramente no los haya seguido al 100%) no me funciona.

El problema que me encuentro, es que los DATA_DIRECTORIES que hay dentro del PE, hacen referencia a distintas secciones (.data, .idata, .rss, etc) que claro, al verse desplazadas por el incremento de .text, pues cambian sus direcciones. Eso por no hablar de los jodido que es navegar por dentro de los resource directories, sus subdirectorios....

¿Qué pista me das para resolver este tema de los DATA_DIRECTORIES y las refencias a las secciones?


gracias majo.

Para expandir la sección de codigo ( .text normalmente ) que es la primera sección además, y que la imagen del ejecutable quede totalmente funcional debes de incrementar a todos campos en el PE header,instrucciones que hacen referencia a las posteriores secciones de la sección objectivo el valor a incrementar a la sección alineado por SectionAlignement. Un simple ejemplo, Tenemos una imagen PE que contiene dos secciones ( .text y .data ):



        Virtual size    Virtual address     Raw size    Raw Offset
.text   0x1000          0x1000              0x1000      0x400
.data   0x1000          0x2000              0x1000      0x1400


Así, si incrementados 0x1000 bytes a la sección de codigo (.text) debes actualizar todas las secciones posteriores a esta, en este caso solo es .data.
de lo contrario se estaria generando una malformacion en la estructura ya que la primera sección tendria un nuevo tamaño de 0x2000 bytes y la sección .data se supondria que estaria cargandose desde la direccion 0x2000 lo cual es incorrecto. así debemos actualizar el Campo Virtual Address de la sección .data ( 0x2000 ) y sumarle ese valor alineado ( 0x1000 ) quedando como resultado 0x3000. Con eso actualizamos los IMAGE_SECTION_HEADER's pero en
la imagen del PE no solo se deben actualizar esas estructuras sino también DATA_DIRECTORIES->VirtualAddress, y todas las referencias que se hagan en la sección objetivo a las posteriores secciónes, por ejemplo si en la sección .text existe un instruccion como esta:

PUSH dword ptr [0x2000]

Lo cual "pushearia" los primeros cuatro bytes de la sección .data entonces tambíen se tendria que actualizar esta instrucción y todas las instrucciones que hacen referencia como dije antes. Realmente esto no es una tarea facil ya que se require una reprogramación total de la imagen y analisis del codigo tomando en cuenta además punteros a punteros:

MOV eax, dword ptr [0x2000] ; 0x2000 = 0x2000
XXX Reg,dword ptr [eax+Off]
XXX Reg,dword ptr [eax+Off]
....

Lo que podria ayudar es si la imagen PE tiene tabla de relocalización asi de evita el analisis de codigo en busca de referencias a las posteriores secciones,
así tomando la tabla de relocalización y actualizandola. A pesar de eso no realmente asegura que se obtendra una imagen totalmente funcional ya que
si el programa no esta bien estructura y por alguna razon toma en cuenta cierto campos de la imagen del PE que han sido modificados entonces tambien se tendrian que actualizar. A pesar de todo eso puedo decir que es posible.











#476
Resumiendo lo que hoy en dia se hace es usar exploits.
#477
Programación C/C++ / Re: Control de sonido.
17 Enero 2014, 20:29 PM
Usa mixerSetControlDetails cabecera: Mmsystem.h libreria: Winmm.lib agregalos si no estan incluidos en tu proyecto.

@leosansan:
Eso es para la gente que tiene instalada la SDK 7.0 que ya viene con VS esto no tiene nada que ver con la version de Windows.

#478
Cita de: shitoman en 11 Enero 2014, 01:19 AM
hola amigos tengo mi programa principal llamado: hola.exe y 2 archivos hola2.exe y hola3.exe, lo que quiero es empaquetarlos pero cuando yo haga click en el empaquetador.exe me descomprima automaticamente en /temp y ademas me oculte los archivos(hola.exe hola2.exe y hola3.exe) y me abra el hola.exe y me lo muestre en pantalla.

por favor ayudenme que programa puedo usar?
gracias de antemano.
Binder?
Bueno pueda que quieras mirar en el codigo fuente del UPX, es un compresor y empaquetador pero podrias mirar como funciona asi solo unes los archivos que quieras y haces lo mismo que UPX :)

http://upx.sourceforge.net/
#479
Cita de: Belial & Grimoire en 15 Enero 2014, 03:45 AM
hola

gracias por los links, los analice y uno parece que trabaja con VB.net, como FreeRecovery, ahorita trato de analizarlo poco a poco aunque no tengo mucha experiencia con .NET (fui de los necios que prefirio continuar con VB6 XD) y hay cosas que no encuentro en MSDN como EFileAccess, busque en google pero solo encontre ejemplos en C#, o talvez no estoy buscando bien

pero bueno almenos algo que note es que hay API para NTFS y estructuras para los clusters, asi que podria ir checando, solo espero no hacer otro ataque DDOS a este foro con mis preguntas constantes  ;D ;D ;D :xD

bueno si alguien mas conoce mas codigos, algunos documentos o sabe algo mas, espero me pueda ayudar

salu2
Este esta en C++ usando la Win32 API y esta bastante sencillo de leer:
https://code.google.com/p/datarecover/

#480
@.:UND3R:. Evita postear tales respuestas que no ayudan absolutamente en nada en el tema, ya son 3 respuestas iguales en 1 dia.
El usuario desde un principio uso un detector de empaquetador.

Respecto al tema, no hay manera absoluta de detectar todos los packers, lo que se podria hacer es realizar un algoritmo en busca de patrones especificos usados por el empaquetador, esos podrian ser por ejemplo estructura de la imagen, directorios disponibles, nombres de las secciones y bien hacer un scaneo en busca de patrones/bytes especificos en la imagen que son usados en todos los archivos empaquetados por tal empaquetador. También se podria usar un analizador de opcodes junto con un emulador.