Внутренняя переменная GCC p.0? (Для чего предназначенна переменная GCC p.0)

Модератор: Модераторы разделов

c0redump
Сообщения: 2

Внутренняя переменная GCC p.0?

Сообщение c0redump »

Для чего предназначенна внутренняя переменная GCC p.0?
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Внутренняя переменная GCC p.0?

Сообщение allez »

Переменная с точкой в имени? Вы ничего не путаете? Расскажите, пожалуйста, где вам это встретилось.
Спасибо сказали:
c0redump
Сообщения: 2

Re: Внутренняя переменная GCC p.0?

Сообщение c0redump »

Damn Vulnerable Linux 1.5, /dvl/exploitmes_package_01/exploitme012/exploitme012.c:
--------------------------------------------------------------------

Код: Выделить всё

/**
 *  Mission: Overwrite the .dtors section
 *  Shellcode: Create a file `/tmp/exploitme-contest'
 *
 *  Original author: Joel Eriksson <je@0xbadc0ded.org>
 */

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

unsigned long val = 31337;
unsigned long *lp = &val;

int main(int argc, char **argv)
{
  unsigned long **lpp = &lp, *tmp;
  char buf[128];

  if (argc != 2)
    exit(1);

  strcpy(buf, argv[1]);

  if (((unsigned long) lpp & 0xffff0000) != 0x08040000)
    exit(2);

  tmp = *lpp;
  **lpp = (unsigned long) &buf;
  *lpp = tmp;

  exit(0);
}

-----------------------------------------------------------------

$ gcc --version
gcc (GCC) 3.4.6
$ gcc -o temp ./exploitme012.c
$ nm temp | grep -e 'p\.0'
08049678 d p.0

-----------------------------------------------------------------

DVL 1.5 - дистрибутив основанный на BackTrack 2.0, который в свою очередь основан на Debian
Спасибо сказали: