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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  [GDB] ¿Cómo consultar "Examinar memoria" con tamaño dinámico?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [GDB] ¿Cómo consultar "Examinar memoria" con tamaño dinámico?  (Leído 3,890 veces)
BloodSharp


Desconectado Desconectado

Mensajes: 812


¡ Hiperfoco !


Ver Perfil WWW
[GDB] ¿Cómo consultar "Examinar memoria" con tamaño dinámico?
« en: 11 Junio 2021, 01:25 am »

Buenas gente del foro, desde hace poco estoy aprendiendo a utilizar GDB y quisiera saber como se podría usar el comando examinar memoria sabiendo que fue previamente almacenado en una variable el tamaño del buffer...

Programa de ejemplo de para practicar:
Código
  1. #include <cstdio>
  2. #include <cstdlib>
  3. #include <ctime>
  4. #include <cstdint>
  5.  
  6. int main(int argc, char**argv)
  7. {
  8.    char *pBuffer=0;
  9.    int index=0,iUnknownSize=0;
  10.  
  11.    srand(time(NULL));
  12.  
  13.    do
  14.    {
  15.        iUnknownSize=rand()%20+1;
  16.    }
  17.    while(iUnknownSize<=0);
  18.  
  19.    pBuffer=(char*)malloc(iUnknownSize);
  20.    if(pBuffer)
  21.    {
  22.        for(;index<iUnknownSize;index++)
  23.            pBuffer[index]=(char)(rand()%254+1)&0xFF;
  24.        printf("Comienza el procesado...\n");
  25.        for(index=0;index<iUnknownSize;index++)
  26.            printf("%X\n",(char)(pBuffer[index]&(uint64_t)0xFF));
  27.        printf("Finaliza el procesado...\n");
  28.        free(pBuffer);
  29.    }
  30.    printf("\n");
  31.    return 0;
  32. }
  33.  

Al poner un breakpoint al primer printf que es lo que me interesaría puedo consultar la variable iUnknownSize y luego utilizarla con el comando x (examinar memoria)



Pero la idea sería final sería poner al breakpoint un comando automático que dumpee como lo siguiente:

Código:
x/(obtener valor de iUnknownSize)xb pBuffer

¿Mi pregunta sería hay alguna manera de especificarle depurador dicho valor al examinar?


B#
« Última modificación: 11 Junio 2021, 01:30 am por BloodSharp » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines