문제


ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.


NAME 

TYPE 

NULLABLE 

ANIMAL_ID

VARCHAR(N) 

FALSE 

ANIMAL_TYPE

VARCHAR(N) 

FALSE 

DATETIME

DATETIME

FALSE

INTAKE_CONDITION

VARCHAR(N)

FALSE

NAME

VARCHAR(N)

TRUE 

SEX_UPON_INTAKE

VARCHAR(N)

FALSE


동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요. SQL을 실행하면 다음과 같이 출력되어야 합니다.


ANIMAL_ID

ANIMAL_TYPE 

DATETIME

INTAKE_CONDITION 

NAME

SEX_UPON_INTAKE 

A349996

Cat

2018-01-22 14:32:00

Normal 

Sugar 

Neutered Male

A350276

Cat 

2017-08-13 13:50:00

Normal 

Jewel

Spayed Female 

A350375

Cat 

2017-03-06 15:01:00 

Normal 

Meo

Neutered Male 

A352555

Dog

2014-08-08 04:20:00 

Normal 

Harley

Spayed Female 



풀이


1
2
3
SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
cs

  • 특정 기준으로 정렬을 하기 위해선 ORDER BY 를 사용한다.
  • 오름차순 : ORDER BY [기준] or ORDER BY [기준] ASC
  • 내림차순 : ORDER BY [기준] DESC







출처 : https://programmers.co.kr/learn/courses/30/lessons/59034

'코딩테스트 연습 > SQL' 카테고리의 다른 글

[SELECT] 여러 기준으로 정렬하기  (0) 2020.03.21
[SELECT] 동물의 아이디와 이름  (0) 2020.03.21
[SELECT] 어린 동물 찾기  (0) 2020.03.21
[SELECT] 아픈 동물 찾기  (0) 2020.03.21
[SELECT] 역순 정렬하기  (0) 2020.03.21



깃허브 서평 책을 받고 현재 실습을 따라하며 읽고 있는데 특히 이부분 branch 를 설명하는 부분이 특히 쉽게 설명된거 같습니다! 제가 git 을 이용해서 팀프로젝트를 진행하는데 각자의 branch 의 원리에 대해 이해하기 어려웠는데 이 책을 통해 더욱 깊이 배울 수 있던거 같습니다. 다만 아쉬운건 gitlab 구축부터 해서 같이 나오면 좋지 않았을까 합니다 ㅎㅎ 물론 git 올리는 원리는 같지만 구축부터 해보는 것도 의미 깊다 생각합니다.

1. pip3 install vitualenv

2. python3 -m virtualenv [대상 폴더]

3. call [대상폴더]\Scripts\activate.bat

'공부 > Python' 카테고리의 다른 글

[DB] INT 형 삽입  (0) 2020.03.21
[암호] Vigenere  (0) 2019.02.09
[전자서명]Python OpenSSL  (0) 2018.07.17

문제

 

이 프로그램은 디버거 프로그램을 탐지하는 기능을 가지고 있다. 디버거를 탐지하려는 함수의 이름은 무엇인가

 

풀이

 

<그림 1> 정상 -> 디버깅

일반 실행 시 [정상]으로 뜨던 메시지가 x32 를 통해 실행하였을 땐 디버거를 탐지하여 [디버깅 당함] 이라는 메시지를 출력하였다.

 

<그림 2> 메시지 출력

 

<그림 2>가 반복되면서 IsDebuggerPresent 를 분기점으로 <그림 3> 과 같이 EAX 값이 0 -> 1로 변하며 [디버깅 당함] 이라는 메시지가 출력됨을 볼 수 있다.

 

<그림 3> EAX 변화

즉, IsDebuggerPresent 라는 디버깅 탐지 함수는 디버깅을 당하면 0을 리턴한다는 것을 알 수 있다. 이제 [정상]이라는 메시지를 출력하기 위해 EAX 값을 0으로 바꿔 실행하면 <그림 5>과 같이 원하는 메시지가 출력됨을 볼 수 있다.

 

<그림 4> EAX 편집

 

<그림 5> Crack

 

Flag

IsDebuggerPresent

'챌린지 > CodeEngn' 카테고리의 다른 글

[CodeEngn] CodeEngn Basic 3  (0) 2019.02.10
[CodeEngn] CodeEngn Basic 2  (0) 2019.02.10
[CodeEngn] CodeEngn Basic 1  (0) 2019.02.10

+ Recent posts