CodeEngn 41

[CodeEngn] RCE advance L08 풀이

Q8. Key 값이 5D88-53B4-52A87D27-1D0D-5B09 일 때 Name은 무엇인가. 힌트 : Name은 두 자리인데.. 알파벳일 수도 있고 숫자일 수도 있고.. 정답인증은 Name의 MD5 해쉬값(대문자)문제에서 준 Key값과 Name에는 임의의 값인 CodeEngn을 입력해서 실행해 보았다.Name값이 다르기에 Check it! 을 눌러봐도 별 반응이 없었다.정답인 name값을 입력했을 때 나올 문구를 확인한 후 해당 45BBAD 주소로 이동했다.스택의 시작지점인 45BAE8 주소에 BP를 걸고 디버깅했다.동적 분석에는 [그림 4]처럼 입력하고 진행했다.45BB12주소에서 처음으로 입력한 12345를 확인할 수 있었다.이때의 EAX는 5로, 문자의 길이를 의미하는 듯했다.추가적으로 스택..

Reversing/CodeEngn 2025.09.13

[CodeEngn] RCE advance L07

Q7. Name이 CodeEngn일때, Serial은 28BF522F-A5BE61D1-XXXXXXXX 이다. XXXXXXXX를 구하시오.07.exe 프로그램 실행 후 주어진 Name값과 Serial값을 그대로 입력하고 Check 를 클릭해보았다.예외오류가 발생하였다. 'JIT 디버깅'이라는 것을 사용하는 듯하였다.우선 JIT 디버깅에 대해서 구글링을 해보았다.JIT 디버깅Just-In-Time 디버거를 사용하여 디버그 - Visual Studio (Windows) | Microsoft Learn Just-In-Time 디버거를 사용하여 디버그 - Visual Studio (Windows)Visual Studio에서 Just-In-Time 디버거를 사용하여 디버그합니다. Just-In-Time 디버깅은 앱..

Reversing/CodeEngn 2025.09.12

[CodeEngn] RCE advance L06 풀이

Q6. 남은 군생활은 몇일 인가. 정답인증은 MD5 해쉬값(대문자) 변환 후 인증하시오.확인 버튼을 계속 클릭해보면 숫자가 카운팅되었고, 추가적으로 닫기 버튼도 숫자가 카운팅 되는 것을 알 수 있었다.더 이상 클릭으로 알아낼 수 없다고 생각하여 Ollydbg로 열어보았다.압축된 코드라고 알려주었다. 06.exe의 파일 구조를 확인할 필요가 있었다.UPX 패킹된 프로그램임을 확인했다.UPX 언패킹 툴을 통해 06.exe를 언패킹해주었다.AutoIt 스크립트로 컴파일되었다는 문구를 확인했다. 이 힌트를 통해 AutoIt 전용 디컴파일러로 06.exe를 열어보기로 했다. AutoIt 전용 디컴파일러인 Exe2Aut 를 이용해서 분석을 진행했다.첫 줄에 보면 1 To 790이라는 숫자를 확인해 볼 수 있다.이는..

Reversing/CodeEngn 2025.09.11

[CodeEngn] RCE advance L05 풀이

Q5. Serial 을 구하시오.실행시 Pass Corta라는 프로그램이 실행된다.3번의 Ok를 검증하고 틀리면 자동종료 될 것 같다.Serial값으로 12345로 테스트 해보았더니 해당 화면만 출력되고 다른 값 입력이나 카운팅 등은 이뤄어지지 않았다.이번 구조는 무언가 패킹이 되어있는 것 같다. (OllyDbg에서 인식하지 못하면 'DB ..' 구조로 보인다.)어떤 파일 구조인지에 대해 알아보아야 했다.이번엔 패킹이 된 것이 아닌 Visual Basic 프로그램이다.MS Visual Basic의 전용 디컴파일러를 이용해야 되겠다고 생각해서 찾아보았다.Visual Basic 전용 디컴파일러VB Decompiler - Download - Visual Basic 5.0, 6.0, .NET and C# .NE..

Reversing/CodeEngn 2025.09.11

[CodeEngn] RCE advance L04 풀이

Q4. Name이 CodeEngn 일때 Serial은 무엇인가Name : CodeEngn, Serial : 12345로 테스트 해본결과 유효하지 않은 Serial이라고 한다.이번에는 못보던 구조임을 확인했다.알아보니 OllyDbg에서 인식하지 못하는 값에 대해서는 'DB ..' 형식으로 출력된다고 한다.Exeinfo PE로 04.exe를 분석해본 결과 Unknown exe 외에는 아무것도 알아낼 수 없었다.어떻게 접근해야 할지 모르겠어서 구글링을 통해 검색했다.한 줄씩 디버깅을 해보면 4011B3 ~ 4011C0구간이 루프가 계속 도는 것을 확인할 수 있었다.검색 결과 unpacking 루틴이라고 한다.프로그램 자체적으로 unpacking 과정이 있어서 OllyDbg에서 인식하지 못했던 것이였다.디버깅..

Reversing/CodeEngn 2025.09.11

[CodeEngn] RCE advance L03 풀이

Q3. Name이 CodeEngn 일때 Serial은 무엇인가Name : CodeEngn, Serial : 12345를 입력해서 실행해보았더니 답이 아니라는 문구가 출력되었다.해당 주소로 이동해 보았지만 다른 단서를 찾지는 못하였다.401125에서 EAX값과 3을 비교하고, 401128의 분기점을 만나 성공/실패로 분기한다.따라서 401125에 BP를 걸고 디버깅을 진행한다.테스트 값은 [그림 1]에 입력한 값과 동일하게 입력했다.입력한Serial 값인 12345 와 3265754874 을 비교하는 것을 알 수 있었다.따라서 Serial 값은 3265754874 이다.

Reversing/CodeEngn 2025.09.11

[CodeEngn] RCE advance L02 풀이

Q2. 정답은 무엇인가02.exe는 실행되고 잠시 후에 바로 프로세스가 종료되었다.string을 확인하던 중 패스워드를 받는 문구를 확인.아무래도 비밀번호를 알아내야 하는 문제인듯 하다.따라서 4012B5에 BP를 걸고 해당 메세지 창이 출력되는 위치를 확인해보고 싶었다. 하지만 406545에서 더 이상 진행이 되질 않았는데,EAX 주소의 값과 주소를 인식하지 못해서 디버깅에 실패했던 것 같다.따라서 이 해결방법을 알아내기 위해서 검색을 진행했다.알아보니 Windows 10에서는 실행안되고 win7에서 실행된다고 한다Windows 7 iso 파일 x64 다운로드순정 윈도우7 한국어 프로페셔널 ISO 다운로드 (Windows7 professional ISO) 순정 윈도우7 한국어 프로페셔널 ISO 다운로드..

Reversing/CodeEngn 2025.09.11

[CodeEngn] RCE mobile L03 풀이

Q3. Mobile L03 키값을 찾으시오apk를 바로 실행하려면 인증 관련 에러가 발생하여 jarsigner를 통해 서명하는 과정을 우선 수행하고 디버깅 해보았다.jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore C:\Users\사용자명\.android\debug.keystore -storepass android "C:\Windows\apktool\SmartApp L03.apk" androiddebugkey실행하면 볼 수 있는 화면이다.사람이 깃발을 잡고있는 버튼을 클릭하면 현재위치가 +1씩 카운팅되는 앱이다.apktool로 디컴파일을 진행 후 jadx로 MainAcivity에서 핵심이 될 함수를 찾아보았다.aView라는 값을 ..

Reversing/CodeEngn 2025.09.07

[CodeEngn] RCE mobile L02 풀이

Q2. Mobile L02 키값을 찾으시오apk 파일 내부에는 armeabi폴더만 존재하므로, x86 비트 아키텍처를 사용 중이라는 것을 확인하였다.adb install "C:\Windows\apktool\SmartApp L02.apk"설치를 진행해보았지만 자격을 수집하는 과정에서 null 배열의 길이를 통해 시도하여 설치에 실패했다고 한다.검색해 보니 APK파일이 제대로 서명되어 있지 않은 상태를 의미한다고 한다. 앱 실링 적용 후 필요한 앱 서명 과정이 생략되었기 때문이다.따라서 이전에 생성해 둔 keystore를 통해 jarsigner를 이용하여 다시 서명작업을 해주고 실행하면 될 듯하다.jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -k..

Reversing/CodeEngn 2025.09.07

[CodeEngn] RCE mobile L01 풀이

Q1. Mobile L01 키값을 찾으시오해당 1번 apk는 바로 실행이 불가능 했다.받은 APK 파일의 확장자명을 .apk > .zip으로 바꾼 후 압축해제 한 모습이다.아무 이상 없어 보이지만 안드로이드 앱에서 사용되는 파일명들이 조금씩 다른것을 확인하였다.AndoroidManlfests.xml → AndoroidManifest.xmlclass.dex → classes.dexresources.arsc → resources.arsc이렇게 3개의 파일명을 바꿔준 후 다시 압축한 후 apk로 변환하는 리패키징 작업을 해준다.하지만 단순히 리패키징을 작업 후 .zip > .apk 변환후 .apk파일은 실행할 수 없는 상태이다.왜냐하면 '서명'이라는 과정이 필요했으며, jdk가 필요했다.서명은 keystore..

Reversing/CodeEngn 2025.09.06