Muy buena iniciativa Suerte a los participantes
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.
#1
Underc0de / Re:Reto Oficial #3 - Codea tu IRC Bot y gana un Mini Arduino!
Noviembre 27, 2013, 05:56:39 AM #2
Debates, Reviews y Opiniones / Re:[Debate] VB6 El Gran Dilema
Noviembre 27, 2013, 05:55:41 AM
Yo soy más de escribir los opcodes de mis instrucciones directamente sobre el sector de HDD usando un imán.
#3
Debates, Reviews y Opiniones / Re:[Debate] VB6 El Gran Dilema
Noviembre 22, 2013, 08:22:05 AM
Respiro hondo y me preparo para escribir sobre el que como muchos sabréis fue mi primer lenguaje.
En mi opinión aprender un lenguaje te enriquece sea el que sea. No importa lo poco popular o antiguo que sea. Cada lenguaje te enseña una forma distinta de indicarle a la máquina qué hacer. Cada lenguaje tiene sus particularidades y aprenderlas te abrirá la mente.
Un lenguaje de programación no es más que una herramienta para resolver un problema.
Seleccionar la apropiada depende de ti. Es por eso que no aprender un lenguaje es perder la oportunidad de tener una herramienta extra en tu arsenal.
Hablando particularmente sobre VB6:
{Aclaro que me refiero a la experiencia de programar usando el compilador de MS. Si hablase únicamente sobre el lenguaje me atendría a la sintaxis y la especificación del mismo.}
Tiene una curva de aprendizaje excelente. Basta abrir el IDE arrastrar un par de controles, hacer doble click en ellos y estar listo para programar en un evento.
Las capas de abstracción que otorga son muy útiles para nuevos desarrolladores pero todo eso tiene un coste; te acostumbra a lo fácil.
La peor parte con diferencia es lo mal que ha envejecido el compilador. Es seguramente el compilador más estúpido que se esté utilizando hoy en día. Incapaz de realizar las optimizaciones más simples y limitando el acceso al programador avanzado a características internas de la implementación. En mi opinión un compilador moderno debe de tener un backend en LLVM o como mínimo permitir sacar ensamblados.
Para finalizar mi mensaje añadiré que si bien creo que conocer el lenguaje, ser capaz de leerlo no hará daño a nadie y otorgará una herramienta de desarrollo rápido, no creo que nadie deba usar VB6 como su lenguaje principal. Pero otra vez, todo depende del problema y el uso que vayas a darle.
Mi recomendación es que aprendan otros lenguajes que compilan a binario con sintaxis BASIC como freebasic que es prácticamente compatible con código VB6.
Podría escribir mucho más pero creo que eso sintetiza mi opinión. Ojalá alguien más se anime a participar y abriendo debate pueda continuar expandiendo mi opinión
Saludos! Happy coding
En mi opinión aprender un lenguaje te enriquece sea el que sea. No importa lo poco popular o antiguo que sea. Cada lenguaje te enseña una forma distinta de indicarle a la máquina qué hacer. Cada lenguaje tiene sus particularidades y aprenderlas te abrirá la mente.
Un lenguaje de programación no es más que una herramienta para resolver un problema.
Seleccionar la apropiada depende de ti. Es por eso que no aprender un lenguaje es perder la oportunidad de tener una herramienta extra en tu arsenal.
Hablando particularmente sobre VB6:
{Aclaro que me refiero a la experiencia de programar usando el compilador de MS. Si hablase únicamente sobre el lenguaje me atendría a la sintaxis y la especificación del mismo.}
Tiene una curva de aprendizaje excelente. Basta abrir el IDE arrastrar un par de controles, hacer doble click en ellos y estar listo para programar en un evento.
Las capas de abstracción que otorga son muy útiles para nuevos desarrolladores pero todo eso tiene un coste; te acostumbra a lo fácil.
La peor parte con diferencia es lo mal que ha envejecido el compilador. Es seguramente el compilador más estúpido que se esté utilizando hoy en día. Incapaz de realizar las optimizaciones más simples y limitando el acceso al programador avanzado a características internas de la implementación. En mi opinión un compilador moderno debe de tener un backend en LLVM o como mínimo permitir sacar ensamblados.
Para finalizar mi mensaje añadiré que si bien creo que conocer el lenguaje, ser capaz de leerlo no hará daño a nadie y otorgará una herramienta de desarrollo rápido, no creo que nadie deba usar VB6 como su lenguaje principal. Pero otra vez, todo depende del problema y el uso que vayas a darle.
Mi recomendación es que aprendan otros lenguajes que compilan a binario con sintaxis BASIC como freebasic que es prácticamente compatible con código VB6.
Podría escribir mucho más pero creo que eso sintetiza mi opinión. Ojalá alguien más se anime a participar y abriendo debate pueda continuar expandiendo mi opinión
Saludos! Happy coding
#4
Visual Basic / Re:NtTerminateProcess Hook
Septiembre 29, 2013, 03:32:06 PM
A mí me hookea a la perfección. Para comprobar si hookea aplica el hook y haz attach a el proceso desde el Olly.
Igualmente deberías devolver STATUS_ACCESS_DENIED en lugar de STATUS_SUCCESS...
Igualmente deberías devolver STATUS_ACCESS_DENIED en lugar de STATUS_SUCCESS...
#5
Visual Basic / Re:NtTerminateProcess Hook
Septiembre 24, 2013, 04:34:48 AM
A mí me funciona perfectamente.
Comprueba que tu antivirus no esté deshaciendo el hook para meter el suyo. Algunos AVs como Avast tienen hooks en userland, interceptando las llamadas al sistema.
Para comprobar que te hookea correctamente abre un proceso en el OllyDbg luego desde el código hookeas. Te vas al OllyDbg y actualizas la memoria.
Saludos
Comprueba que tu antivirus no esté deshaciendo el hook para meter el suyo. Algunos AVs como Avast tienen hooks en userland, interceptando las llamadas al sistema.
Para comprobar que te hookea correctamente abre un proceso en el OllyDbg luego desde el código hookeas. Te vas al OllyDbg y actualizas la memoria.
Saludos
#6
Códigos Fuentes / Re:[SRC] andom_access_array - Evitar patrones de lectura/escritura
Septiembre 19, 2013, 02:46:07 PM
¿Como voy a validar el tamaño del array? Es el usuario quien me lo da.
Si el índice que se pasa es superior al tamaño no importa ya que si te fijas verás que getRealIdx() sólo devuelve un índice dentro del rango.
No habría jamás un buffer overflow.
Si el índice que se pasa es superior al tamaño no importa ya que si te fijas verás que getRealIdx() sólo devuelve un índice dentro del rango.
No habría jamás un buffer overflow.
#7
Códigos Fuentes / [SRC] andom_access_array - Evitar patrones de lectura/escritura
Septiembre 18, 2013, 04:58:59 PMEjemplo de uso:
Utilidad real:
Saludos
#8
Dudas y pedidos generales / Re:problema al convertir codigo de 64bits a 32bits
Septiembre 17, 2013, 11:02:56 AM
En 32bits la convención de llamada de las APIs de Windows es stdcall... Debes hacer push de los parámetros en lugar de meterlos en eax, ebx, ecx, edx...
Ejemplo de fix:
Ejemplo de fix:
#9
Códigos Fuentes / Re:NanoInvoke
Septiembre 13, 2013, 12:22:43 AM
Es la forma más corta que llamar a un API de forma dinámica que encontrarás
La shellcode de unos 90bytes se encarga de recorrer el SAFEARRAY de VARIANTs metiendo en el stack los parámetros para el API. Además busca en la IAT del proceso la importación de DllFunctionCall() para obtener el puntero del API. (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta)
La shellcode de unos 90bytes se encarga de recorrer el SAFEARRAY de VARIANTs metiendo en el stack los parámetros para el API. Además busca en la IAT del proceso la importación de DllFunctionCall() para obtener el puntero del API. (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta)
#10
Códigos Fuentes / NanoInvoke
Septiembre 12, 2013, 11:05:30 PMUn pequeño reto que surgió en HackHound
Ejemplo de uso:
#11
Hardware y Reparaciones / Re:Desbloqueo Definitivo de la Netbook del Gobierno con un clip [ANTRAX]
Julio 26, 2013, 10:14:05 PM
¿Para desbloquearlo hay que llevarlo a clase o qué?
#12
Hardware y Reparaciones / Re:Desbloqueo Definitivo de la Netbook del Gobierno con un clip [ANTRAX]
Julio 26, 2013, 02:21:32 PM
¿Qué clase de limitaciones trae el Netbook por defecto?
#13
Desarrollo y modificación de malwares / [FASM][64bits]Detección de emuladores usando Heaven's gate
Julio 19, 2013, 01:27:28 PMEl método consiste en ejecutar ensamblador x64 dentro de un proceso x86 usando la heaven's gate. Básicamente la técnica consiste en cambiar el segmento de código.
Si ensamblamos en x64 las siguientes instrucciones:
Y luego las desensamblamos como si fuese x86 veremos que se transforma en:
El prefijo que indica que se trata de un registro de 8bytes es "dec eax". Se observa que si las instrucciones se ejecutan en x64 devuelve 1 en EAX pero si se hace en x86 devuelve 0.
No conozco ningún emulador que detecte el cambio de segmento y cambie la arquitectura que emula jaja
Disfrutad
#14
ASM / Re:RunPE FASM
Julio 16, 2013, 07:26:11 PM
Buen código, gracias por compartir
Si hay cargar un PE desde ASM y no necesites fwb yo siempre utilizo la técnica de cambiar tu baseaddr para poder cargar el PE en tu propio proceso sin necesidad de sección reloc
Si hay cargar un PE desde ASM y no necesites fwb yo siempre utilizo la técnica de cambiar tu baseaddr para poder cargar el PE en tu propio proceso sin necesidad de sección reloc
#15
Underc0de / Re:Biblioteca Virtual | Underc0de
Julio 15, 2013, 08:34:27 PM
No me quejo de los títulos sino más bien de los contenidos. Debería de haber algún sistema de votos y si algún documento recibe muchos votos negativos tal vez no merezca estar en la biblioteca...
#16
Underc0de / Re:Biblioteca Virtual | Underc0de
Julio 15, 2013, 07:28:28 PM
Debería primar más la calidad que la cantidad en mi opinión. He bajado unos 4 con nombre interesante y han resultado ser PDFs de una página sin formato de contenido muy mediocre
#17
Off Topic / Re:(No apto para fracasados)
Julio 14, 2013, 11:37:45 PM
Lástima que no pueda verlo porque soy un fracasado
#18
ASM / Re:[ASM-ABUSE] Obtener dirección del PEB sin advertir a los AVs
Julio 10, 2013, 08:02:01 PM
Sí, yo miré la definición de la instrucción en el manual de Intel pero al no retornar la lectura de ningún modo no sirve de nada... Si prueba esto verás que devuelve $30:
El prefijo es superfluo...
El prefijo es superfluo...
#19
ASM / Re:[ASM-ABUSE] Obtener dirección del PEB sin advertir a los AVs
Julio 10, 2013, 07:13:16 PM
Uno usando FPU
#20
ASM / Re:[ASM-ABUSE] Obtener dirección del PEB sin advertir a los AVs
Julio 10, 2013, 11:20:06 AM
No creo ya que lea no lee de memoria nada Igualmente he visto un par de instrucciones que pueden ser interesantes si tengo tiempo les echare un vistazo y actualizo