본문 바로가기

전체 글75

9-1. Reverse Engineering Reverse engineering Reverse engineering:리버스 엔지니어링은 시스템, 소프트웨어, 하드웨어의 안에서 작동하는 것을 분석하고 이해하는 과정이다.즉, 외부의 동일한 기능을 구현하기 위해 내부를 뜯어 분석하는 행위인 것.효율적이고 정확한 분석을 위해서는 다양한 지식을 알고 있어야 한다: 커널, 프로세스, 어셈블리어정보 수집: 문서, 프로그래밍 언어, 라이브러리, 컴파일러 등등 방법에는 2가지 방법이 있다.- 정적 분석: 디컴파일러를 사용해 실행 바이너리로부터 소스를 역추출하는 방법 등이 있다.   도구를 사용하면 쉬운편   도구: IDA pro, Ghidra, Radate2, 등등 - 동적 분석: 정적 분석만으로는 런타임에 결정되는 컨트롤 플로우를 따라가기 어렵다는 단점이 있다... 2024. 6. 4.
중간(7~8 선택과 집중) Dynamic linking information  - 작동시간동안 동적/공유된 라이버리를 로드하기위해 요구되는 정보 정적 링킹 - 링커가 컴파일-타임에 다양한 객체 파일과 라이브러리를 하나의 실행 파일로 결합하는 과정을 말한다.- 모든 외부 함수 호출 및 변수 참조를 최종 실행 파일로 해결한다.동적 링킹 - 프로그램이 런타임에 함수 호출 및 변수 참조를 위해 별도의 공유 라이브러리 파일을 사용하는 메커니즘이다. - 프로그램은 공유 라이브러리에 대한 참조를 포함하고 있으며, 이 참조는 메모리에 로드되고 실행 시 프로그램에 링크된다. Sectionxxd [filename]sh_name: 섹션 헤더의 스트링 섹션의 배열이다.  Program loading  - 시스템이 프로세스 이미지를 생성하면, 논리적으로.. 2024. 4. 24.
[AI] Uncertainty(3-1) 불확실성(Uncertainty) 저번 파트에서는 AI가 어떻게 새로운 지식을 표현하고 도출할 수 있는지에 대해 논의했었다. 그러나 실제로는 AI가 세상에 대해 부분적인 지식만 갖고 있어 불확실성의 여지가 있는 경우가 많다. 그럼에도 불구하고 우리는 AI가 이러한 상황에서 최선의 결정을 내리기를 바란다.   예를 들어 날씨를 예측할 때 AI는 오늘 날씨에 대한 정보를 가지고 있지만 내일 날씨를 100% 정확하게 예측할 수 있는 방법은 없다. 그래도 우리는 우연히 보다 더 잘할 수 있으며, 이번에는 제한된 정보와 불확실성 속에서 최적의 결정을 내리는 AI를 어떻게 만들 수 있는지에 대한 알아보자. 확률(Probability) 불확실성은 사건의 수와 "거의", "가능성", "확률", "각각의 발생"들로 표현될.. 2024. 4. 24.
자료구조[중간고사] 더보기 #define _CRT_SECURE_NO_WARNINGS #include #include // ===== 원형큐 코드 시작 ====== #define MAX_QUEUE_SIZE 5 typedef int element; typedef struct { // 큐 타입 element data[MAX_QUEUE_SIZE]; int front, rear; } QueueType; // 오류 함수 void error(char *message) { fprintf(stderr, "%s\n", message); exit(1); } // 공백 상태 검출 함수 void init_queue(QueueType *q) { q->front = q->rear = 0; } // 공백 상태 검출 함수 int is_empty(Queu.. 2024. 4. 22.
[AI] Knowledge (2) 지식-기반 에이전트 지식 기반 에이전트- 지식의 내적 표현에 의해 논증하는 에이전트를 지식 기반 에이전트라 한다.  -  지식을 바탕으로 논증해 결론을 도출한다라는 말이 뭔가?ex) 오늘 비가 안왔으면, 해리는 해그리드에 갔다.      해리는 오늘 해그리드와 덤블도어 중 한 곳에만 갔다.      해리는 오늘 덤블도어에 갔다.- 위의 세 문장으로 알 수 있는 것은 오늘 비가 왔는가? 에 대한 답이다.  논리적으로 덤블 도어에 갔으면 둘 중 한 곳만 갔으니 1번문장의 역을 도출 할 수 있다. 즉, 비가 왔으니 해그리드를 가지 않았다 = 비가 왔다 sentnece(문장): 문장은 지식 표현 언어로 된, 세계에 관한 주장이다. ai는 문장에 지식을 담아 새로운 정보를 추론한다. Propositional Lo.. 2024. 4. 20.
중간 access control 더보기Access Control 로그인 과정: 식별 -> 인증  -> 권한 허가 -> 접근 식별: 접근 허가를 시도하는 것을 아이디가 맞는지로 확인인증: 비번등으로 인증해야함권한 허가: 어떤 자원들이 접근 가능한지와 어떤 행동을 할 수 있는지 확인한다.접근: 이제 사용 가능함. 시스템은 계속 사용자가 한 것들 기록한다. - 개별을 위한 계층적 차이 - User: 사용자는 인증 프로세스를 통해 식별되며, 여기서 자신의 신원을 증명하기 위해 자격 증명(사용자 이름, 비밀번호, 생체 인식 데이터) 또는 다른 형태의 식별 정보를 제공할 수 있다.- Principal: 유저 정보에 대한 인터페이스원리는 컴퓨터 시스템에 의해 인증될 수 있는 엔티티를 의미한다. ID를 할당받을 수 있는 모든 엔티티를 의미한다.  -.. 2024. 4. 20.