본문 바로가기

분류 전체보기

(86)
[Linux] Kali Linux(칼리 리눅스)를 VMware(가상머신)에 설치하기 먼저, 준비물은 칼리 리눅스 iso, 칼리iso 다운에 필요한 토렌트 앱, vmware인데 vmware 설치법은 아래에 있는 링크에 올려두었다. [Linux] Ubuntu(우분투)를 VMware(가상머신)에 설치하기 준비해야 할 것 -VMware 가상 머신 -Ubuntu iso 설치하고 싶은 버전 아무거나 먼저 가상 머신을 설치하기 위해서 밑의 링크에 들어간다. https://www.vmware.com/kr/products/workstation-player/workstation-play.. ludeno-studying.tistory.com 칼리 리눅스 iso를 다운하려면 먼저 토렌트 앱이 필요하기에 토렌트 앱을 다운한다. µTorrent - a (very) tiny BitTorrent client µTo..
[리버스 엔지니어링] 80x86 CPU의 레지스터 종류와 뜻 레지스터(Register) 처리 중인 데이터나 처리 결과를 임시적으로 보관하는 CPU안의 기억장치이다. 레지스터에는 종류가 있고 종류마다 각각 기능이 따로 분류 되어있는데, 범용 레지스터, 세그먼트 레지스터, 포인터 레지스터, 인덱스 레지스터, 플래그 레지스터로 나뉘어 진다. 레지스터들 중에 앞에 E가 붙는것들이 있는데 이때 E는 Extended(확장된)을 의미한다. 범용 레지스터(General Register) -연산 장치가 수행한 계산 결과의 임시 저장, 산술 및 논리 연산, 주소 색인등에 사용되는 레지스터이다. EAX(Extended Accumulator Register) 함수의 리턴 값 저장이나 산술 연산(+, -, *, /)에 이용된다. Win32 API 함수들은 모두 리턴값을 EAX에 저장한 ..
[HTML_CSS] Chrome 개발자 도구를 이용하여 쉽게 편집하기 지금 당장의 티스토리 블로그도 그렇고 프론트엔드를 하면 엄청난 코드 수에 원하는 구역을 쉽사리 찾지 못하는 경우가 있다. F12를 누르면 개발자 도구 창이 뜨게 된다. 여기서 개발자 도구 창의 왼쪽 맨 위를 보면 사각형에 커서가 있는 아이콘이 있다. 이걸 누르고 원하는 부분에 마우스를 가져다 대면 그 부분과 관련된 HTML(파란색 원)과 바로 밑에 CSS(빨간색 원)가 보인다. 이렇게 쉽게 찾고 싶은 곳을 알 수 있다. 수정할 부분에 대해서 개발자 도구를 이용해 미리 적용시켜 보는것도 가능하다. 예를 들어, 구글의 배경색을 검은색으로 하고 Gmail 과 이미지의 글자를 바꾸고 싶다면 위의 방법으로 그 부분의 HTML과 CSS로 가서 코드를 더블클릭하고 수정하면 된다.
글자에 테두리, 그림자 넣기 위의 사진처럼 메인화면에서 슬라이드 부분에 사진이 하얀색 계열이면 제목의 가독성이 떨어져 보여서 그림자를 넣거나 테두리 색을 입히기로 했다. 개발자 모드로 대충 코드의 어느 부분인지 파악한다. 찾아보니 빨간선으로 친 부분을 보면 될듯 하다. 그 중, 글씨를 제어하는 font 가 들어간 첫번제 빨간 밑줄 부분으로 가서 밑의 코드를 추가하도록 한다. text-shadow text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000; (실행결과) 간단하게 설명해서 첫번째 줄부터 밑에 줄까지 위, 오른쪽, 아래, 왼쪽 이다. 각각 한 부분 씩 1px로 색을 주어서 테두리 처럼 만드는 것이다. 당연하게도 픽셀을 높이면 굵기가 굵어진다. (1px 차이가 꽤나 커보인..
[C언어] 피라미드 별찍기 - 1 직각 삼각형 피라미드 - 1 #include int main() { int num; //변수 선언 (입력받는 변수) scanf("%d", &num); //숫자를 입력받는 함수 for (int j = 0; j < num; j++) { for (int i = 0; i < j+1; i++) { printf("*"); } printf("\n"); } return 0; } (실행결과) 위에 for 구문이 작동하는 순서를 나열하자면 1. 5를 입력받는다. 2. 첫번째 for 구문에서 j=0이 정의됨과 동시에 j < 5라는 반복 조건이 걸림.(j가 5가되면 반복을 빠져나감) 3. 두번째 for 구문에서 i=0이 정의됨과 동시에 i < j+1라는 반복 조건이 걸림.(i가 j와 같을때 까지만 반복한다) 4. 두번째 fo..
[리버스 엔지니어링] 프로그램 분석전 하면 좋은것들 1. 일단 무작정 파일을 실행 시켜보자. 무작정 실행 시켜보고 프로그램이 겉으로 어떻게 생겼는지 본 다음에 '이 파일은 어떻게 되어있을 것이다' 라고 구조를 생각해보고 나서 리버싱 툴로 열어본다. 2. 디버거로 열었을때 F8 과 F7을 적절히 사용해 가면서 직접 하나하나 눌러보며 어디가 어떻게 변화하는지 본다. F8이나 F7을 천천히 눌러가면서 레지스터, 플래그 값이 바뀌는 이유와 점프 구문에서 어디로, 왜 점프하는지를 보면서 분석한다.(올리, x32-64, 이뮤니티 디버거들에 해당되는 얘기이다.) 3. 모르는 함수가 나오면 무조건 구글에 검색해본다. 검색하지 않으면 파일이 어떻게 작동하는지 모르기 때문이다. 함수를 검색하고 이게 어떤식으로 작동하는지만 알면 풀 수 있는것들이 많게 된다. 마이크로소프트 ..
[Pytho_Django] HTML을 이용한 메인 탭 만들기 이제 메인화면을 원하는 HTML이 화면에 보이게끔 해야한다. 먼저, 현재 만들었던 자신의 앱의 폴더에 들어가서 templates로 폴더를 하나 만들고 그 폴더 안에 다시 앱 이름과 같은 폴더를 하나 더 만든다. ex) board > templates > board 그 이유는 장고에서 HTML을 가져올때 templates의 앱 폴더에서 가져오기 때문이다. 그럼 이제 그 board 폴더 안에 메인화면을 띄울꺼니까 main.html로 파일을 하나 만든다. 그리고 일단은 간단하게만 코드를 작성한다. board > templates > board > main.html Hello Django! 이제 만든 앱의 views.py에서 웹 서버에 접속을 했을때 main.html을 보여준다는 함수를 만들어야 한다. boar..
[Python_Django] 관리자 계정에서 테이블 관리하기 장고에서는 저번에 언급했듯이 관리자 기능을 제공한다. 이 관리자 기능에서 CRUD기능이 구현 되어있어서 단 코드 몇줄로 테이블을 쉽게 관리 할 수 있게 된다. CRUD Create(생성), Read(읽기), Update(갱신), Delete(삭제) 전체를 뜻하는 말이다. 즉, 사용자 인터페이스가 기본적으로 갖춰야 할 것들을 의미한다. 관리자 계정 페이지를 수정해야 되니까 admin.py 파일에서 수정한다. 파일에서 클래스를 불러와야 하기때문에 같은 폴더에 있는 models에서 Boards를 import 해준다. board > admin.py from django.contrib import admin from .models import Boards admin.site.register(Boards) # Re..