시스템/악성코드2 악성코드 실습 1 환경: Visual Studio 2019빈 프로젝트 설정 ㄱㄱ >> 아무거나.c 파일 만들기 #include int main(int argc, char** argv) { __debugbreak(); printf("Hello Malware!\n"); return 0; } 속성 >> c/c++ >> 코드 생성 >> 런타임 라이브러리 >> 다중 쓰레드 디버그 /MTd>> 설정 끄고 ctrl+shift+b>> 브레이크 포인트 걸고 f5 >> 디버그 >> 창 >> 디스어셈블리, 메모리, 레지스터메모리창에 0x 주소입력하고 엔터 / 디버그는 x64 1: #include 2: 3: int main(int argc, char** argv) 4: {00007FF74D539800 48.. 2024. 10. 4. 악성코드 1 논리 연산: and, or, xor 많이 씀ALU: 전기 신호로 0과 1로 논리 연산 수행하는 회로.AND: 둘다 1이면 1, 나머지는 0OR: 1이 하나 이상이면 1, 나머지는 0XOR: 둘중 하나가 1이면 1, 나머지는 0CPU 레지스터: 작은 저장 장치(연산) 머신코드: 0과 1로만 되어있음어셈블리어: 보기 쉽게 특정 단어로 변경opcodeopcode operand1 opcode operand1 operand2형태로 구성되어 있고 operand에는 레지스터, 주소값, 상수 값이 올수 있다.메모리: 저장 공간변수: 단일 메모리 공간배열: 연속된 메모리 공간구조체: 연속된 메모리 공간에 이름을 지정 주소: 각 메모리 공간에는 주소가 있고 &는 메모리 주소 값을 알 수 있음.포인터: 변수, 배열, 구조체.. 2024. 10. 4. 이전 1 다음