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 |
Tags
- RCE
- basic_exploitation_001
- Pwnable
- coin1
- rev-basic-2
- 드림핵
- 코드엔진 베이직 13
- off_by_one_000
- pwnable.kr
- rev-basic-5
- rev-basic-1
- CodeEngn
- L18
- sd카드 리더기
- sint
- out_of_bound
- 코드엔진 베이직
- rev-basic-6
- Basic
- L16
- L15
- 포너블
- off_by_one_001
- L17
- rev-basic-4
- basic_exploitation_000
- rev-basic-0
- rev-basic-3
- rev-basic-7
- Dreamhack
Archives
- Today
- Total
목록rev-basic-3 (1)
서브웨이
dreamhack rev-basic-3 풀이
자 1단계 마지막 리버싱입니다. 한번 파일을 봅시다. 이번에도 어김없이 입력값 검증 형태입니다. 그럼 디버깅을 해봅시다. 일단 참조된 문자열엔 없으니 검증하는 부분으로 가봅시다. 이번에도 검증함수가 존재합니다. 한번 들어가봅시다. 딱봐도 조금 복잡해보입니다. 정리하자면 이런 구조입니다. 일단 입력한 문자열을 불러온 뒤, 0x7FF600E53000에 위치한 암호화된 문자열(?)을 불러옵니다. (입력 문자 ^ 인덱스) + 인덱스 * 2 = 암호 문자 이렇게 연산을 진행한 뒤 한 글자씩 인덱스에 맞게 총 24번 비교를 합니다. 그럼 암호화된 문자열로 검증에 필요한 문자열을 얻기 위해 공식을 수정해봅시다. 입력 문자 = (암호 -인덱스 * 2) ^ 인덱스 이 공식으로 파이썬 코드를 짜 봅시다. def cal(c..
Reverse Engineering/dreamhack
2021. 7. 21. 17:19