codeengn

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L09 풀이

CodeEngn Challenges Basic RCE L09 풀이과정입니다. 문제 실행결과 언패킹한 파일을 실행하면 구문의 글자들이 깨져서 나온다 확인해본 결과, 글자가 깨지는 이유는 아래와 같이 NOP으로 채워져있기 때문이다. 언패킹된 파일 중 앞부분 코드가 NOP 이유는 StolenByte가 적용되어있기 때문이다. StolenByte란? 코드의 일부를 OEP이전에 숨기고 그 코드들을 복사하여 다른 분리된 메모리에서 실행하기 때문에 OEP를 찾은 뒤 덤프를 떠도 정상적으로 실행되지 않는다. 보통 옮겨진 코드들은 OEP 주소로 점프하기 전 위치에서 PUSH 된다고 한다. 보통 UPX패킹은 PUSHAD ~ POPAD 명령어 내부에서 압축해제 코드가 실행 되고 POPAD 명령어 실행 후 JMP 명령어를 통해..

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L07 풀이

CodeEngn Challenges Basic RCE L07 풀이과정입니다. 문제 실행결과 디버거 프로그램을 이용해 문자열에서 실행결과 문구 검색 조금 위의 코드를 확인한 결과 lstrcmpiA 함수를 호출함 lstrcmpiA 함수란? 문자열을 비교해주는 함수 L2C-5781EqfgEngn4562-ABEX을 넣었을때 알맞는 시리얼키라고 나옴 하지만 문제는 컴퓨터 C드라이브 이름이 CodeEngn일경우 문자열로 들어간 CodeEngn값은 어떤것으로 변환되는지를 확인하는 문제 좀 더 위의 코드를 보니 GetVolumeInformationA함수 호출 GetVolumeInformationA 함수란? 지정된 볼륨의 파일 시스템에 대한 정보를 검색 → return값은 windows windows로 반환된 값을 Co..

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L06 풀이

CodeEngn Challenges Basic RCE L06 풀이과정입니다. 문제 실행결과 PEID로 확인한 결과, 패킹되어있음 언패킹 시도 언패킹 성공 OEP값 확인 OEP란 Original Entry Point 약자로 패킹된 파일의 실제 프로그램 시작 부분이다. 시리얼 값 확인 OEP+Serial = 00401360AD46DFS547

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L03 풀이

CodeEngn Challenges Basic RCE L03 풀이과정입니다. 문제 실행결과 디스어셈블러툴인 IDA로 정적 디스어셈블 시작 비교문자열 CMP를 검색하여 스트링 비교함수 이름을 확인

Wargame&CTF/Reversing

[CodeEngn] Basic RCE L02 풀이

CodeEngn Challenges Basic RCE L02 풀이과정입니다. 문제 실행결과 HxD로 분석 결과 디코딩 문자에서 패스워드 확인

DevSecOps
'codeengn' 태그의 글 목록