reversing 28

Layer7 리버싱 9차시 과제 - prob-begin풀이

일단 파일을 다운받고 ida64로 열어 디컴파일 후 코드를 분석해보았다. 처음 부분에 "%s" 형식 지정자로 입력을 받는데 입력받는 변수 타입이 그냥 char형인 걸 보고 y키를 이용해 변수 타입을 16칸짜리 char형 배열로 바꿔주었다. 정상적으로 변경된 걸 볼 수 있다. 그 후, 밑에 있는 코드를 분석해보았다. 밑에 if문으로 굉장히 복잡한 식으로 입력한 정보가 식에 맞는지 틀린지 확인하고 맞으면 Correct! Flag is ur input, 틀리면 Wrong을 출력하고 프로그램을 종료하고 있다. 따라서 맞는 입력값을 찾으려면 저 식을 모두 만족하는 변수 16개를 모두 찾아야 하는데, 미지수 x개가 있을 때 모든 x를 구하기 위해선 식이 x개 필요하고, 마침 조건문에 들어있는 식의 개수가 16개이니..

reversing 2022.08.16

layer7 리버싱 6차시 과제(2) - x64dbg 명령어 써보기

목차 1. x64dbg명령어 쓰기 1. x64dbg명령어 쓰기 수업 중 x64dbg사용법에 대해 배웠다. 오늘은 사용법을 익히기 위해 간단한 드림핵 rev-basic-0 프로그램을 분석해보며 모든 명령어를 한 번씩 써볼 것이다. 써볼 명령어는 이와 같다. 하나씩 써보자. 일단 프로그램을 열어보았다. 그럼 F2부터 써보겠다. F2명령어는 코드에 브레이크 포인트를 설정하는 명령인데, 이를 설정하면 프로그램을 continue로 실행시켜도 그 부분에서 반드시 멈추게 된다. 즉, 프로그램을 디버깅할 때마다 원하는 곳으로 이동시켜야하는 수고를 하지 않아도 된다. 일단 shift + f12를 사용해 문자열 탐색을 한 후, 가장 수상해보이는 문자열을 클릭해 그 부분을 따라갔다. 문자열 참조를 클릭하면 이런 식으로 모든..

reversing 2022.08.03