일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 워게임
- 회귀 수식
- abex crackme
- 인공지능
- 리버싱
- 리버싱 워게임
- 자바스크립트
- webhacking.kr
- 리눅스
- php
- sql injection
- 해킹
- html
- 컴퓨터 구조
- 머신러닝
- 백준
- 넘파이
- 리액트
- 어셈블리어
- webhacking
- 알고리즘
- 웹
- 보안
- CodeEngn
- 백준 알고리즘
- 웹해킹
- C언어
- 리버싱 문제
- MySQL
- writeup
- Today
- Total
목록어셈블리어 (3)
인공지능 개발일지
안녕하세요! 한동안 개인적으로 바빠서 블로그를 제쳐뒀던 것 같네요. 이제 곧 기말이긴 하지만 전보다는 여유가 생겨서 틈틈이 쓰려고 한다. 사실 이 리버싱 문제도 한 달 전에 푼거라 기억이 가물가물하지만 리마인드 할 겸 써 본다. 1. 문제분석 문제는 아래와 같다. 이 문제를 푸는 데는 2가지 단계가 있다. 첫 번째는 문제 그대로 함수 이름을 찾아서 CodeEngn에 내는 것이고 두 번째는 추가적으로 곧 나올 코드 입력 창에 문자를 맞추는 것이다. 차례대로 스트링 비교 함수부터 봅시다. 3번 문제 자체는 비주얼 베이식에서 스트링 비교 함수가 무엇인지 묻는 문제입니다. 비주얼 베이식이란 MS에서 만든 베이직 프로그래밍 언어의 일종으로 VS 제품군 중 하나이다. 이는 멜론 플레이어, 디버거 등과 같은 "프로그..
파일을 실행시키니 아래와 같이 파일을 찾을 수 없다는 창이 뜬다. 그럼 파일을 찾으면 풀리는 문제인가 보다. Ollybdg에 들어가서 확인해봤다. 그러자 아래 4 부분이 눈에 띈다. 1. 차례로 실행시키다 보면 제일 위의 빨간 박스에서 2,3,4 부분은 건너 띄고 바로 아래 Hmmm~으로 이동한다. 2. 그리고 Filename이 abex.l2c라는 게 눈에 띈다. 3. 이 부분이 우리가 띄어야 하는 부분이다. 4. 여기가 오류 메시지를 출력하는 부분이다. 전체적으로 봤을 때 아래 파란 박스를 눈여겨봐야 한다. 파란 박스에 GetFileSize로 eax에 파일의 길이를 리턴하고 GetFileSize 왼쪽 아래 라인에서 CMP EAX, 12를 볼 수 있다. 이때 12는 16진수여서 10진수로 길이가 18자리..
1. 어셈블리어란? 한마디로 어셈블리어는 특정 프로세스에만 있는 Thread나 registers 혹은 I/O를 직접적으로 접근하고 컨트롤할 수 있다. 이는 기계어보다 조금 위의 low level 언어이다. 아래 그림에서는 이진수와 코드 가운데 위치한다. +레지스터란? CPU의 요청을 처리하는 데이터의 임시공간입니다! (tmp 같은같은 아이라고 볼 수 있죠) 그래서 CPU는 연산 레지스터란 저장공간이라고 생각하면 됩니다. 2. 왜 쓰는가 이는 유지, 보수가 어렵지만 적은 용량, 빠른 속도와 더불어 원하는 대로 직접적인 컨트롤을 할 수 있다는 장점이 있다. 3. 문법 종류 어셈블리어에는 Intel 문법(Window)과 AT&T 문법(Linux)이 있는데 Intel 문법이 주로 사용됩니다. 차이점은 Intel..