Je hebt een klacht over de onderstaande posting:
Wat probeer je precies te laten zien met deze functie? Het heeft naar mijn idee niets te maken met het overflowen van een buffer, wanneer jij vindt dat dat wel is mag jij mij vertellen welke buffer :D De reden dat jij een SIGSEGV krijgt is omdat je probeert te lezen uit een stuk geheugen dat niet gealloceerd is door je programma, ofwel je Address Space. Daarbij moet je erop letten, bij een echte overflow, of er geen beveiligingsfuncties in je kernel zitten zoals, Stack Randomization of het disablen van het uitvoeren van functies op de Stack... Hetgeen wat jij ziet in dit stukje: starting program: /home/shellcode/printf1 Program recieved signal SIGSEGV. Semgentation fault. 0x0804945f in shellcode (). (gdb)x/100 $esp-100 0xbffff340: 0x0804844 0x00000090 0x00000090 0x00000090 0xbffff350: 0x0000009 0x00000090 0x00000090 0x00000090 0xbffff360: 0x0000001 Is dat de functie printf() voordat hij uitgevoerd wordt, de argumenten op de stack plaatst zodat deze later in de functie zelf ...
Beschrijf je klacht (Optioneel):