Mostrar Mensajes

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

Mensajes - mr.blood

Páginas: [1] 2 3 4
1
Ingeniería Inversa / [KeygenMe] Matrix
« en: Marzo 24, 2015, 02:48:04 pm »
Aquí os dejo un KeygenMe, espero que os guste. Está programado en C++ no sé que nivel de dificultad decir que tiene, para crackearlo será nivel 0, pero el reto es hacer un keygen :).

Solo los usuarios pueden ver los links. Registrate o Ingresar

SaluDoS

2
Para empezar de 0 probablemente Batch o Bash, algo sencillo y funcional, de ahí puedes pasar a un lenguaje como Python o VB y ya dar el salto a C o C++ para hacer cosas mas serias. (No me gusta Java, por muy de moda que esté).

Sa1uDoS

3
Dudas y pedidos generales / Re:¿Que partes son las que hacen buena PC?
« en: Agosto 04, 2013, 05:23:12 am »
Depende para que quieras el PC.

Tienes que tener en cuenta cuanto consumen los componentes para comprar la fuente de alimentación, por eso yo dejaría esta para el final.
Si no quieres un PC para jugar, puedes comprar una gráfica más normalita y gastarte más en el procesador (que es lo más caro).
Antes que nada debes mirar una placa madre compatible con los componentes que quieras comprar.
La RAM es bastante barata, solo debes mirar la compatibilidad con la motherboard.

No tiene porque ser el mejor PC, tiene que ser un PC adecuado a tus necesidades, para no gastar más de la cuenta.

Sa1uDoS

4
C / C++ / Re:Calculadora básica en C
« en: Julio 15, 2013, 07:42:06 am »
Te dejo el código un poco más corto:

Código: C
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.    Solo los usuarios pueden ver los links. Registrate o Ingresar("####################################\n");
  5.    Solo los usuarios pueden ver los links. Registrate o Ingresar("## Calculadora basica by Metadato ##\n");
  6.    Solo los usuarios pueden ver los links. Registrate o Ingresar("####################################\n");
  7.  
  8.    char operaciones;
  9.    float a,b;
  10.    Solo los usuarios pueden ver los links. Registrate o Ingresar("Suma (S), Resta (R), Multiplicacion (M), Division (D): ");
  11.    Solo los usuarios pueden ver los links. Registrate o Ingresar("%c",&operaciones);
  12.    
  13.    Solo los usuarios pueden ver los links. Registrate o Ingresar("Ingresa los operandos:\n");
  14.    Solo los usuarios pueden ver los links. Registrate o Ingresar("%f %f",&a,&b);
  15.  
  16.    switch(operaciones){
  17.  
  18.     case 'S' :
  19.     Solo los usuarios pueden ver los links. Registrate o Ingresar("%.2f + %.2f = %.2f",a,b,a+b);
  20.     break;
  21.  
  22.     case 'R' :
  23.     Solo los usuarios pueden ver los links. Registrate o Ingresar("%.2f - %.2f = %.2f",a,b,a-b);
  24.     break;
  25.  
  26.     case 'M' :
  27.     Solo los usuarios pueden ver los links. Registrate o Ingresar("%.2f * %.2f = %.2f",a,b,a*b);
  28.     break;
  29.  
  30.     case 'D' :
  31.     Solo los usuarios pueden ver los links. Registrate o Ingresar("%.2f / %.2f = %.2f",a,b,a/b);
  32.     break;
  33.  
  34.     default : Solo los usuarios pueden ver los links. Registrate o Ingresar("Error!! Quizas hayas escrito la letra en minuscula...");
  35.    }
  36.  
  37.     return 0;
  38. }
  39.  

Sa1uDoS

5
O no tienes conceptos claros o yo no te entiendo. PEB es una estructura de Windows: Solo los usuarios pueden ver los links. Registrate o Ingresar y Solo los usuarios pueden ver los links. Registrate o Ingresar

Creo que te refieres al PE y no al PEB. Puedes meter los datos que quieras, pero dependiendo de lo que quieras hacer con esos datos debes darle unos permisos u otros. Para que se ejecuten, en algún punto tiene que haber una llamada a esa zona. La forma más sencilla es cambiar el Entry Point.

Sa1uDoS

6
Ingeniería Inversa / Re:[InyectMe] Edge
« en: Julio 08, 2013, 06:32:09 pm »
Solo los usuarios pueden ver los links. Registrate o Ingresar

Sa1uDoS

7
Me apunto, si me dejan :P.

Sa1uDoS

8
Dudas y pedidos generales / Re:¿Qué hago con la shellcode?
« en: Junio 30, 2013, 06:24:42 pm »
No se en Win, no lo toco demasiado, pero en Linux funciona ;).

Debería funcionar dándole los permisos adecuados no?

Sa1uDoS

9
Dudas y pedidos generales / Re:¿Qué hago con la shellcode?
« en: Junio 30, 2013, 04:39:21 pm »
Sí, es C, puedes quitar la sentencia del printf. Solo muestra la longitud de la shellcode, es algo opcional.

Puedes compilar con gcc o g++ como quieras, lo suyo, por ser C, es compilar con gcc ;). (Dev-C++ es un IDE, bastante obsoleto por cierto, te recomiendo usar otro como Code::Blocks).

Sa1uDoS

10
Dudas y pedidos generales / Re:¿Qué hago con la shellcode?
« en: Junio 30, 2013, 12:38:54 pm »
Tienes un array de char, cada char ocupa 1 byte, en el metes la shellcode byte a byte.

El printf imprime la longitud de la shellcode.

(*(void(*)()) code)();

Simplemente llama a code como si fuera una función sin parámetros y que no devuelve ningún valor.

Sa1uDoS

11
Dudas y pedidos generales / Re:¿Qué hago con la shellcode?
« en: Junio 30, 2013, 12:05:22 pm »
Ese es un código de Sagrini.

Donde pone code[]="..." pones tu shellcode ;).

Sa1uDoS

12
Dudas y pedidos generales / Re:¿Qué hago con la shellcode?
« en: Junio 30, 2013, 12:01:30 pm »
Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. char code[] = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80";
  5.  
  6. int main(int argc, char **argv)
  7. {
  8.    Solo los usuarios pueden ver los links. Registrate o Ingresar ("TinShell V1.0 : By Sagrini : %d bytes\n", Solo los usuarios pueden ver los links. Registrate o Ingresar (code));
  9.    (*(void(*)()) code)();
  10.    return 0;
  11. }
  12.  

Te sirve?

Sa1uDoS

13
Dudas y pedidos generales / Re:ayuda con c
« en: Junio 30, 2013, 05:35:37 am »
Eso creo que debes hacerlo en ring0, porque hoy en día los distintos procesos no comparten la memoria sino que el SO virtualiza memoria para cada proceso. Creo que no puedes acceder a toda la memoria a no ser que trabajes a nivel ring0.

Sa1uDoS

14
Dudas y pedidos generales / Re:Duda de kali
« en: Junio 23, 2013, 11:45:26 am »
Teóricamente no deberías tener ningún problema, solo que no aprovecharán todos los recursos de tu PC.

Prueba y nos cuentas ;)

Sa1uDoS

15
Dudas y pedidos generales / Re:para que sirve usar push ebp?
« en: Junio 23, 2013, 11:41:29 am »
Antes de nada, debeis saber que ESP y EBP son punteros al stack. StackPointer(SP) y BasePointer(BP). SP apunta al tope y BP a la base.



Se utiliza antes de entrar a una función para cambiar el marco del stack.

ESP
datos
datos
EBP

Guarda en el stack el antiguo valor de EBP para luego recuperarlo. Mueve ESP a EBP de modo que no se sobreescriban los datos anteriormente guardados ;). El sub ESP, 4 "reserva" 4 bytes en el stack.

Luego, al salir de la funcion debes usar leave para que los registros tomen los valores que tenian al principio.

Sa1uDoS

16
Me funciona perfectamente. El OllyDbg no crashea.

Sa1uDoS

17
La primera instrucción que pongo, y el Olly no crashea...

Sa1uDoS

18
Ingeniería Inversa / [InyectMe] Edge
« en: Junio 16, 2013, 03:10:08 pm »
Hoy les dejo un InyectMe muy sencillito, para que los nuevos practiquen un poco ;).

Deben cambiar el "Cambiame" del MessageBox por su nick, así de sencillo. Cuando lo consigan me envían un MP con una captura y les agrego al Hall Of Fame.

[Edge] InyectMe.rar (486 B)
Solo los usuarios pueden ver los links. Registrate o Ingresar
Solo los usuarios pueden ver los links. Registrate o Ingresar

Sa1uDoS

19
Off Topic / Re:una pregunta para todos
« en: Junio 11, 2013, 04:43:13 am »
Totalmente autodidacta, estoy cursando 1º Bachiller y es la primera vez en mi vida que doy informática.

Creo que si le pone interés y tiene ciertas habilidades naturales, el que estudia será mejor que el autodidacta. Al menos en mi caso no me pongo a mirar, por poner un ejemplo, matemáticas mientras que en una carrera las dan.

Aun así conozco muchos "ingenieros" sin ninguna idea, así que todo depende. Lo que está claro es que estudiando deberías aprender más en menos tiempo. (Yo llevo 4 años en esto y no se lo mismo que DEBERÍA saber cualquier ingeniero).

Sa1uDoS

20
Códigos Fuentes / [C] Agenda con listas enlazadas
« en: Junio 11, 2013, 03:14:13 am »
EDITO: Sorry, Google me trolleó este código no es mío es de myguestp lo confundí con uno mío muy parecido. Todos los créditos a él.



Traigo este código como un pequeño ejemplo de listas enlazadas. Lo hice hace ya un par de años así que seguramente no lo volvería a hacer igual :P.

Código: C
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define ID_NAME 60
  6. #define ID_APELLIDO1 61
  7. #define ID_APELLIDO2 62
  8. #define ID_TELEFONO 63
  9.  
  10.  
  11. typedef struct lista
  12. {
  13.     char nombre[10], apellido1[10], apellido2[10], telefono[10];
  14.     struct lista *siguiente;
  15. }lista;
  16.  
  17. lista *primero=NULL, *ultimo=NULL;
  18.  
  19. void cls();
  20. void pause();
  21. void delnewline(char *array);
  22. void additem();
  23. void recorrer();
  24. bool finditem(char *word, int flag);
  25.  
  26. int main()
  27. {
  28.     int opc, id;
  29.     char word[10], op[10];
  30.     lista *aux;
  31.    
  32.     while(opc!=4)
  33.     {
  34.         Solo los usuarios pueden ver los links. Registrate o Ingresar("Indica que hacer:\n\n 1.Introducir contacto\n 2.Recorrer agenda\n 3.Buscar contacto\n 4.Salir\n\n");
  35.         Solo los usuarios pueden ver los links. Registrate o Ingresar("%i", &opc);
  36.         cls();
  37.         switch(opc)
  38.         {
  39.             case 1:
  40.                 additem();
  41.             break;
  42.             case 2:
  43.                 recorrer();
  44.                 pause();
  45.             break;
  46.             case 3:
  47.                 Solo los usuarios pueden ver los links. Registrate o Ingresar("Indica por que criterio buscar(nombre, apellido1, apellido2 o telefono): ");
  48.                 Solo los usuarios pueden ver los links. Registrate o Ingresar("%s", op);
  49.                 delnewline(op);
  50.                 if(Solo los usuarios pueden ver los links. Registrate o Ingresar(op, "nombre")==0) id=ID_NAME;
  51.                 else if(Solo los usuarios pueden ver los links. Registrate o Ingresar(op, "apellido1")==0) id=ID_APELLIDO1;
  52.                 else if(Solo los usuarios pueden ver los links. Registrate o Ingresar(op, "apellido2")==0) id=ID_APELLIDO2;
  53.                 else if(Solo los usuarios pueden ver los links. Registrate o Ingresar(op, "telefono")==0) id=ID_TELEFONO;
  54.                 else break;
  55.                 cls();
  56.                 Solo los usuarios pueden ver los links. Registrate o Ingresar("Indica la palabra a buscar:\n\n");
  57.                 Solo los usuarios pueden ver los links. Registrate o Ingresar("%s", word);
  58.                 cls();
  59.                 finditem(word, id);
  60.                 pause();
  61.             break;
  62.             case 4:
  63.             break;
  64.             default:
  65.                 Solo los usuarios pueden ver los links. Registrate o Ingresar("Elije una opcion correcta");
  66.             break;
  67.         }
  68.         cls();
  69.     }
  70.     aux=primero;
  71.     while(aux!=NULL)
  72.     {
  73.         Solo los usuarios pueden ver los links. Registrate o Ingresar(aux);
  74.         aux=aux->siguiente;
  75.     }
  76.     return 0;
  77. }
  78.  
  79. void cls()
  80. {
  81.     #ifndef WIN32
  82.      Solo los usuarios pueden ver los links. Registrate o Ingresar("clear");
  83.     #else
  84.      Solo los usuarios pueden ver los links. Registrate o Ingresar("cls");
  85.     #endif
  86. }
  87.  
  88. void pause()
  89. {
  90.     Solo los usuarios pueden ver los links. Registrate o Ingresar(stdin, NULL);
  91.     Solo los usuarios pueden ver los links. Registrate o Ingresar();
  92. }
  93. void delnewline(char *array)
  94. {
  95.     while(*array!='\0')
  96.     {
  97.         if(*array=='\n')
  98.         {
  99.             *array='\0';
  100.         }
  101.         array++;
  102.     }
  103. }
  104.  
  105. void additem()
  106. {
  107.     lista *nuevo;
  108.     nuevo=(lista*)Solo los usuarios pueden ver los links. Registrate o Ingresar(sizeof(lista));
  109.     Solo los usuarios pueden ver los links. Registrate o Ingresar("Introduce el nombre completo(ejemplo: Miguel Ruiz Cruz):\n\n");
  110.     Solo los usuarios pueden ver los links. Registrate o Ingresar("%s %s %s", nuevo->nombre, nuevo->apellido1, nuevo->apellido2);
  111.     Solo los usuarios pueden ver los links. Registrate o Ingresar("\nIntroduce ahora el numero de telefono(9 cifras): ");
  112.     Solo los usuarios pueden ver los links. Registrate o Ingresar("%s", nuevo->telefono);
  113.     cls();
  114.     delnewline(nuevo->nombre);
  115.     delnewline(nuevo->apellido1);
  116.     delnewline(nuevo->apellido2);
  117.     delnewline(nuevo->telefono);
  118.     if(primero==NULL)
  119.     {
  120.         primero=(lista*)Solo los usuarios pueden ver los links. Registrate o Ingresar(sizeof(lista));
  121.         ultimo=(lista*)Solo los usuarios pueden ver los links. Registrate o Ingresar(sizeof(lista));
  122.         if(!primero || !ultimo)
  123.         {
  124.             Solo los usuarios pueden ver los links. Registrate o Ingresar("No se pudo reservar memoria para el item");
  125.             return;
  126.         }
  127.         primero=nuevo;
  128.         primero->siguiente=ultimo;
  129.         ultimo=nuevo;
  130.         ultimo->siguiente=NULL;
  131.         return;
  132.     }
  133.     ultimo->siguiente=nuevo;
  134.     ultimo=nuevo;
  135.     ultimo->siguiente=NULL;
  136.     return;
  137. }
  138.  
  139. void recorrer()
  140. {
  141.     lista *aux;
  142.     aux=primero;
  143.     if(aux==NULL)
  144.     {
  145.         Solo los usuarios pueden ver los links. Registrate o Ingresar("Lista vacia");
  146.         return;
  147.     }
  148.     while(aux!=NULL)
  149.     {
  150.         Solo los usuarios pueden ver los links. Registrate o Ingresar("Nombre: %s %s %s  Telefono: %s\n\n", aux->nombre, aux->apellido1, aux->apellido2, aux->telefono);
  151.         aux=aux->siguiente;
  152.     }
  153.     return;
  154. }
  155.  
  156. bool finditem(char *word, int flag)
  157. {
  158.     lista *aux;
  159.     int cont=0;
  160.     aux=primero;
  161.     if(aux==NULL)
  162.     {
  163.         return false;
  164.     }
  165.     if(flag==ID_NAME)
  166.     {
  167.         while(aux!=NULL)
  168.         {
  169.             if(Solo los usuarios pueden ver los links. Registrate o Ingresar(aux->nombre, word)==0)
  170.             {
  171.                 Solo los usuarios pueden ver los links. Registrate o Ingresar("Nombre: %s %s %s Telefono: %s\n", aux->nombre, aux->apellido1, aux->apellido2, aux->telefono);
  172.                 cont++;
  173.             }
  174.             aux=aux->siguiente;
  175.         }
  176.     }
  177.     else if(flag==ID_APELLIDO1)
  178.     {
  179.         while(aux!=NULL)
  180.         {
  181.             if(Solo los usuarios pueden ver los links. Registrate o Ingresar(aux->apellido1, word)==0)
  182.             {
  183.                 Solo los usuarios pueden ver los links. Registrate o Ingresar("Nombre: %s %s %s Telefono: %s\n", aux->nombre, aux->apellido1, aux->apellido2, aux->telefono);
  184.                 cont++;
  185.             }
  186.             aux=aux->siguiente;
  187.         }
  188.     }
  189.     else if(flag==ID_APELLIDO2)
  190.     {
  191.         while(aux!=NULL)
  192.         {
  193.             if(Solo los usuarios pueden ver los links. Registrate o Ingresar(aux->apellido2, word)==0)
  194.             {
  195.                 Solo los usuarios pueden ver los links. Registrate o Ingresar("Nombre: %s %s %s Telefono: %s\n", aux->nombre, aux->apellido1, aux->apellido2, aux->telefono);
  196.                 cont++;
  197.             }
  198.             aux=aux->siguiente;
  199.         }
  200.     }
  201.     else if(flag==ID_TELEFONO)
  202.     {
  203.         while(aux!=NULL)
  204.         {
  205.             if(Solo los usuarios pueden ver los links. Registrate o Ingresar(aux->telefono, word)==0)
  206.             {
  207.                 Solo los usuarios pueden ver los links. Registrate o Ingresar("Nombre: %s %s %s Telefono: %s\n", aux->nombre, aux->apellido1, aux->apellido2, aux->telefono);
  208.                 cont++;
  209.             }
  210.             aux=aux->siguiente;
  211.         }
  212.     }
  213.     if(cont==0)
  214.     {
  215.         Solo los usuarios pueden ver los links. Registrate o Ingresar("No se encontraron resultados");
  216.         return false;
  217.     }
  218.     Solo los usuarios pueden ver los links. Registrate o Ingresar("\nSe encontraron %i resultados", cont);
  219.     return true;
  220. }

Sa1uDoS

Páginas: [1] 2 3 4