Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* hacking.h - simple web server */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- // A function to display an error message and then exit
- void fatal(char *message) {
- char error_message[100];
- strcpy(error_message, "[!!] Fatal Error ");
- strncat(error_message, message, 83);
- perror(error_message);
- exit(-1);
- }
- // An error checked malloc() wrapper function
- void *ec_malloc(unsigned int size) {
- void *ptr;
- ptr = malloc(size);
- if(ptr == NULL)
- fatal("in ec_malloc() on memory allocation");
- return ptr;
- }
- // dumps raw memory in hex byte and printable split format
- void dump(const unsigned char *data_buffer, const unsigned int length) {
- unsigned char byte;
- unsigned int i, j;
- for(i=0; i < length; i++) {
- byte = data_buffer[i];
- printf("%02x ", data_buffer[i]); // display byte in hex
- if(((i%16)==15) || (i==length-1)) {
- for(j=0; j < 15-(i%16); j++)
- printf(" ");
- printf("| ");
- for(j=(i-(i%16)); j <= i; j++) { // display printable bytes from line
- byte = data_buffer[j];
- if((byte > 31) && (byte < 127)) // outside printable char range
- printf("%c", byte);
- else
- printf(".");
- }
- printf("\n"); // end of the dump line (each line 16 bytes)
- } // end if
- } // end for
- }
Add Comment
Please, Sign In to add comment