Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 리버싱
- 서비스프로세스
- ImageSwitching
- Python
- .net
- JIT
- Exe2Aut
- RedLine Stealer
- PEImageSwitching
- Visual Studio
- UTF-32
- hxd
- CodeEngn
- x32dbg
- Advanced안티디버깅
- 디버깅
- Static안티디버깅
- 리버싱핵심원리
- 분석 보고서
- Dynamic안티디버깅
- OllyDbg
- UTF-16
- PEImage
- DebugBlocker
- Self-Creation
- dotPeek
- 안티디버깅
- CP949
- 서비스디버깅
- IL코드
Archives
- Today
- Total
-榮-
[CodeEngn] Advance RCE L14 본문
● CodeEngn Advance RCE L14 문제
◎ 파일 실행 화면
◎ 패킹 및 난독화 여부 확인
● CodeEngn Advance RCE L14 분석 및 풀이
문자열 검색에서 [그림 1] 실패 화면의 "Invalid Registration Code"문자열을 찾으면 성공 문자열과 함께 바로 보입니다.
실패 문자열 주소로 이동하면 성공 문자열과 함께 분기점(0047F448)을 확인할 수 있습니다.
분기 조건의 파라미터를 확인하면 입력된 Serial의 숫자 부분과 Name으로 생성된 Serial 숫자를 비교하는 것을 확인할 수 있습니다.
분기 조건 앞의 CALL 00404B2C와 CALL 0047F0B8은 각각 입력된 Serial과 입력된 Name을 파라미터로 가집니다.
즉, 앞의 CALL 0047F0B8에서 Name으로 Serial을 만드는 것을 예상할 수 있습니다.
CALL 0047F0B8의 내부를 확인해 보겠습니다.
CALL 0047F0B8의 내부에는 Serial을 생성하는 3개의 반복문이 존재합니다.
1. Name의 길이를 늘려주는 반복문
2. 1에서 늘린 Name과 문자열(NH KeyGenMe6)의 합을 이어 붙이는 반복문 (1회 반복 결과 : 4byte)
3. 2에서 생성된 Serial의 앞의 12자리를 자르는 반복문
Serial : NH6-0-0091008D0052을 만족하는 Name을 찾으려면 Serial의 숫자 부분에서 문자열을 빼주면 됩니다.
● CodeEngn Advance RCE L14 확인
[그림 12]의 값을 문자로 변환하면 'CE2'입니다.
'CodeEngn > Advance' 카테고리의 다른 글
[CodeEngn] Advance RCE L15 (0) | 2021.04.19 |
---|---|
[CodeEngn] Advance RCE L11 (2) | 2021.04.08 |
[CodeEngn] Advance RCE L10 (0) | 2021.04.07 |
[CodeEngn] Advance RCE L09 (0) | 2021.04.05 |
[CodeEngn] Advance RCE L08 (0) | 2021.04.05 |