본문 바로가기

분류 전체보기

(25)
[블로그관리] 네이버 웹마스터도구에 검색등록/RSS/사이트맵 제출 HOME 네이버웹마스터도구 사이트 네이버 웹마스터도구에 검색등록 티스토리 블로그를 만들면 누구나 하는 작업이 있다. 검색등록!!블로그를 막 시작한 상태라면 네이버 검색에 포스팅 글이 노출 안 되는 경우가 많다.네이버 검색에 블로그 포스팅 글이 노출되도록 검색등록하는 방법을 설명하려고 한다. 맨 위 링크를 통해 네이버웹마스터도구 사이트로 이동한다.티스토리 블로그를 등록하려면 네이버 아이디가 있어야 한다. 먼저 로그인을 하자. 연동 사이트 목록에서 티스토리 블로그 주소를 입력하고 추가 클릭! 사이트 소유 확인 작업을 해야 티스토리 블로그가 네이버 검색에 제대로 반영된다. 가장 쉬운 방법인 HTML 태그 방식을 클릭한다. 위 그림에서 [메타태그] 값을 복사하여 티스토리 블로그에 HTML 태그를 붙여넣어야 한다..
[열혈C] 04. Part3 Chapter18 다차원 배열과 포인터의 관계 이번 장의 포인터의 마지막 난관이다. 그만큼 깊이 있는 이해를 요구한다. 한번에 이해되지 않는다면 서너 번 봐서 이해하자. 18장 내용 정리 2차원 배열 이름의 포인터 타입 14장에서는 1차원 배열을 함수의 인자로 전달하는 방법에 대해 이야기하였다.아래 그림에서처럼, 함수로 전달되는 배열의 이름 arr은 int형 포인터(int *)로 받을 수 있다.int형 변수를 요소로 지니는 1차원 배열의 이름 역시 int형 포인터이기 때문에 가능한 일이다. 2차원 배열의 이름은 더블 포인터로 받으면 될까? No... 2차원 배열 이름이 가리키는 것은? 1차원 배열에서는 배열 이름이 가리키는 요소가 배열 이름의 포인터 타입을 결정짓는 기준이었다. 마찬가지로 2차원 배열에서도 배열 이름이 가리키는 요소가 배열 이름의 포..
[열혈C] 03. Part3 Chapter16-17 내용 정리 (다차원 배열 / 포인터의 포인터) 16장 내용 정리 다차원 배열 다차원 배열이란 2차원 이상의 배열을 의미하는 것이다.2차원 배열만 개념적으로 잘 이해하고 있으면, 그 이상의 배열은 이해하기 수월하다.뿐만 아니라 3차원 이상의 배열은 일반적으로 사용되지 않는다. 2차원 배열에서 선언과 동시에 초기화하는 경우, 첫 번째 인덱스만 생략 가능하다.12int arr1[][4] = {1,2,3,4,5,6,7,8};int arr2[][2] = {1,2,3,4,5,6,7,8};cs 17장 내용 정리 더블 포인터가 가리키는 것은 싱글 포인터 더블 포인터(double pointer) 선언1int **dpcs 더블 포인터건, 싱글 포인터건 무조건 메모리 공간의 주소 값을 저장하는 변수이다.따라서 모든 포인터 변수는 4바이트 메모리 공간을 요구한다.다만 차..
[Tool] 모바일 분석 자동화 도구 - TEAMCR@K HOME TEAMCR@K 블로그 글 TOOL HUA2T_TeamCrak 모바일 분석 자동화 도구 HUA2T 툴 소개 본 도구는 모바일 애플리케이션 진단 시 반복되는 작업들을 자동화하여 좀 더 간편하게 진단하기 위해 제작되었다. 환경은 C#을 기본으로 ironpython 라이브러리를 이용하여 프로그래밍 하였고 frida 모듈을 사용하였다. 기능소개 Auto_Tool Decompile (디컴파일) Siging Compile (컴파일 후 사이닝) Re-Install (설치 및 재설치) HashCheck 원본 파일과 변조된 파일의 해시값을 비교 ScreenShot Device의 현재 화면을 캡쳐 FileExtract File 또는 Directory를 지정하여 이미지(png, jpg, jpeg) 추출 Memory..
[열혈C] 02. Part2 내용 정리 (포인터와 배열의 시작) 에러가 발생하면 기뻐해라!!! 지금의 에러가 그대들을 현명한 프로그래머로 이끌어 줄 것이다. 널(Null) 문자에 대한 이해 문자열을 표현할 때에는 문자열의 끝을 의미하는 '\0'을 문자열 끝에 삽입한다. 이 문자를 가리켜 널(Null) 문자라 하며, 아스키 코드 값은 0이다. 문자열 입력받기 scanf 함수는 공백(스페이스, tab, enter)을 기준으로 데이터 수를 결정짓는다. 따라서 My Sweet Home이라고 입력되면 My, Sweet, Home 세 개의 문자열을 입력한 샘이다. 포인터 메모리 공간의 주소 값을 저장하는데 사용하는 변수를 포인터라 한다. 포인터가 변수라는 것을 강조하기 위해서 '포인터 변수'라는 표현을 쓴다. 포인터는 const 키워드에 의해서 상수화되기도 한다. (뒤에서 자세..
[열혈C] 01. Part1 내용 정리 (C 언어의 기본) 연산자의 우선 순위와 결합성 C 언어의 기본 자료형 실수 자료형의 정밀도 보편적으로 정수는 int형으로 표현하는데, 실수는 보편적으로 double형을 쓴다. float형 보다는 정밀도가 높으면서 long double형 보다는 부담이 덜 되기 때문이다. double형으로 데이터를 받는 경우 서식 문자는 %lf를 사용한다. 정수형 자료형의 특성 기본 자료형 앞에 unsigned를 붙이는 경우 MSB까지도 데이터의 크기를 표현하는데 사용하게 되므로 데이터의 표현 범위가 양의 값으로 두 배가 된다. 기본 자료형 중에서도 정수형 자료형(char, short, int...)에만 붙일 수 있다. 실수형 자료형에는 붙일 수 없음에 유의하자! 리터럴 (literal) 상수 이름이 없는 상수를 가리켜 '리터럴 상수'라 한..
[뇌자극] 03. 컴퓨터 구조에 대한 세 번째 이야기 이번 장에서는 함수가 호출되는 원리와 호출이 될 때마다 할당되는 메모리 관리방식에 대해서 이야기하고자 한다. 프로그램이 실행되는 원리에 보다 근접한 내용을 언급하는 것이다. 절차적 함수 호출(Procedure Call) 지원 CPU 모델 함수가 호출되는 방식은 CPU에 따라서 차이를 보인다. 한 예로 ARM 코어에서는 ATPCS(ARM Procedure Call Standard)라는 것을 정의하였는데, 이는 함수의 전달인자와 리턴 어드레스(함수 호출이 완료되고 나면 되돌아 갈 주소)를 레지스터에 저장하기로 결정하고, 그 저장방식에 대한 표준을 정의한 것이다. 따라서 컴퓨터 구조를 이해하기 위해 설명할 모델은 이 표준을 고려하여 ARM 코어의 레지스터들도 디자인되어 있고, ARM 컴파일러도 이 표준에 맞게..
[뇌자극] 02. 컴퓨터 구조에 대한 두 번째 이야기 컴퓨터 구조의 접근방법 컴퓨터 구조에 대한 보다 근본적인 이해는, 이후에 공부하게 될 프로세스(컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램)와 쓰레드(프로세스 내에서 실행되는 흐름의 단위)를 이해하는 데도 큰 도움이 된다. 때문에 가장 일반적인 형태의 컴퓨터 구조에 대해서 함께 살펴보고자 한다. 컴퓨터를 디자인하자 디자인할 요소는 CPU이다.CPU를 구성하는 기본적인 요소 중 ALU와 Control Unit은 이미 존재한다고 가정하고 레지스터만 디자인할 것이다.시스템 프로그래머 입장에서 CPU를 보는 관점은 대부분이 레지스터에 집중되기 때문에 레지스터에 대한 이해는 아주 중요하다. 레지스터를 디자인하자 다음은 레지스터를 디자인하는데 있어서 결정해야 할 중요 요소이다. 레지스터를 몇 비트로 구성할 ..