Home
read bit.db, malloc 4gb - hbb - hyperbitblock DIR Log DIR Files DIR Refs DIR README DIR LICENSE --- DIR commit ee392dbefab96dd2dbe63530e7e068de0ec1d026 DIR parent 236aeac8518d659825c5467887e747585508098a HTML Author: kroovy <me@kroovy.de> Date: Thu, 24 Apr 2025 00:14:48 +0200 read bit.db, malloc 4gb Diffstat: M hyperbitblock.c | 46 +++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 14 deletions(-) --- DIR diff --git a/hyperbitblock.c b/hyperbitblock.c @@ -3,6 +3,7 @@ #include <stdint.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/uio.h> @@ -11,11 +12,15 @@ #include <ctype.h> #include <fcntl.h> -int is_bit_set(unsigned value, unsigned bitindex) { +int +is_bit_set(unsigned value, unsigned bitindex) +{ return (value & (1 << bitindex)) != 0; } -int str_to_ip(char *s, uint8_t *v4) { +int +str_to_ip(char *s, uint8_t *v4) +{ uint8_t oct=0; int i,j; @@ -37,24 +42,32 @@ int str_to_ip(char *s, uint8_t *v4) { return 0; } -// uint8_t v4[] = { -// -// 0b00000000 /* 18 */ -// , 0b00010000 /* 119 */ -// , 0b01001000 /* 9 */ -// , 0b10101011 /* 193 */ -// }; - -int main(void) { +int +main(void) +{ int fd; - int i, res; + FILE* db; + int i, res, ret=1; uint8_t v4[4] = {0,0,0,0}; + uint8_t* arr = malloc(4294967296); uint32_t i32 = 0; char c; char line[64]; fd = open("mynamedpipe", O_RDWR); + db = fopen("bit.db", "r"); + + int cnt=0; + while (ret > 0) { + ret = fread(arr, 1024, 1, db); + cnt++; + } + + //set some values + arr[1067179] = 255; + arr[309791169] = 255; + arr[3663462608] = 255; nextline: for (i=0; (res = read(fd, &c, 1)) > 0; i++) { //consider readline/getline @@ -65,11 +78,16 @@ nextline: } c = '\0'; } + if (strncmp(line, "q", 1) == 0) { + free(arr); + return 0; + } + str_to_ip(line, v4); i32 = (v4[0] << 24) | (v4[1] << 16) | (v4[2] << 8) | v4[3]; - printf("My IP is: %u.%u.%u.%u | ",v4[0],v4[1],v4[2],v4[3]); - printf("That calculates to: %u\n",i32); + printf("%u.%u.%u.%u\t-->\t%u\t-->\t%u\n",v4[0],v4[1],v4[2],v4[3],i32,arr[i32]); goto nextline; close(fd); + fclose(db); }