리버싱(3)
-
DreamHack [reversing • forensics] Enc-JPG
리버싱과 포렌식이 융합된 문제입니다. 포렌식 문제는 거의 손도 못대서 연습할겸 시도해보았습니다.레벨 3인데.... 과연 성공할 수 있을지,,,^^;;; 문제 파일은 Enc와 flag.jpg 각각을 hxd 프로그램으로 읽어보았다. Enc의 헤더 시그니처 4D 5A 90 (MZ)를 찾아보니 실행파일(.exe)의 시그니처임을 확인했다. 현재 Enc는 확장자가 없으니 .exe로 변환해보자. Enc.exe를 실행하였더니 flag.jpg의 파일이 바뀌었다.흠.... 이미지의 일부가 가려져있다. 이 파일을 다시 hxd로 읽어보자. jpg의 헤더 시그니처는 FF D8 FF E0 xx xx 4A 46 49 46 (JFIF)헤더 시그니처에는 이상이 없다. 푸터 시그니처를 확인해보자. jpg의 푸터 시그니..
2024.05.07 -
DreamHack [reversing] rev-basic-0
심심해서 다시푸는 리버싱 문제입니다,,^^;;인터넷에서 다운로드 받은 출처를 알 수 없는 프로그램은 사용자 컴퓨터에 치명적인 손상을 가하는 공격을 시도할 수 있습니다. ==> 가상머신환경 사용 powershell 사용다운로드 경로에 문제파일을 다운받아 실행한 결과Input : 출력abcd 입력Wrong 출력되었습니다.Input에 알맞은 문자열을 입력하면 플래그가 나올 것 같습니다. IDA ==> 정적/동적 분석shift+f12 ==> 문자열 확인correct 문자열을 통해 어떤 입력값이 correct를 출력하게 만드는지 찾아보겠습니다. f5 ==> 디컴파일puts("Correct"); 를 출력하는 조건인if문에 있는sub_140001000을 확인해보았습니다.return strcmp(a1, "Compar3..
2023.10.18 -
DreamHack [reversing] rev-basic-3
Reverse Engineering 로드맵의 마지막 워게임입니다. 바이트 변환 걸었지만? sub_140001000의 7열 연산식 str[i] = (input[i]^i)+(i*2) 빼먹어서 실패!^^;; 위 식에서 input은 왼쪽으로 나머지는 오른쪽으로 이항해서 정리해주면~~input[i] = (str[i] - (i * 2)) ^ i 파이썬 돌렸습니다.이상입니다.//
2023.08.17