조금만 도와주세요ㅠ

안녕하세요.
문제의 설명대로 풀이를 진행하면서 찾아야할 주소를 추측할 수 있었습니다.
해당 주소에서 srand()를 사용하며 Seed 값으로 0xFFFFFFFF가 들어가는 것을 확인하였습니다.
여기서 Seed 값으로 들어가는 0xFFFFFFFF를 문제에서 말하는 조작된 값으로 추측하여 26회 해킹캠프 날짜로 바꿔주었습니다.

그 후, 아래 코드와 같이 랜덤값과 특정한 값의 xor연산을 통해 바이트 배열을 생성하는 것을 확인하였습니다.

    srand(seed);
    for(int i = 0; i < 1000; i++)
    {
        unsigned char R = rand() % 100;
        result[i] = (a[R] ^ b[i]) & 0xff;
    }

생성된 바이트 배열은 아래 그림(중간 생략)과 같습니다.

image.png

여기까지 진행하였으나 더 이상 풀지 못 하고 있습니다...
일단은 지금까지 잘 푼게 맞을 까요?? 맞다면 여기서 무엇을 더 해야 할까요ㅠㅠ??
조금만 힌트 알려주시면 감사하겠습니다!!

#reversing
작성자 정보
답변 1
kimht
공부벌레

계산된 배열이 어떻게 사용되는지를 분석해 보시면 좋을 듯합니다.

2024.03.07. 18:22
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기