All pastes #366016 Raw Edit

Stack/Heap Overflow

public cpp v1 · immutable
#366016 ·published 2007-02-21 12:59 UTC
rendered paste body
// hack1.cpp : Defines the entry point for the console application.//#include <stdio.h>#include <string.h>#include <stdlib.h>const size_t buffer_size = 16;char*  buffer_data = "AAAABBBBCCCCDDDDEEEEFFFFGGGG";void print_mem(void* mem, int len, int bytes_in_line = 8);void stack_func(char* data);void heap_func(char* data);int main(int argc, char* argv[]){	stack_func(buffer_data); // 28 + 1	heap_func(buffer_data); // 28 + 1	return 0;}void stack_func(char* data){	char buffer[buffer_size];		memset(buffer,0,buffer_size);		strcpy(buffer,data);	print_mem(buffer,2*buffer_size);}void heap_func(char* data){	char* buffer = (char*) malloc(buffer_size);	memset(buffer,0,buffer_size);		strcpy(buffer,data);	print_mem(buffer,2*buffer_size);	free(buffer);}void print_mem(void* mem, int len, int bytes_in_line){	for(int i = 0; i < len; i++)	{		if(i % bytes_in_line == 0)		{			printf("\n");		}				printf("0x%02X",((unsigned char*)mem)[i]);		if(i < len-1)		{			printf(" ");		}	}	printf("\n");}