본문 바로가기
반응형

코스웨어/15년 스마트컨트롤러532

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.
20151202 - 권오민 - ARM ASSEMBLY 5일차/WinSock 3일차 ARM ASSEMBLY◉11. Memory Map과 Symbol 이야기●symbol- Linker가 알아본 수 있는 기본 단위이다.- linker로 넘어가면 모두 주소로 전환된다. - symbol table의 쓸모가 없다. - 오브젝트끼리 주소를 중복되지 않게 사용하기위한 목적이다.- 오브젝트를 만들 때는 일종의 가상주소가 사용된다. - 실행파일을 만들 때 실제 주소가 적용된다. - 다른 기계어 코드나 다른 오브젝트로 인해 문제가 생길 수 있다.- 과거에는 변수의 주소 값이 고정되어 해킹이 매우 용이했다. - 현재의 stack는 기준이 되는 주소를 정해놓고 변수를 +0, +4 등으로 처리한다. - 실행 시킬 때 마다 기준이 되는 주소 값을 변환한다. - C++의 가상 함수도 유사하다.- 오브젝트끼리 전역.. 2015. 12. 2.
20151202 엄민웅 - arm 임베디드레시피 (교제 198~210) p198. 심볼테이블에 주소 링크 단계에서 주소가 나옴 요즘은 보안 때문에 실행시 베이스 주소가 바뀐다. code RO 읽기전용data RW 일고쓰기bss ZI 0으로 초기화stack RW 읽고 쓰기 p208. fromelf -c 파일이름.ofromelf -c 파일이름.o>정보.txt CM님이 주신 winsock스레드 적용시킨 소스코드. --즉석 메모-- 스레드 자바는 기본적으로 스레드로 구현 된다. 메세지가 오지 않으면 프로그램은 돌지 않는다 전반적 폴링 방식 메세지를 운영체제가 던져주면 프로그램 입장에선 던져주는 메세지는 인터럽트 동시성 왜 select썼는가? 뭔가 입력하면 입력이 플린다.들어오는거 감지 해서 마치 인터럽트처럼 select가 없으면 키보드 입력, 소캣은 누가 감시 감지 할꺼냐? 순차적.. 2015. 12. 2.
20151202 - 주재민 개인업무일지 egloo 블로그의 글을 pdf로 만들어 책을 만들기 쉽게 되어 있다. 개인홈페이지는 티스토리가 좋다 주소는 링크단계에서 확실해진다 요즘은 주소가 계속변하게 해놨다. 실행할때마다 기준주소를 변화시켜서 해킹을 할 수가 없다. 변수가 겹치면 실행파일이 나오지 않는다. 컴퓨터는 if문 기반으로 동작을 한다. 명확하게 구분해야 동작을 한다. symbol 테이블은 주소를 구분시켜 주기 위해 있다. 값을 쓰고 보호받을려면 ebp와 esp사이에 값이 쓰여져야 보호된다. ex) int * test() { int A; return A; } A가 스택에 남아있지만 보호받지는 않는다. code data bss heap stack RW는 read-write ZI는 Zero-initialized R0는 read only cod.. 2015. 12. 2.
20151201 - 강동조 개인업무일지 cpu에서 메모리로 까지 플립플롭선이 따로 빠져있고 메모리를 위해서 존재하는 회로이다 클럭이 펄스를 주게되면 새로운데이터가 바뀌게 된다 특정다리에 신호(enable)가 들어올떄 데이터로 감지한다 USB선이 5개이다 T, R, VC, G,클럭 7X는 PIOB가 존재하며 다리핀이 하나더 존재한다 ELF를 OBJ라고도하며 lib라고도 한다 printf가 obj로 만들어져있다 그걸 정리화 시켜놨기에 lib라고 부른다 암컴파일 옵션 2015. 12. 2.
20151201 주재민 업무일지 리눅스는 elf를 지원 lds 링커이름이다. 2015. 12. 2.
20151201 22번 우대희 업무일지 컴파일 설치 ARM ADS(ARM Developer Suite) 1.2------- ARM ADS ARM Developer Suite 라는 줄임말로 ARM 사에서 제작한 유료 C컴파일러현재는 단종되었다고 합니다. http://alisa2304.tistory.com/35 해당 페이지 참고하여 설치 >winsock MFC 에 Win32함수를 없애버리면 함수가 동작을 못한다 MFC를할려면 기본적으로 Win32를 배워야한다 윈도우소켓을 만들려면if(WSAStartup(MAKEWORD(2,2),&wsaData)!= 0) { printf("error\r\n"); return 0; }위 if문을 반드시 만들어줘야한다 도스도 네트워크가 가능하다 #pragma comment(lib, "Ws2_32.lib") //비주얼에.. 2015. 12. 2.
20151201 김태현 업무일지 ADS설치 server.c(작성중) #include #include #include #pragma comment(lib, "Ws2_32.lib") #define MAX_USER2#define NIC_NAME_SIZE9int main(){WSADATA wsa;SOCKET sock;SOCKADDR_IN sock_addr;SOCKADDR_IN csock_addr;SOCKET csock;fd_set fdRead;char buffer[50];int iCSock[MAX_USER];char cNick[MAX_USER][NIC_NAME_SIZE];int i;unsigned uiCnt; WSAStartup(MAKEWORD(2, 2), &wsa); sock = socket(AF_INET, SOCK_STREAM, 0);memset(&.. 2015. 12. 2.
728x90
반응형