2017/12/05(3)
-
따라만들어보는 VCP - 상상만 하던걸 드디어..!
가상화 코드를 공부하고 싶어 둘러보다가 이 분 블로그가 좋아보여서 공부 할 겸 따라 적으면서 필요한 부분은 추가하거나 내가 이해한 대로 재해석해서 작성하였다. 출처: http://revsic.tistory.com/4 VCP는 VM과 가상화 된 명령어로 이루어져 있다. 설계를 할 때 명령어 가상화 모델 설계 + VM 모델 설계, 바이너리 설계로 나뉘어지게 된다. VM모델의 경우 세부적으로 들여다보면 VM의 실행 루틴과 에뮬레이션 과정에서 참조하는 메모리 영역의 설계로 이루어진다고 한다. [설계 시나리오] 전가상화 1. 소스를 메모리에 적재 2. 소스 해석을 전부 VM에게 인가 반가상화1. 소스를 메모리에 적재2. 소스 해석 일부분만 VM에게 인가 가상화를 이렇게 이해하면 편하다고 한다.(아는동생의 기가막힌..
2017.12.05 -
기초 공부 Code Virtualization
컴퓨터에는 가상머신이라는게 존재한다.대표적으로 자바의 경우 JVM, 안드로이드의 경우 Dalvik VM이 있다. 기계어로 이루어져 있는 cpu의 아키텍쳐는 보편적으로 i386, x86_64, ARM 등 주로 사용되는 아키텍쳐가 정해져 있다. 이러한 아키텍쳐는 기존부터 존재하기 때문에 분석하는데 쉽다고 한다.물론 아직 나에게는 이러한 아키텍쳐도 힘들다. 하지만, 이보다 더 어려운것이 잘 알려져있지 않거나 사용자가 직접 정의한 아키텍쳐에서 프로그램이 실행되게 되는 상황이다. 환경이 익숙하지 않고, 분석에 필요한 정보가 전혀 없는 상황에서는 당연히 분석하는 시간이 늘어나고, 사람이라면 분석할 의지가 떨어지게 된다. 나 역시 너무 어려워 보이는 문제는 그냥 포기해버렸었다. 하지만 이제는 포기하지 않으려고 한다...
2017.12.05 -
ELF 기초 공부중
기초 공부 중이기 때문에 다른 사람들의 블로그들을 참고하고, 이해하기 위해 적어보고 있습니다. 중간중간에 사전적 정의부분이 아닌 부분에 의해서는 직접 생각해보고 느낀것들에 대해서도 명시할 것입니다. ELF : Executable and Linkable Format ELF는 Unix, Linux 계열에서 실행 가능한 오브젝트 파일을 규정한 것이라고 한다. PE와 똑같이 실행에 필요한 기계어, 심볼 테이블, 디버그 정보, 재배치 정보등을 저장하고 있다. ELF 파일은 머리부분인 ELF Header가 가장 앞부분에 위치하게 되고, 그 다음 순서대로 Program Header Table, Section Header Table이 존재하게 된다. 이러한 헤더들의 정보를 자세히 알고 싶으면 elf.h에서 확인할 수 ..
2017.12.05