
Reverse Engineering 로드맵 혼자실습 문제이다. 다른 실습 문제들은 로드맵 자료에 풀이가 다 나와있으므로 이 문제만 write-up을 작성해보겠다.로드맵을 따라 IDA로 문제를 풀어본다.IDA로 파일을 열고 main을 찾으면 다음과 같다.Input과 %2
이 문제를 풀었다 언제나 그랬듯이 문자열 참조해서 jump 하기 바로 직전 함수에 접근해보았다. cmp rax, 18 -> flag는 총 0x18, 즉 24자리이다. 실행시키며 확인한 것은 입력한 첫번째 문자와 두번째 문자를 더한 값이 AD이면 반복, 두번째

이 문제 풀었다!...ㅎ 분석하는데 많이 막혔다...양심고백 먼저 하면 x32dbg로 분석하다가 함수 부분에서 IDA 참고했다.(ㅠㅠ)아무튼 일단 x32dbg로 살펴본다. 문자열 참조해서 입력값 검증하는 함수를 찾아들어가면이런 화면을 확인할 수 있다.cmp rax,12

rev-basic-6 풀고 나니까 훨씬 수월하게 풀렸다. x32dbg로 입력값 검증 함수 확인해보자.여기다. 이번에는 21번 반복한다.입력값\*FB와 FF를 and 연산하고, 그 값이 7FF6F3363000 배열에 있는 값과 같은지 검증한다. 7FF6F3363000에서
이 문제를 풀었다~ x32dbg로 입력값 검증 함수를 보면 이렇게 생겼다. 31번 반복한다! 실행해보며 확인한 비교과정을 정리해보면! 반복 횟수는 rax에 저장되어 1씩 증가한다. 입력값의 하위 8비트를 왼쪽으로 (rax%8)만큼 비트 회전 시킨다. 비트회

이 문제를 풀었다. (사실 rev-basic-9) 풀려고 했는데... 못 풀어서...ㅎ 그리고 웹 리버싱이라 좀 재밌어보이기도 해서 라잇업 참고해가면서 풀었다. 문제파일은 HTML 파일인데, 이렇게 생겼다. 맞는 6자리 생년월일을 입력하면 flag가 나오는 모양

이 문제 풀 것이다~!ㅇㅏ.... elf 파일 싫어. . . . . .x64dbg로 안 열려서 IDA로 열었다. x64dbg에서 하던 것처럼 문자열 검색해서 Correct부터 찾자.음... IDA로 분석하는 법 잘 모르느데ㅠ그냥 느낌이 sub_40BB20 실행해서 사용

이 문제를 풀었다. 저번에 풀다가 빡쳐서 함 던지고... 다시 도전역시 elf 파일이기 때문에 IDA로 분석했다.눈여겨봐야 할 부분은 s1 배열을 거꾸로 저장한다는 것이다.v6에는 실행할 때마다 달라지는 랜덤 넘버, v7에는 입력한 값이 저장된다. 그리고 s에는 v6^

이 문제를 풀었다. 저번에 풀던 코드엔진 시리즈 문제인데... 풀었던 문제는 아니다.문제 파일은 pdf로 주어진다. 한 페이지짜리 짧은 pdf인데 확인할 부분도 한 줄 밖에 안 된다.여기만 확인하면 되는데! loc_401950에서 false가 나오면이 코드로 점프한다.

마찬가지로 코드엔진 문제이고, 문제파일은 pdf이다.Malware L07과 같은 pdf 파일인데, 파일 쭉 확인하면서 수상한 부분을 찾는다. Thread Mutex 구하라는데 CreateThread 하고 나서 CreateMutex 하지 않는가... 수상하자나Create

이 문제를 풀었다.elf 패치 문제라 바로 실행이 안 되어서 고민을 좀 했던 문제당.IDA에서 문제 파일을 열어 main을 살펴본다.eax와 0x2337을 비교하여 같으면 flag를 출력한다.같지 않을 때 어떤 동작을 하나 살펴보니 0E10h, 3600초, 즉 한 시간

이 문제 풀었다. 으아악 어려웠당IDA에서 살펴본 main 함수이다.Below function takes the flag as an arg :)Can you see that?만을 출력하고 프로그램이 종료된다. 문제 설명에 나와있었듯 동적디버깅 하며 flag를 확인해야할

저번에 풀었던 문제랑 비슷하당.40152B 함수에서 flag 주소값을 리턴해주는 것 같다. 칼리에서 40152B에 bp 걸고 실행해보자당연히 bp 걸고 냅다 레지스터 확인하면 안 된다.ㅎㅋ 왜냐면 함수가 동작을 안 했으니까... 저번엔 ni로 실행했었는데, 이번엔 한