분류 전체보기
![[pwnable.kr] 5번_ passcode 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdxXMTa%2Fbtq1s3hxnCf%2FozwQ7kqtwurMuEC46iIqMK%2Fimg.png)
[pwnable.kr] 5번_ passcode 풀이
포너블 5번_passcode 문제 풀이 화면의 ssh passcode 문제로 로그인을 해준다. 내용을 보면 컴파일되는 중에 컴파일 에러가 뜬 것 같다. passcode.c 파일을 출력하였다. 코드를 읽어보니 passcode1이 338150이고 passcode2가 13371337일 경우 플래그를 읽는다. 그런데 코드를 보면 scanf로 passcode 1,2 를 입력받는 부분을 보면 &연산자가 없다. 주소를 참조해서 변수에 값을 넣는게 scanf인데, 주소를 참조하지 않고 passcode1, passcode2라는 변수를 넣었기 때문에 이 값을 참조해 입력값을 받아온다. 이 부분에서 컴파일 경고가 뜬 것을 예상해 볼 수 있다. PLT(Procedure Linkage Table)과 GOT(Global Offs..
![[pwnable.kr] 4번_ flag 풀이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkXavJ%2Fbtq1m7yZn7R%2FibSatchXgIIwcgrvsnmku1%2Fimg.png)
[pwnable.kr] 4번_ flag 풀이
포너블 4번_flag 문제 풀이 이번 문제를 포너블이 아니라 리버싱 문제같다. 바이너리 파일을 해결해야한다. wget 명령어를 통해 해당 url의 파일을 다운로드 받아준다. ls를 통해 무슨 파일이 있는지와 권한을 확인하였다. 아이다를 설치하고 겨우겨우 돌아왔다. ELF64 파일로 되어있고, 옆을 보면 UPX로 패킹되어있다는 것을 확인할 수 있었다. upx를 설치한 후, 다음과 같이 flag파일을 upx 디렉토리로 이동시켜주었다. 그리고 나서 파일을 unpacking 해주었다!! 언패킹한 flag파일을 gdb로 분석을 할 차례이다. flag 파일의 주소가 0x6c2070인 것을 확인 할 수 있다..드디어.. 다음과 같이 답을 확인할 수 있었다.

Deep Learning_인공 신경망의 구조&활성화 함수
인공신경망의 구조 인공 신경망은 뇌 신경계의 정보 처리 구조를 모방하여 만든 컴퓨터 계산 알고리즘이다. 뇌 신경은 수많은 신경세포(뉴런)들이 연결되어 정보를 처리하고 전달한다. 신경세포는 신호를 입력받아 다음 신경세포에 출력형태로 연결한다는 점에서 입력과 출력을 갖는 함수와 비슷하다. W는 함수식의 가중치를 말하고, 딥러닝은 입력(X)과 출력(Y)의 관계를 설명할 수 있는 함수식의 가중치를 찾는 과정을 말한다. 활성화 함수 인공 신경망은 입력값을 가중치와 곱하고 그 결과를 전부 더한다. 이와 같이 가중 합산한 값을 활성화 함수에 입력하여 최종 출력한다. 즉, 입력값들의 수학적 선형 결합을 다양한 형태의 비선형 결합으로 변환한다. 이진분류에 사용되었던 시그모이드 함수를 보면 로지스틱회귀 모델의 활성화 함수..

Machine Learning_피처 엔지니어링
barplot함수를 사용해 등급별 객실 요금의 중간값 분포를 알아보았다. 생존자 비율이 높은 1등석, 2등석을 보면 생존자들이 지불한 객실 요금이 높은 패턴을 보인다. 남녀 성별에 따른 생존율 분포이다. 시본 histplot함수의 옵션을 조정한다. multiple 속성에 stack 옵션을 설정하여 막대 그래프를 누적하여 나타낸다. 남성의 생존율이 낮고 여성의 생존율이 상대적으로 높다. Name 열을 선택하고 str 속성을 적용하면 문자열을 직접 추출할 수 있다. split 메소드를 적용하면 이름을 나타내는 문자열을 쉼표를 기준으로 분할한다. 또한 성을 나타내는 Family Name 부분[1]을 나눌 수 있고, 타이틀 추출이 가능하다. violinplot 함수를 통해 타이틀별 생존 여부에 따른 승객 나이 ..

Machine Learning_타이타닉 생존자 예측
matrix 함수를 통해 데이터프레임의 어느 위치에 결측값이 있는지 확인할 수 있다. 목표 변수인 Survived 열과 상관 계수가 높은 피처는 Pclass와 Fare이다. 객실 등급과 객실 요금을 뜻하는 두 피처의 상관 계수는 -0.55로 매우 강한 음의 상관 관계가 있다. 따라서 객실 등급에 따라 객실 요금이 달라지는 것을 알 수 있다. 숫자형 데이터를 가진 열을 추출하고, data_num에 저장한다. fillna 메소드를 사용하여 'Age'열의 결측값을 평균값으로, 'Fare'열의 결측값은 가장 빈도수가 많은 값으로 대체한다. 정밀도(Precision)가 높다는 것은 실제 False를 True로 잘못 예측하는 오류가 작다는 뜻이다. 재현율(Recall)이 높다는 것은 실제 True를 False로 잘..

Machine Learning_확률적 경사 하강법
훈련세트를 사용해 모델을 훈련하기 때문에 경사 하강법도 당연히 훈련 세트를 사용하여 가장 가파른 길을 찾을 것이다. 그런데 전체 샘플을 사용하지 않고 딱 하나의 샘플을 훈련 세트에서 랜덤하게 골라 가장 가파른 길을 찾는다. 이처럼 훈련 세트에서 랜덤하게 하나의 샘플을 고르는 것이 확률적 경사 하강법이다. 즉, 훈련세트에서 랜덤하게 하나의 샘플을 선택하여 가파를 경사를 조금 내려가고, 그 다음 훈련 세트에서 랜덤하게 또 다른 샘플을 하나 선택하여 경사를 조금 내려간다. 이런 시긍로 전체 샘플을 모두 사용할 때까지 계속하면 된다. 만약 다 사용했는데도 못 내려온다면, 다시 훈련 세트에 모든 샘플을 다시 채워넣고 처음부터 시작한다. 확률적 경사 하강법에서 훈련 세트를 한 번 모두 사용하는 과정을 에포크라고 부..