안드로이드 프로젝트 생성하기

안드로이드 프로젝트는 File>New>Android Project 를 누르면 생성이 가능하다. 프로젝트 명을 적당히 작성하고 Build Target에 개발하고자 하는 안드로이드 플랫폼 버전을 선택해준 뒤 패키지명을 작성해주면 모든 설정이 완료된다. 패키지명은 두 단계 이상으로 설정하며 프로젝트 명과 도메인 주소를 역순으로 섞어 쓰는 방법이 무난하고 전 세계에서 유일해야한다. (안드로이드 어플리케이션의 고유 식별자로 쓰인다.)

2011.09.21 Tacademy 안드로이드 3일차 메모

모든 뷰는 생성자가 존재하지 않는다. 클래스 생성시 constructors from super class 를 체크하면 생성자가 자동 생성된다. 이벤트 함수에서 리턴 타입이 boolean일 경우 반환값이 true면 이벤트 처리를 완료하고 false라면 다른 곳에서 처리한다. 매니페스트 파일에서 액티비티 속성에 Screen orientation 값을 설정하면 초기 화면 가로세로 설정이 가능하다. 방향전환시 아무런 작업을 하지 않게 하려면 매니페스트 파일 액티비티 속성에서 config … Read more

2011.09.20 Tacademy 안드로이드 2일차 메모

Text field 프로퍼티중 hint는 설명글을 표시할때 사용한다. image view 프로퍼티중 src는 패딩이 적용되고 background는 패딩이 적용되지 않는다. setContentView는 화면을 구성한다 액티비티를 생성하면 매니페스트 파일에 꼭 추가해주어야 한다 finish(); 액티비티 자기 자신을 종료하는 함수 이클립스에서 마우스 오른쪽 누르고 source > override/implements methods 추상 메소드 자동 생성 이클립스에서 마우스 오른쪽 누르고 source > Generate Getters and Setters.. … Read more

안드로이드 개발 환경 구축하기

안드로이드 어플리케이션을 개발하기 위한 환경을 구축하기위해서는 다음 프로그램들이 필요하다. –JDK (Java Development Kit) : 안드로이드 어플리케이션의 경우 자바 기반으로 작성되기 때문에 JDK 설치가 필요하다 –Android SDK : 실질적인 안드로이드 개발 도구이다 –Eclipse EE : SE를 설치해도 무방하나 드물게 C와 연동하여 프로그래밍을 할 때 드물게 에러가 나는 경우가 있어서 EE를 설치하는 것이 좋다. –ADT (Android Development Tools) : … Read more

2011.09.19 Tacademy 안드로이드 1일차 메모

안드로이드 = 클라이언트 기반 기술 JAVA + DB + XML** + Network + HTML5 애플 : 안드로이드 = 1 : x 안드로이드 개발 단체 = OHA open handset alliance 구글 = 광고 회사 sk 개발자 등록 = 무료 , 공인인증서 필요 구글 개발자 등록 = $25 안드로이드 != OS 안드로이드 = 리눅스의 플랫폼 브라우저는 오픈소스 … Read more

2011.09.15 KISA 리눅스 보안 심화과정 메모

grub-md5-crypt GRUB 패스워드 설정 명령 중요 디렉토리 읽기권한 제거 find / \( -type d -o -type f \) -a -perm -2 -ls 일반 사용자의 쓰기 권한 검사 ssh의 chroot를 사용하면 일반 사용자의 과도한 권한을 제어할 수 있다. iptables 설정시 INVALID 패킷에 대하여 DROP 옵션을 적용해두면 DOS 공격 등 비정상적인 패킷 차단이 어느정도 가능하다 설정시 ESTABLISHED … Read more

2011.09.09 KISA 리버스 엔지니어링 교육 메모

NetScheduleJobAdd admin$ 로 접속했을때 지정된 스케쥴 실행하게 하는 함수 AdjustTokenPrivileges -권한 상승 관련 API -시스템 dll 파일 등을 수정하기 전 권한 상승이 필요 System Explorer -스냅샷 기능을 이용하여 파일,레지스트리 등등의 추가 제거 여부를 확인 가능 (스냅샷 비교만으로 파일 추가 제거 여부 확인 가능한게 장점) (어떤 프로세스가 동작하며 추가 제거 하였는지 알 수 없는게 단점) API … Read more

VEH (Vectored Exception Handling)

참조1 : http://msdn.microsoft.com/en-us/library/ms681420(v=VS.85).aspx 참조2 : http://blogs.msdn.com/b/zhanli/archive/2010/06/25/c-tips-addvectoredexceptionhandler-addvectoredcontinuehandler-and-setunhandledexceptionfilter.aspx VEH는 SEH의 확장된 개념으로써, 프레임 기반이 아니기 때문에 어떠한 곳에서든지 핸들러를 추가할 수 있다.  1.SetUnhandledExceptionFilter LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter( __in LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter); 최상위 예외 필터를 설정한다. 하위 예외 필터에서 처리되지 않은 예외는 이 함수에서 지정한 예외 필터에서 처리한다. 2.AddVectoredExceptionHandler  PVOID WINAPI AddVectoredExceptionHandler( __in ULONG First Handler, __in PVECTORED_EXCEPTION_HANDLER VectoredHandler); Vectored Exception Handler를 … Read more

SEH(Structured Exception Handling)

참조 : http://msdn.microsoft.com/en-us/library/swezty51(v=VS.71).aspx 비동기적으로 아무 때나 발생가능한 인터럽트와 달리 실행 중인 프로그램의 직접적인 실행 결과로 발생하는 예외를 처리하기위하여 윈도우는 어플리케이션이 예외 발생시 제어를 받을 수 있도록 SEH를 사용한다. SEH는 시스템 메커니즘으로서 프로그램 언어 한정적인 것이 아니라 것에 유의해야한다.  ※여기에서는 C를 기준으로 사용법을 기술한다. SEH는 기능적 특성에 따라 Termination Handler와 Exception Handler 두 가지로 나뉜다.  1.Termination … Read more

strrstr 함수 구현 (문자열 역순 탐색 함수)

-strstr 함수와 유사하게 문자열을 탐색하나 역순으로 탐색한다. #include #include char* strrstr(char* str,char* ptn){         unsigned int ptnlen=0;         unsigned int i=0;         unsigned int j=0;         char* offset=-1;         //패턴 문자열 길이 획득 (인덱스로 사용하기 위해 1 감소)         ptnlen=strlen(ptn)-1;         //문자열의 오른쪽부터 비교 시작         for(i=strlen(str)-1;i != 0;i–){                 //문자열의 현재 위치 문자가 패턴 문자열의 마지막 문자와 일치 하는지 확인                 if(str[i] == ptn[ptnlen]){ … Read more

바로가기