recover_local_secret.c 849 Bytes
Newer Older
Caleb C. Sander's avatar
Caleb C. Sander committed
1
#include <inttypes.h>
Adam Blank's avatar
Adam Blank committed
2
#include <stdio.h>
Caleb C. Sander's avatar
Caleb C. Sander committed
3
#include <stdlib.h>
Adam Blank's avatar
Adam Blank committed
4
5
6
7
8

#include "util.h"

#include "stage3.h"

Caleb C. Sander's avatar
Caleb C. Sander committed
9
10
11
const size_t MIN_CHOICE = 'A' - 1;
const size_t MAX_CHOICE = 'Z' + 1;
const size_t SECRET_LENGTH = 5;
Adam Blank's avatar
Adam Blank committed
12

Caleb C. Sander's avatar
Caleb C. Sander committed
13
static inline page_t *init_pages(void) {
14
    return calloc(MAX_CHOICE + 1, sizeof(page_t));
Adam Blank's avatar
Adam Blank committed
15
16
17
18
19
20
21
22
23
24
25
}

static inline void flush_all_pages(page_t *pages) {
    // TODO: Copy me from the previous stage
}

static inline size_t guess_accessed_page(page_t *pages) {
    // TODO: Copy me from the previous stage
    return 0;
}

Caleb C. Sander's avatar
Caleb C. Sander committed
26
27
static inline void do_access(page_t *pages, size_t secret_index) {
    // TODO: Implement me using force_read().  I am a very short function.
Adam Blank's avatar
Adam Blank committed
28
29
30
}

int main() {
31
    page_t *pages = init_pages();
Adam Blank's avatar
Adam Blank committed
32
33
34
35

    // TODO: Copy me from the previous stage and edit me so I loop over SECRET_LENGTH characters.

    printf("\n");
36
    free(pages);
Adam Blank's avatar
Adam Blank committed
37
}