반응형 분류 전체보기2980 20151202_박서연_일일업무보고서_ARM Assembly, WinSock 2015-12-02 *ARM Assembly #임베디드 메모리 구조 RO(Read Only).text : 코드.constdata : 상수 RW.data : 초기값이 0이 아닌 static이나 전역변수 ZI.bss : 초기값이 0인 static이나 전역변수 #ELF와 ELF 헤더의 구조- Executable and Linking Format을 의미한다.- 실행 가능한 그리고 링크를 하는 형식을 말한다.relocatable file- 최종 실행 가능한 file이 아니라, link 가능한 object file이다.- 나중에 link를 통해서 재배치가 가능하다.- Assembler에 통과하여, link 가능하게 table 형태로 만들어 놓은 것이다. ELF format Object file- Assembler의.. 2015. 12. 3. 20151202 김태현 개인업무일지 어셈블리에서는 심볼테이블은 주소 말고는 의미가 없다.변수에 이름을 주는 개념은 어셈블리에서 존재하지 않는다. 어셈블리에서는 단순히 주소로 위치 정보만 가지고 있다.링커 단계에서 여러 개의 파일을 컴파일 할 때 함수나, 변수 때문에 생기는 에러들을 주소충돌이라 부른다. 전역 변수는 ebp 기반으로 움직이지 않는다.지역변수는 ESP와 EBP사이에 있을때만 보호받는다.임베디드에서는 BSS영역을 ZI라고 부른다. elf파일은 readelf 명령어를 통해서 파일정보를 확인할수 있다. (윈도우에서는 먹히지 않아서 리눅스로 확인했다) 2015. 12. 3. 20151202_[안향진]_ARM어셈블리_4__WINSOCK_3 ==========================================================================================ARM 어셈블리========================================================================================== =ELF tcc -c : .o파일 생성/ link를 하지 말라는 의미 => relocatable file => 나중에 linker를 통해 재배치 가능 *NTFS제외한 파일 구조는 검색 가능 =readelf -h *.o =권한 변경(파일 붙여넣기)chmod 777 디렉토리이름 ** Section #5 '.text' (SHT_PROGBITS) [SHF_ALLOC + SHF_E.. 2015. 12. 3. 20151202 임현수 업무일지 ELF파일 포맷, 스레드 ■ ARM assembly ■ 오브젝트 파일C에서 어셈블리로 넘어가면 값들은 주소기반이 된다.즉 심볼테이블이 그변수의 주소를 갖게 되기 때문이다. 오브젝트가 여러개(소스파일이 여러개)있으면 주소를 정리해야된다.가상주소가 오브젝트파일 별로 나온다.오브젝트파일이 나올때는 용량에대한 정보만 나온다고 보면 된다.이를 바탕으로 실행파일 만들때 구체적인 주소가 나온다 -> 맵파일 지역 변수들...기준주소 + 0기준주소 + 4기준주소는 EBP를 말한다고 보면 된다. 기준주소를 실행할 때마다 바꾼다. - 보안성 향상실행 시킬 때만 함수의 위치를 알 수 있다. (c++의 가상함수 개념과 비슷하다.) 이름이 동일한 변수나 함수를 사용해서 발생하는 에러는 주소 충돌이라고 볼 수 있다. 지역변수는 ESP와 EBP사이에 있어야.. 2015. 12. 3. 20151202 강동조 개인업무일지 EBP와 ESP사이에 있어야 데이터가 보호를 받는다 C개념상으로는 중괄호가 끝나게되면 사라진다는 개념이다 하지만 어셈블리로 보면 사라지지않고 보호대상이 아니게 된다 C에서 전역변수를 선언하게되면 BSS이다 이것을 임베디드에서는 ZI(Zero Initalized)이다 Unix에서 사용하는 용어 RW = .data ZI =bss R0 = .constdata + .text 쓰레드 자바는 쓰레드로 되어있다 메시지가 오지않으면 프로그램이 돌지 않는다 폴링으로 처리하고있지만 던지는입장에선 인터럽트이다 운영체제가 없다고 생각해보자 프로그램A와 프로그램B가있다 A와B가 화면에서 윈도우이고 B를 창을 옮겼다봐도 다시그린다 A도 똑같다 동시성이있어야한다 동시성이없으면 프로그램을 구현할수가 없다 이것을 안쓸려고 리눅스에서 .. 2015. 12. 2. 20151202 윤재희 Memory Map과 Symbol 이야기, ELF format Object File에 관한 진실. -c option (기계어 세상), 멀티쓰레드 ARM ASM==================================Outline====================================Memory Map과 Symbol 이야기ELF format Object File에 관한 진실. -c option (기계어 세상)---------------------------------------------------------------------------- Memory Map과 Symbol 이야기 C에서는 변수나 명령어에 대한 심볼 테이블이 필요한다. 어셈블리의 경우에는 스택의 베이스 주소에서 떨어진 정도를 기준으로 변수를 사용하기 때문에 심볼 테이블이 필요 없다. 메모리 맵 파일은 실행파일을 만들 때 작성된다. 변수의 주소는 link 단계에서 결정.. 2015. 12. 2. 20151202-김재홍-ARM_Assembly /***ARM_Assembly***/ embedded recipes 198_Page| Memory Map과 Symbol이야기 Symbol이란, Linker가 알아볼 수 있는 기본 단위인데, Link를 한 후에는 자신만의 주소를 갖게 되는 특별한 단위를 말합니다. Symbol의 이름은 그 Symbol이 갖는 메모리 영역의 시작 주소를 가리키는 Linker만의 pointer이기요. Debugging시에 이런 Symbol의 이름이 사용되기도 하지요. 이는 전역변수의 이름이나, 함수이름이 그 예이며, 아주 중요한 의미이니 꼭 새겨 두세요. Linker를 위해서 ELF object file내에는 symbol table이라는 것을 두는데, source code에 의하여 참조되는 symbol들의 이름과 위치 정보가 .. 2015. 12. 2. 2015.12.02_[ARM #5]_ELFfile, [Winsock #3] socket_이량경 12/19~ C++특강 있음.✔ ================================================================198 p~ * 프로그램 적재방식 > C에서 ASM넘어 가면 값들이 주소기반이 된다.> 심볼테이블에 변수들의 위치정보를 들고 있다.> 데이터를 읽고 쓰는(변수는 읽고 쓰는것뿐) 이것의위치정보를 심볼 테이블이 가짐.> 오브젝트가 여러개면 주소를 정리해야한다. * 맵파일 : 위치가 어디에 존재한다-> 실행할때 나온다. > 실행파일을만들때 구체적인 주소가 나온다. 오브젝트때까지는 어느 용량을 차지한다는 정보만 심볼에 존재한다. * 심볼 3가지 형태> RW, ZI, RO* 지금 스택구조는 > 기준 (EBP)주소 에 +0 +4 한다.> 요즘에는 실행할때마다 주소가 바뀌.. 2015. 12. 2. 20151202 / ARM_5, winsock_3- 남수진 ARM Symbol link 후 자신만의 주소를 갖게 된는 단위 object 파일 정확한 변수 주소 정보 없이 심볼 정보만 존재 link 후 실행파일이 만들어졌을 때 변수의 주소가 결정된다 이 때 변수의 주소는 Symbol table을 참조하여 결정된다 보안이 걸린다 =base 주소가 실행할 때마다 바뀐다 C++의 가상 함수와 비슷 변수 분류 symbol/ non-symbol symbol 직접적인 주소를 가진다 코드 내 어디에서든 접근 가능 non-symbol ebp 기반의 상대적 위치로 접근한다 esp 범위를 벗어나면 변수 내용이 보호받지 못한다 임베디드 메모리 구조 RO(Read Only) .text : 코드 .constdata : 상수 RW .data : 초기값이 0이 아닌 static이나 전역변수.. 2015. 12. 2. 이전 1 ··· 61 62 63 64 65 66 67 ··· 332 다음 728x90 반응형