XOR IT'S FUN

2018. 4. 2. 02:110x02 Reverse Engineer/0x03. Etc

728x90

출처 : https://stop2y.blog.me/


이 분의 블로그를 구경하다가 리버싱 문제를 하나 보게 되어 풀어보았다. 


알고리즘은 다음과 같다.


코드는 다음과 같다.

#include <stdio.h>

#include <stdlib.h>


int main()

{

char arr[] = "\x42\x69\x74\x78\x2c\x5c\x6D\x7f\x7f\x7b\x63\x7e\x68\x2c\x36\x2c\x5f\x6f\x6d\x61\x7c\x69\x7e";

char result[24] = { 0 };

int xor_num = 0; 

while (xor_num < 255)

{

printf("%d번째 : ", xor_num);


for (int i = 0; i < sizeof(arr) / sizeof(arr[0])-1; i++)

{

result[i] = arr[i] ^ xor_num;

result[i] &= 0xFF;


}


for (int i = 0; i < sizeof(arr) / sizeof(arr[0])-1; i++) {

printf("%c", result[i]);

}

xor_num++;

printf("\n");

}

}


답은 다음과 같다.


XOR 만을 이용한 문제 였다.

'0x02 Reverse Engineer > 0x03. Etc' 카테고리의 다른 글

Simple Crack Me Writeup  (0) 2018.04.28
BruteForce is Wonderful!  (0) 2018.04.02
예전에 풀었던 Abex을 키젠 으로 다시 풀기  (0) 2018.03.15
2018 해킹캠프문제 2  (0) 2018.01.13
2018 해킹캠프 문제 1  (0) 2018.01.12