분류 전체보기154 리버싱#1 어셈블리 기본!! 어셈블리 기본! 숫자 표현 > 10진수 : 사람이 이해하는 숫자 > 16진수 : 컴퓨터와 대화하기 위한 숫자 > 2진수 : 컴퓨터가 이해하는 숫자 - 1의 보수 : 0은 1로, 1은 0으로 변경 - 2의 보수 : 1의 보수에서 1을 더한 값 메모리 주소와 섹션 > 모든 운영체제는 사용자 모드와 커널 모드로 메모리를 나누어 관리 > 모든 프로그램은 사전에 약속된 형식을 따름 프로그램과 메모리 코드 실행 흐름에 따라 변화하는 값들은 스택 또는 힙에 쌓이게 된다. 스택 > 함수 호출 시 생성되는 지역 변수와 매개 변수가 저장되는 영역, LIFO 구조 힙 > 동적으로 메모리 할당 시 사용하는 영역 어셈블리 명령어 세트! > 데이터 이동 : 메모리 메모리, 메모리 레지스터, 레지스터 레지스터 > 산술/논리 연산 .. 2021. 2. 19. 리버싱#1 아키텍처 이해하기 (시스템 동작 원리) - 운영체제 > 하드웨어 자원을 관리하고, 응용 서비스를 제공 > 사용자와 하드웨어 사이의 인터페이스 역할 > 하드웨어의 고장 탐색, 오류 처리, 보안 유지 사용자가 보는 응용 프로그램 아래 운영체제(커널)이 존재한다. >chrome 브라우저를 실행하게 된다면!! 브라우저를 실행해서 google 검색했는데 외국 서버가? 잉?? 어떻게 그런거지? 하는 것이 리버싱의 기초!!!! -> chrome.exe 파일을 읽어 들인다. -> 새로운 프로세스가 생성된다. -> 프로그램 실행에 필요한 정보가 메모리에 올라온다. -> 프로세스 실행 순번을 기다린다. -> 자기 차례가 되면 CPU로 들어가 실행된다. -> 운영체제에 요청! -> 모니터에 띄워준다! 2021. 2. 19. 파이썬을 이용한 주식(종목코드, 회사명)정보 MariaDB로 자동 저장하기 #1 1. C:\myPackage\Investar 디렉터리를 생성! 2. 아래 코드를 Investar 경로에 DBUpdater.py로 저장한다! class DBUpdater: def __init__(self): """생성자: MariaDB 연결 및 종목코드 딕셔너리 생성""" def __del__(self): """소멸자: MariaDB 연결 해제""" def read_krx_code(self): """KRX로부터 상장법인목록 파일을 읽어와서 데이터프레임으로 변환""" def update_comp_info(self): """종목코드를 company_info 테이블에 업데이트 후 딕셔너리에 저장""" def read_naver(self, code, company, pages_to_fetch): """네이버 금융.. 2021. 2. 17. 리버싱#1 아키텍처 이해하기! 컴퓨터 구조, CPU 아키텍처 컴퓨터 - 입력, 출력 입력 했을 때 어떻게 처리 되는가? 어떻게 출력 되어지는가? 핵심! CPU, RAM, 하드디스크 해당 과정을 약속 처럼 정리해 놓은 것이 운영체제 이다!! CPU ----- 메인 메모리 ---- 하드디스크 ** 메모리가 핵심 ** ex) chrome 시작 프로그램 전체가 메인 메모리로 가는게 아니라 필요 부분만 이동 그래서 우리는 메인 메모리에 필요 부분만 들여다 보면 된다. 전체들 들여다 볼 필요가 없다. + CPU - Register(CPU의 연산에 사용하던 데이터를 기억하는 소규모 기억장치) CPU 아키텍처 CISC (x86) - 가변 길이 명령어 - 메모리 용량을 적게 차지하는 프로그램을 구성할 수 있도록 설계된 프로세서 RISC (ARM) - 고정 길이 명령어 - 적은 수.. 2021. 2. 17. 이전 1 ··· 15 16 17 18 19 20 21 ··· 39 다음 728x90 반응형