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 - The Swash

#51
Hola,

YST, anda con otros lenguajes. Solo enganchaba WriteProcessMemory y por ende se podía evitar utilizando NtWriteVirtualMemory.
Yo también apostaría a que las detecciones proactivas o emuladas se lo comerían vivo, ¿por qué aún lo siguen utilizando?

Gracias Nox.

Un saludo,
Iván Portilla.
#52
Hola,

Utiliza el buscador del foro y empieza por los FAQ.
http://foro.elhacker.net/analisis_y_diseno_de_malware/temas_frecuentes_temas_pegados_temas_importantes-t137216.0.html

Y sobre Hacha, cómo decírtelo.. Obviamente al partirse no detectarán más que las firmas estáticas y con seguridad bastantes se irán, pero piensa que el archivo tendrá que estar unido nuevamente para poderse ejecutar.

Un saludo,
Iván Portilla.
#53
Hola,

No funciona exactamente así, debes valerte de shellcodes cuando ingresas código no compilado de la fuente. Si tienes dudas acerca del concepto entonces:

http://es.wikipedia.org/wiki/Shellcode

Un saludo,
Iván Portilla.
#54
Hola,

¿Quieres trabajar solo con una matriz de un solo carácter? o de arreglos de caracteres?

Un saludo,
Iván Portilla.
#55
Ingeniería Inversa / Re: ollydbg cargando dll
24 Junio 2012, 01:35 AM
Hola,

Las direcciones físicas (offsets) no son iguales que las direcciones en memoria. Estas últimas dependen de las secciones y el ImageBase del archivo ejecutable.
De pronto esto te pueda ayudar:

http://foro.elhacker.net/analisis_y_diseno_de_malware/taller_en_construccionsecciones_en_archivos_pe-t362515.0.html

Un saludo,
Iván Portilla.
#56
Programación C/C++ / Re: Soy nuevo en c
22 Junio 2012, 23:56 PM
Hola,

Básicamente se puede decir que un puntero es un tipo de variable de tamaño DWORD, su contenido es una dirección de memoria que contiene un valor.
Aclarando un poco:

Toda variable tiene un valor, solo que el valor de un apuntador es una dirección en memoria. Para asignarse se utiliza el operador "&" el cual proporciona la dirección de memoria de una variable, y para hacer referencia al contenido de un puntero se utiliza el operador de desreferencia "*".
int nVal = 5;
int * lpVal = &nVal
/* nVal == *lpVal;*/


Los famosos arreglos no son más que punteros a un determinada cantidad de un determinado tipo de datos, dicha información puede desreferenciarse utilizando índices o el operador de desreferencia:
int * p = (int*) malloc(5 * sizeof(int));
/* *(p + n) == p[n] */


Creo que te conviene bastante leer un manual completo ya que pueden haber bastantes casos y detalles que explicar, pero en general:
Un puntero es una variable cuyo contenido es una dirección en memoria.

Un saludo,
Iván Portilla.

#57
Hola,

Un "Joinder" o "Binder", solamente juntan un archivo con otro, o varios más. Si deseas hacer indetectable tu virus, hay mucha información al respecto, mira los enlaces que ya te dió Karcrack.

Un saludo,
Iván Portilla.
#58
Hola,

Hombre, creo que funciones como OPEN y CLOSE llaman a varias de las funciones mencionadas.
Que lo confirme Karcrack (:

Un saludo,
Iván Portilla.
#59
Hola,

Tienes 2 problemas:

  • Utilizas mal el término de intercambiar valor entre 2 variables.
  • Utilizas mal el término de punteros.

Tus errores recaen en la variable que le pasas al "scanf", debe ser un puntero. Entonces debe ser "&arreglo(i)" y en la utilización incorrecta del intercambio de variables.

Te recomiendo tratar de indentar mejor, mira que se ve un poco más claro.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{

      int i,j, aux;
      int arreglo[5];
      printf("Programa que ordena de menor a mayor 5 numeros e imprime los impares\n");
      printf("Introduce los numeros\n");
      for(i=0;i<=4;i++)
      {
          scanf("%d",&arreglo[i]);
      }
      for(i=0;i<=4;i++)
      {
          for(j=i+1;j<=4;j++)
          {
              if(arreglo[i]>arreglo[j])
              {
                  aux = arreglo[i];
                  arreglo[i] = arreglo[j];
                  arreglo[j] = aux;
              }
          }
      }
      for(i=0;i<=4;i++)
      {
          printf("El ordenamiento queda de la siguiente manera: %d\n",arreglo[i]);
      }
      for(i=0;i<=4;i++)
      {
          if((arreglo[i]%2)!=0)
          {
              printf("Los numeros impares son: %d\n",arreglo[i]);
          }
      }
      system("PAUSE");
      return 0;
}


Un saludo,
Iván Portilla.
#60
Hola,

79137913 y si en el sitio web tiene en texto plano en nuevo HASH supongamos que MD5 y tu haces tu MD5, sin necesidad de descargarlo sabrías si tienes que actualizar o no. Solo deberías descargar unos cuantos bytes correspondientes a la cadena del HASH.

PD: No lo probé, lo menciono como una alternativa.

Un saludo,
Iván Portilla.