리버스 엔지니어링(리버싱)을 공부하게 되었는데요. 공부하는 것을 정리할겸 포스팅해볼까 합니다. 를 참조하였습니다. 리버스 엔지니어링이란. 줄여서 리버싱 이라고도 하며 프로그램 역분석을 의미. 크랙을 만들기 위한 연구로 잘못 인식되기도 하지만 그런 작업을 통해 악의적 용도로 사용하려는 사람들을 크래커라고 하며, 프로그램 분석을 통해 보안 강화의 목적으로 취약점을 공개하는 사람들을 해커라고 한다. 리버싱의 용도 1. 악성코드의 분석 2. 창의력 증진을 위한 놀이 3. 완성프로그램의 수정, 디버깅 및 호환
(참조 : 뇌를 자극하는 RedHat Fedora 리눅스 서버&네트워크) 리눅스 유저분들은 직접 오리지널로 설치하여 사용하시는 분들도 많이 계시지만 대부분의 유저분들이 가상머신을 사용하실 거라 생각합니다. 그런데 잘 모르고 있지만 아주 유용한 기능이 있어 소개할까 합니다. VMware의 Snapshot기능입니다. (아쉽게도 VMplayer 등에서는 스냅샷 기능을 제공하지 않네요..) 스냅샷은 특정 상태를 저장하고 이동이 가능하다고 생각하시면 됩니다. 중요 설정을 마친 상태이거나, 특정 시스템 설정을 건드린다던가, 커널을 건드릴 상황이라면 그 시점을 저장해 놓는다면 시스템이 먹통이 되더라도 손쉽게 복구를 할 수 있을 것입니다. 메뉴->VM->Snapshot->Take Snapshot을 이용하여 현재 스..
일전에 우분투를 설치했었는데, 한 사용자의 계정만 생성할 뿐 root 계정을 생성하는 부분은 별도로 없더군요. 그래서 구글링을 해보았더니, 우분투에는 root권한이 존재하지 않고 sudo 명령어를 이용할 경우 root의 권한으로 실행이 가능하다고 합니다. 일반적으로 설치유저는 sudo명령이 사용이 가능한데요. /etc/sudousers에 등록할 경우 sudo명령이 사용 가능해진다고 하네요. 또한 root 권한으로 빈번하게 명령들을 사용해야 할 필요가 있을 경우에는, sudo -s를 이용해서 root권한의 셸로 이동할 수 있다고 하니 참고하세요~ - sudo : root권한 명령 실행 - /etc/sudousers : sudo명령 실행이 가능한 user - sudo -s : root권한 셸 실행
Linux에서 사용되는 문서 편집기의 업그레이드 판 형태인 vim편집기의 경우 윈도우에서 주로 사용되는 Visual Studio, Eclipse 등에 익숙해진 유저의 경우 처음에는 상당히 불편한게 사실입니다. 기본적으로 들여쓰기 줄 번호 지정 등의 기능을 vi의 명령 모드에서 제공하지만, 매번 설정해 줘야 할 경우 상당히 귀찮습니다. 이러한 설정 들을 자동으로 할 수 있습니다. .vimrc 파일을 이용하는 것입니다. vim편집기의 설정 파일이라고 생각하면 됩니다. 해당 유저의 home 디렉토리(/home/유저명)에서 .vimrc를 생성하면 됩니다. 제가 자주 사용하는 명령으로는 set smartindent : 자동 들여쓰기(autoindent도 있습니다) set nu : 줄 번호 지정 syntax on ..
ItemizedOverlay를 extends 한 클래스를 이용하여 MapView에 marker를 띄우게 되면, 처음에 ItemizedOverlay를 생성할 때 설정해준 default 마커가 맵에 나타나는데, 마커별로 다른 그림을 넣고 싶다면 다음과 같이 addOverlays()를 변경해주면 됩니다. public void addOverlay(OverlayItem overlay) { mOverlays.add(overlay); populate(); } public void addOverlay(OverlayItem overlay, Drawable drawable) { if(drawable!=null) overlay.setMarker(boundCenterBottom(drawable)); addOverlay(ove..
안드로이드를 포함한 모바일 단말기에는 휴대성으로 인해 해상도 제약이 심하므로 추가 명령을 위한 컴포넌트가 필수적입니다. 안드로이드도 여러 방안을 제시하는데, 그 중에 하나로 OptionsMenu, 즉 소위 메뉴라고 불리는 것이 있습니다. 에뮬레이터에서는 menu버튼을 통해 동작하며, 일반적인 모바일 단말기에서는 왼쪽 하단부의 버튼을 누를 시 등장합니다. 대부분의 안드로이드 뷰가 그렇듯이, 메뉴 또한 xml, java를 이용한 두 가지 방법 모두를 지원합니다만, xml이 보다 직관적이고 사용하기 편한 것은 분명합니다. (제가 java로 하는 방법을 모르기도 합니다 ㅋㅋ) 메뉴 사용을 위한 순서를 간추려 보자면 1) xml 파일 생성하기 2) xml파일을 메뉴로 등록하기 3) 각 아이템에 대한 이벤트 설정하..
액티비티간의 이동을 위해 주로 사용되는 Intent의 종류로는 두 가지가 있습니다. 명시적(Explicit) 인텐트와 암시적(Implicit) 인텐트 입니다. 명시적 인텐트는 흔히 알고 있는 인텐트이므로 설명은 생략합니다. 암시적 인텐트는 특정 동작을 지정할 경우 안드로이드가 그에 알맞는 동작을 수행합니다. 전화걸기도 이를 이용하게 됩니다. startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+전화번호))); ※ 주의 : 전화걸기 퍼미션을 매니페스트에서 추가해 주어야 합니다.(CALL_PHONE)
안드로이드의 SQLite를 이용하여 생성한 DB의 내용을 확인하는 방법은 여러가지가 존재하지만 여기서는 adb를 이용하여 확인해 보겠습니다. 1. adb 환경변수 등록 (Windows 7 기준) 컴퓨터-(우클릭)->속성->고급시스템 설정->(고급 탭)환경 변수 Path 편집을 누르고 위와 같이 C:\abc; C:\bcd; C:\cde; 이런 형식으로 등록되어 있습니다. 끝에 세미콜론(;)을 추가하고 android sdk가 설치된 폴더의 하위 폴더 tools의 Full Path를 등록해 줍니다. 저의 패쓰는 C:\Program Files\Java\android-sdk-windows\tools 입니다. (이 과정을 생략하고 직접 커맨드라인으로 폴더에 들어가서 다음 단계를 진행해도 됩니다) 2. adb she..
- Total
- Today
- Yesterday
- 알고리즘
- reversing
- 리눅스
- 머신러닝
- Algorithms
- 리버싱
- 기계학습
- Data Science
- 개발
- Machine Learning
- Data Structure
- 리버스엔지니어링
- 자바
- 대학원
- 데이터 과학
- linux
- java
- 안드로이드
- 카타르 음주
- 운영체제
- 카타르
- statistical learning
- android
- 자료구조
- Reverse Engineering
- 데이터 사이언스
- Discrete Mathematics
- 통계학습
- operating systems
- 이산수학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |