문제 rev-basic-4 | 워게임 | Dreamhack rev-basic-4 Reversing Basic Challenge #4 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출 dreamhack.io 풀이 언제나 그렇듯 Correct와 Wrong으로 분류되는 exe 파일입니다. 이번에는 비트 연산을 하는 것 같습니다. byte_140003000에 저 조건문에 맞춰 암호화된 값이 있을거 같습니다. 조건문에 있는 내용은 아래에서 다루겠습니다. 배열의 값들이 보입니다. rev-basic-3번과 비슷하게 풀면 될거 같습니다. 앞서 위에 있던 조건문을 역산하면 '(값 >> 4..
문제 rev-basic-2 | 워게임 | Dreamhack rev-basic-2 Reversing Basic Challenge #2 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출 dreamhack.io 풀이 또 동일한 파일입니다. 마찬가지로 sub_140001000으로 가봅니다. for문이 있네요. 0x12(정수로는 18)번 만큼 aC 배열의 값을 1byte씩 비교하며 틀릴 경우 0, 맞을 경우 1을 출력하는 코드입니다. aC 클릭해서 해당 부분으로 가보겠습니다. 문자가 한 줄에 하나씩 나열되어 있습니다. 플래그를 찾았습니다.
문제제 rev-basic-3 Reversing Basic Challenge #3 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출 dreamhack.io 풀이 이제부터 슬슬 어려워 지기 시작합니다. (그래봤자 드림핵에서는 Level 1이지만...) 첫 모습은 rev-basic-0, 1번과 같이 사용자로부터 무언가를 입력받는 구조를 하고 있습니다. 또 다시 sub_140001000으로 이동해봅시다. 그런데 이번에는 문자열이 보이는 것도 아니고, 상당히 복잡한 구조가 나왔습니다. F5(디컴파일)를 눌러 C언어로 작성된 코드를 한번 봅시다. 이제 우리에게 익숙한 C언어가 보입니..
rev-basic-1 | 워게임 | Dreamhack rev-basic-1 Reversing Basic Challenge #1 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출 dreamhack.io 풀이 저번 게시글인 rev-basic-0를 푸신 분이라면 이번 문제는 정말 손쉽게 푸실 수 있습니다. 이번에도 처음 부분은 동일한 구조를 가지고 있습니다. 한번 sub_140001000으로 들어가 봅시다. 어, 그런데 저번과는 뭔가 다르게 복잡한 구조를 가지고 있습니다. 하지만 첫번째 주소에서 문자 'C'가 있고, 다음 주소에서는 'o', 그 다음에는 'm'... 이 있다는 ..