Strona 2 z 2 PierwszyPierwszy 12
Pokaż wyniki 11 do 14 z 14

Temat: Gdb

  1. #11
    Zarejestrowany
    Apr 2008
    Postów
    348

    Domyślnie

    (gdb) r AAAAA A
    Starting program: /home/lukasz/a AAAAA A
    /home/lukasz/a <password>

    Program exited with code 01.
    (gdb) r AAAAAA AAAA
    Starting program: /home/lukasz/a AAAAAA AAAA
    /home/lukasz/a <password>

    Program exited with code 01.
    (gdb)
    Program powinien skoczyć bo bufor wynosil 5mb...
    Program nie skacze tylko automatycznie jest blokowany prez jakies inne urządzenie niz jądro systemu bo gdyby jądro blokowało to by pisało::
    0x4141 in?

  2. #12
    Zarejestrowany
    Apr 2008
    Postów
    348

    Domyślnie

    Ale w ksiązce pisze(szkoła hakerów) ze powinno pisac
    0x41414141 in
    jadro sytemowe zabija programbo ten adres nie jest dostepny adres dla procesu, a tu pisze:
    ukasz@bash:~$ gdb a
    GNU gdb 6.6-debian
    Copyright (C) 2006 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB. Type "show warranty" for details.
    This GDB was configured as "i486-linux-gnu"...
    Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
    (gdb) r AAAAAAAAAAAA
    Starting program: /home/lukasz/a AAAAAAAAAAAA
    Bad password

    Program received signal SIGSEGV, Segmentation fault.
    0x080484b7 in main ()
    (gdb)
    to co oznacza ten adres 0x080484b7?Bo na pewno nie jest to adrews gdzie program chce skakac...

  3. #13

    Domyślnie

    Cytat Napisał lukasz6547 Zobacz post
    to co oznacza ten adres 0x080484b7?Bo na pewno nie jest to adrews gdzie program chce skakac...
    Jak zrobisz disassemblację funkcji main() to się dowiesz co oznacza ten adres. Przypuszczam, że pod tym adresem znajduje się instrukcja powrotu z funkcji main().

    Jedna uwaga. Proponowałbym stoworzyć inną funkcję, która będzie wywoływana z funkcji main() i następnie w niej nadpisywać to co Cię interesuje (EIP, czy też EBP).

  4. #14
    Zarejestrowany
    Apr 2008
    Postów
    348

    Domyślnie

    Teraz mój system operacyjne jest jakis lewy(to ten sam program co wczesniej):
    NU gdb 6.6-debian
    Copyright (C) 2006 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB. Type "show warranty" for details.
    This GDB was configured as "i486-linux-gnu"...
    Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
    (gdb) r AAAAAA"\x8a\x37\xcd\xbf"
    Starting program: /home/lukasz/a AAAAAA"\x8a\x37\xcd\xbf"
    Bad password

    Program received signal SIGSEGV, Segmentation fault.
    0x080484b7 in main ()
    (gdb) info frame
    Stack level 0, frame at 0x33785c69:
    eip = 0x80484b7 in main; saved eip Cannot access memory at address 0x33785c65
    (gdb)
    dlaczego skoro przekazałem nadpisałem eipa aresem 0x33785c69 program skacze do adresu 0x33785c65 to jest jakies powalone...co sie dzieje z tym?widac na listingu dokladnie ze program chce skoczyc,ale dlaczego nie pod ten adrs który podałem

Strona 2 z 2 PierwszyPierwszy 12

Podobne wątki

  1. Problemy z gdb
    By lukasz6547 in forum Hacking
    Odpowiedzi: 1
    Autor: 04-13-2008, 15:33

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj