| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 운영체제
- OWASP TOP 10
- ADsP합격
- adsp독학
- 라운드로빈
- writeup
- dreamhack
- Pacu
- 병행성
- ADsP책추천
- Simple Crack Me
- 26년 1회
- user pool
- ADsP
- rev-basic-4
- rev-basic-3
- OS
- ADsP시험
- cloudgoat
- wargame
- 교체 정책
- Juice Shop
- OpenClaw
- 세그먼테이션
- 시나공ADsP
- HRRN
- ADsP교재
- AWS
- randzzz
- id pool
- Today
- Total
목록Reversing (9)
chon
[ 문제 링크 | https://dreamhack.io/wargame/challenges/1569 ] [ 문제 설명 ]드림핵 워게임 Reversing Level 1 문제로, 파일 입출력과 간단한 XOR 기반 암호화를 분석하는 문제이다.[ 문제 풀이 ]제공 파일:chall (암호화 프로그램)encrypted (암호화된 결과물)문제 설명에서 나왔듯이 두 개의 파일이 제공된다.flag.png --> (chall) --> encrypted 이런 흐름으로 암호화가 되었고, 우리가 해야 할 일은 encrypted -- (역연산) --> flag.png --> 플래그 추출이다. chall을 실행하면 즉시 fopen() error가 출력되며 종료된다. 이는 chall이 실행 과정에서 외부 파일(flag.png)을 필..
[ 문제 링크 | https://dreamhack.io/wargame/challenges/2650 ] 이 문제는 진짜 조심해야 해요. 근데 일단 전 다운 받아서 풀었어요.[ 문제 설명 ]문제에 대한 설명은 딱히 없어요! 새해 복 많이 받으세요. [ 문제 풀이 ]프로그램을 실행하면 "Input : "이라는 메시지와 함께 입력을 받고 입력값을 검증하여 correct나 wrong을 출력합니다. - IDA 디컴파일 IDA로 코드를 분석해보면 main 함수에서 다음과 같은 핵심 로직을 발견할 수 있습니다.printf("Input : "); __isoc99_scanf("%59s", s); if ( strlen(s) == 59 ) { strcpy(dest, s); for ( i = 0; i 코드를..
보호되어 있는 글입니다.
리버싱을 시작하기 전, 프로그램이 메모리에 적재될 때의 구조와 컴파일러별 특징을 이해해야 한다. [ 실습 파일 ] Helloworld.exe 1. 사전 지식: 메모리 구조와 컴파일러 특성 [ 컴파일러별 스택 프레임 처리 차이 ]Visual C++ 계열: 주로 EBP를 베이스 포인터로 사용하여 스택 프레임을 형성 (push ebp, mov ebp, esp)GCC / Dev-C++ 계열: 최적화 옵션에 따라 ESP를 직접 조작하여 변수에 접근하는 방식을 많이 사용 (mov dword ptr [esp+4], 값)이번 실습 파일은 Dev-C++ 형태의 구조(ESP 활용)를 가짐 [ 프로세스 메모리 세그먼트 구조 ] 메모리의 높은 주소(High Address)에서 낮은 주소(Low Address)로의 구조는 ..
컴파일러 (Compiler)사람이 이해할 수 있는 고급언어(프로그래밍 언어)를 컴퓨터가 실행할 수 있는 저급언어(기계어)로 번역하는 프로그램이다. [ 구조 ]원시 프로그램(프로그래밍 언어) → 컴파일러 → 목적 프로그램(실행 코드, 기계어 코드) [ 컴파일 과정 ] 전체적인 변환 과정은 전처리기 → 컴파일러 → 어셈블러 → 링커 → 로더의 순서를 거쳐 진행된다. 전처리기 (Preprocessor) 본격적인 컴파일에 들어가기 전, 소스 코드를 다듬고 정리하는 첫 단계전처리기는 소스 코드 내의 #include나 #define 같은 지시문을 처리하고 불필요한 주석을 모두 제거하여 번역하기 좋은 상태로 만든다.확장된 소스 코드 (.i) 컴파일러 (Compiler) 전처리가 끝난 고수준 언어를 저수준 언어인 ..