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

안드로이드 어플리케이션을 개발하기 위한 환경을 구축하기위해서는 다음 프로그램들이 필요하다. –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

카테고리 IT

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

카테고리 IT

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

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

카테고리 IT

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

티스토리 블로그 배경음악 넣기

-아직 티스토리는 글 내부에 BGM 넣는 기능만 제공하는 것 같아 외부사이트를 이용해서 BGM을 설정해 보았다. 장점 : 직접 HTML 소스를 수정할 필요가 없어 스킨을 잘못 건드리는 것을 예방 단점 : 사이드바에서 제거시 새로 등록해야 함 장점 : BGM Player를 여러개 등록 후 쉽게 넣었다 빼는 것이 가능 단점 : 소스를 직접 수정해야해서 잘못건드리면 스킨을 망칠 수도 있음. … Read more

프로세스 리스트 얻기

-프로세스 리스트를 얻어와 프로세스 리스트를 구조체에 저장한다. -PLIST : 프로세스 경로, PID 값을 가지는 간단한 이중 연결리스트 구조체 -DeleteProcessList : 프로세스 리스트를 제거한다. -GetProcessList_TI : TlHelp32를 이용한 프로세스 리스트 획득 함수                                (히든 프로세스 탐지 불가능) -GetProcessList_BF : Psapi를 이용한 프로세스 리스트 획득 함수                                (Brute Force식 PID 탐색을 통한 히득 프로세스 탐지 가능) #include #include … Read more

프로세스 제거하기

-인자로 전달된 PID를 가지는 프로세스를 종료한다. #include int KillProcess(int pid){         HANDLE hProc;         hProc=OpenProcess(PROCESS_TERMINATE,FALSE,pid);         if(!hProc){                 return GetLastError();         }         TerminateProcess(hProc,0);         CloseHandle(hProc);         return 0; }

바로가기