궁금한게 많은 열아홉
article thumbnail
[정보보안] 리버싱으로 취약한 프로그램 파일 분석하기 _ 코드엔진RCE1번 문제 풀이
정보보안 2023. 9. 14. 14:28

어셈블리어 기계어와 대응되는 로우 레벨 언어이다. 컴파일이 빠르고 유지보수가 힘들어 거의 사용되지 않지만 하드웨어 디버깅을 할 때 유용하게 사용됨. 레지스터 소량의 데이터, 처리중인 중간결과를 일시적으로 기억해두는 고속의 저장영역이다. CPU는 자체 저장 기능이 없는데, 이를 보완하는 역할을 한다. 32비트는 E(AX) 64비트는 R(AX)와 같이 표현된다. Intel과 AT&T문법이 존재하며, 둘은 호환되지 않는다. Intel : 뒤에서 앞으로, 숫자를 그대로 사용, 명칭 그대로를 사용 AT&T : 앞에서 뒤로, 숫자 앞에 $를 붙여서 사용, 명칭 앞에 %를 붙임 !! 단순히 계산한 값은 동일하지만 저장되는 레지스터가 달라져 이후 계산 시 결과가 달라짐 범용 레지스터 EAX 사칙연산 등 산술에 사용되고..

article thumbnail
[AI] Open cv에서 데이터 다루기
카테고리 없음 2023. 9. 11. 09:45

데이터 타입 확인 데이터 shape, size, dtype을 확인할 수 있다. 사용법 import cv2 img = cv2.imread('data/messi5.jpg') print(img.shape) print(img.size) print(img.dtype) 이미지 나누고 합치기 이미지 나누기 : 이미지 합치기 : import cv2 img = cv2.imread('data/messi5.jpg') b,g,r = cv2.split(img) cv2.imshow('b', b) cv2.imshow('g', g) cv2.imshow('r', r) img = cv2.merge((b,g,r)) cv2.imshow('image',img) cv2.waitKey() cv2.destroyAllWindows() 이미지 리사이..

[AI] Open cv로 영상 다루기
AI 2023. 9. 4. 08:14

opencv 영상 파일 읽는 법 우선 OpenCV 라이브러리를 설치해야합니다. 다음 명령어를 입력하여 설치할 수 있습니다. pip install opencv-python OpenCV를 가져옵니다. import cv2 영상 파일을 읽을 땐 'cv2.imread()' 함수를 사용해야합니다. 이 함수는 이미지 파일의 경로를 입력으로 받고 이미지를 반환합니다. import = cv2.imread('영상파일경로.jpg') 읽은 이미지를 화면에 표시하거나 다른 작업을 수행 할 수 있습니다 OpenCV로 다양한 영상 처리 작업하기 예시 코드 cv2.imshow('이미지 창 제목', image) cv2.waitKey(0) cv2.destoryAllWindows() cv2.imshow() 함수 : 이미지를 화면에 표시하..

article thumbnail
[알고리즘] 개념 정리하기
CS 2023. 9. 2. 17:20

다이나믹 프로그래밍 연산 속도와 메모리 공간을 최대한으로 활용할 수 있는 효율적인 알고리즘을 작성하는데 해결할 수 있는 대표적인 방법. 큰 문제를 작은 문제로 나누어 푸는 문제를 일컫는 말 / 한 번 계산한 문제는 다시 계산하지 않도록 하는 알고리즘 DP는 다음의 조건을 만족할 때 사용할 수 있음 최적 부분 구조 (Optimal Substructure) 큰 문제를 작은 문제로 나눌 수 있고, 작은 문제의 답을 모아 큰 문제를 해결할 수 있는 경우를 의미 중복되는 부분 문제 (Overlapping Subproblem) 동일한 작은 문제를 반복적으로 해결해야 하는 경우 피보나치 수열 피보나치 수열이란 이전 두 항의 합을 현재의 항으로 설정하는 특징을 가진 수열이다. 점화식 풀이 _ 단순 재귀 함수 def f..

[JS] 엄격 모드(Strict Mode)
JavaScript 2023. 8. 30. 05:59

Strict mode란? 우리는 개발할때 오타나 문법적 실수를 하곤한다. 이 오류를 줄이고 안정적인 코드를 생산하기 위해서는 조금 더 근본적인 접근이 필요하다. 즉, 잠재적 오류를 발생시키기 어려운 개발환경을 만들고 그 환경에서 개발하는것이 조금 더 근본적인 해결책이 아닐까. 예를 들어 아래와 같은 코드가 있다고 하자. 결과값은 어떻게 될까? function foo() { x = 10; } foo(); console.log(x); // ? 함수 내부에서 변수에 값이 할당되었기 때문에 console.log에는 에러가 발생할거라고 예상했을 수도있지만, 할당 된 값 10이 찍혔다. 그 이유는 자바스크립트의 암묵적 전역때문이다. 암묵적 전역 위 코드와 함께 설명하자면, 코드를 동작시켰을때 자바스크립트 엔진은 값..

article thumbnail
[정보 보안] 체육을 잘하면 악성코드를 잘 분석할 수 있다?! (feat. PE)
카테고리 없음 2023. 8. 27. 21:12

아마 제목이 무슨 말인가 싶어서 들어와본 사람들이 많지 않을까 싶습니다. 악성 코드를 분석하기 위해 여러가지 방법을 활용할 수 있는데, 그중 하나가 이 PE라는 녀석입니다. Physical Education? 아니, Portable Excutable이라고 하죠. PE란? 영어 약자를 풀면 PE(Portable Executable) 즉, 말 그대로 옮겨다니면서 실행시킬 수 있는 파일을 뜻합니다. MS에서 다른 운영체제와 이식성을 좋게 하기위해 만든 파일 포맷입니다. 종류 실행, 드라이버, 라이브러리, 오브젝트 총 4개의 계열이 있습니다 실행계열: EXE, SCR 드라이버계열: SYS,VXD 라이브러리 계열: DLL, OCX, CPL, DRV 오브젝트 계열: OBJ PE구조는 파일이 실행되기 위한 모든 정보..

article thumbnail
[AI] Anaconda 설치 및 가상환경 세팅하기
AI 2023. 8. 21. 10:03

Anaconda 3란?Anaconda는 머신러닝이나 데이터 분석 등에 사용되는 여러가지 패키지가 기본적으로 포함된 파이썬 배포판입니다. 파이썬 가상환경 구축에 용이하게 사용되고, 내부적으로 conda라는 환경과 패키지 관리자가 존재합니다. 이 conda를 통해 패키지를 설치하거나 가상환경을 관리할 수 있습니다.Anaconda 가상환경이란?가상환경은 "프로젝트를 위한 격리된 환경을 만드는 것"입니다. Python을 포함하여 대부분의 프로그래밍 언어들은 패키지(또는 모듈)의 버전을 계속해서 최신화하고 있습니다. 버전마다 일부 기능들은 없어지거나 새로 생깁니다. 지금 저에게 필요한 특정 기능이 최신 버전에는 없을 수도 있기 때문에 최신 버전이 무조건 좋은 것은 아닐 수도 있다는 말입니다. 하지만 하나의 환경에..

article thumbnail
[정보보안] ChatGPT를 조심하세요!
정보보안 2023. 8. 17. 14:46

기사 요약 요즘 세상을 뜨겁게 달구고 있는 ChatGPT. 대기업은 사내에서 ChatGPT 사용에 대한 여부를 두고 고민에 빠졌다. ChatGPT특성상 데이터가 입력이 되면 외부 서버에 저장이 된다. 그리고 계속 학습을 해나가기 때문에 잘못했다가 사내의 기밀 정보에 대한 이야기가 흘러 들어갈 수 있다. 예를 들면 ChatGPT에게 기업의 기밀정보를 주고 더 좋은 방안에 대해 이야기 할때 누군가가 그 기업에 기밀정보에 대해 묻는다면 ChatGPT는 스스럼 없이 답을 해주게 된다. LG전자는 ChatGPT 사용에 대해 딱히 제안을 두지 않았다고 하지만 SK하이닉스, 삼성전자는 사용을 금지했다. 더불어 얘기하자면 삼성전자에서는 ChatGPT를 사용한 직원을 해고하기도 했다. 느낀점 ChatGPT 등장 이후 사..

article thumbnail
[정보보안] 내가 접속한 사이트를 의심해봐야 하는 이유
정보보안 2023. 8. 17. 13:56

기사 요약 2달 전 북한에서 네이버 포털 사이트를 실시간으로 복제한 피싱사이트를 만들어 해킹을 시도한 정황이 포착되었다. 북한은 정말 교묘하게 네이버 주소 뒤에 potal을 붙여서 naverpotal.com으로 지정해두었다. 접속해볼까도 싶었지만 해킹당할까 무서워 접속해보진 않았다.(나는 쫄보...)뉴스에 따르면 뉴스, 배너, 검색 탭 부분 모두 다 똑같이 코딩되어있다고 한다. 저렇게 똑같은데 해킹 당할 위험이 뭐가 있겠냐 싶겠지만, 핵심적인 문제는 로그인에 있다. 북한에서는 로그인하면서 넘어오는 사용자 정보를 탈취할 계획이었던 것이다. 놀랍게도 저 사이트에서 로그인도 된다고 한다. 국가정보원(이하 국정원)에서는 개인정보 탈취 가능성을 높이기 위해 해킹 공격 수법을 진화시킨 것이라고 한다. 또 현재 국정..

article thumbnail
모든 프로젝트 관리의 기본, GIT & GitHub 파헤치기
CS 2023. 7. 30. 00:43

개요필자의 동생은 곧 고등학교 입학을 앞두고 있는데, 나와 같은 고등학교에 입학할 예정이다. 학교에서 개발을 배우게 될 예정이긴 하지만, 이제 막 개발을 시작하는 단계이기 때문에 어떠한 베이스 지식도 없다. 그래서 동생에게 가장 공통적으로 많이 쓰이면서도 기본적인 GIT 사용법과 용어들에 대해 알려주기로 했고, 동생 뿐만 아니라 이제 개발을 시작한 분들에게도 조금이나마 도움이 되고자 이 글을 작성하게 되었다. GIT이란?컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템이다. - 위키백과 여기서 스냅샷 스트립 기반이라는 말을 제외하고 의미를 정리해보면, GIT은 변경사항 즉, 버전을 관리해주는 시스템을 말한다. GIT..