import datetime import os from shutil import copyfile, copystat s = datetime.datetime.now() dir_name = str(s).replace(' ','_') os.mkdir(dir_name) os.chdir(dir_name) for root, dirs, files in os.walk('/var/log'): for f in files: if 'log' in f: src = root + '/' + f copyfile(src, './' + f) copystat(src, './' + f) 리눅스 로그 파일을 자동으로 백업 해주는 코드입니다.
IDA와 올리디버거로 지뢰찾기를 분석해서 지뢰찾기 게임의 맵 정보를 찾았습니다. 이 부분을 검색해서 실시간으로 게임의 맵 정보를 출력해주는 맵 핵 프로그램을 만들었습니다. 아래는 프로젝트의 소스코드입니다. 자세한 코드 설명은 주석에 달아놓았습니다! ※github : https://github.com/A6ly/WinmineMapHack #include #include #include #include #include #include #define BUFFER_SIZE 512 #define MAP_SIZE 700 typedef struct { BYTE MaxWidthX; BYTE MaxHeightY; BYTE ALLMineCount; }GameInfo; const unsigned int ADR_MINE_MEM..
adb devices : 현재 연결된 디바이스 확인 adb connect 127.0.0.1:62001 : NOX adb 연결 adb root : 루트 권한으로 접근 adb unroot : 루트 권한 해제 adb remount : /system 파티션이 읽기, 쓰기가 가능하도록 다시 마운트 adb shell : adb shell 실행 adb start-server : adb 실행 adb kill-server : adb 종료 adb push [파일 이름] [디바이스 경로] : PC에서 연결된 디바이스로 파일 복사 adb pull [파일 이름] [PC 경로] : 연결된 디바이스에서 PC로 파일 복사 adb install [파일 이름].apk : [파일 이름].apk를 설치
이번에 프로젝트 하면서 알게된 내용을 정리해봅니다! 연결 리스트(Linked List)란? 연결 리스트(Linked List)란, 자료구조의 일종으로 말 그대로 어떤 데이터를 저장할 때 그다음 순서의 자료가 있는 위치를 데이터에 포함하는 방식으로 자료를 저장합니다. 배열이 자료에 순번을 메겨 맞춘다면, 연결 리스트는 자료의 순서에 맞춰 연결합니다. 그렇기 때문에 배열과는 달리 새로운 자료, 노드를 뒤에 연결하거나 중간에 끼워 넣는 것이 쉽습니다. 그러나 배열에는 자료마다 고유의 번호가 있어서 사용자가 원하는 특정한 자료를 불러내기가 편한 반면에 연결 리스트는 자료마다 고유의 번호가 없어서 특정한 자료, 노드를 불러내기가 어렵다는 점이 있습니다. 단순 연결 리스트는 다음 노드에 대한 참조만을 가진 가장 단..
먼저 액티비티의 시작부터 종료까지의 과정을 살펴봅시다. 액티비티는 이런 순서로 동작합니다. 그렇다면 액티비티를 사용할때 사용하는 메소드들을 알아봅시다. 하지만 우리는 이런 메소드들을 만든 적이 없을것입니다. 왜냐하면 Android.appcombat.v7.Activity가 위 메소드들을 기본적으로 포함하고 있어서 안드로이 개발 시 필요한 것만 오버라이딩 하여 사용할 수 있게 해주기 때문입니다. Intent란?인텐트란 안드로이드 시스템에서 커뮤니케이션을 담당하는 역할로, 컴포넌트간(Activity, ContentProvider, BroadcastReceiver, Service)의 호출과 메시지 전달에 이용됩니다. EX) 액티비티에서 다른 액티비티로 이동하기 그렇다면 Intent에서 Activity를 어떻게 ..
먼저 안드로이드 구조에 대해 봅시다. 안드로이드의 구조는 위 그림과 같은 요소들로 구성되며 위에서부터 차례대로 애플리케이션, 에플리케이션 프레임워크, 라이브러리, 안드로이드 런타임, 리눅스 커널의 총 5개의 계층으로 분류되어 있습니다. 그렇다면 과연 안드로이드로 어떻게 프로그래밍을 할까요? 안드로이드 애플리케이션에서 레이아웃 같은 리소스를 만드는 데는 XML을, 안드로이드 애플리케이션에서 동적으로 돌아가는 부분을 정의할때는 Java code를 사용합니다. 요즘에는 Kotlin으로 대체되기도 합니다. Activity? Activity란 안드로이드에서 화면을 나타내는 단위이고 Activity 간의 이동을 위해서는 intent라는 것을 사용합니다. 이제 기본 레이아웃에 대해서 알아봅시다. 1. LinearLa..
안드로이드? 현재 우리 주변에서는 안드로이드를 사용한 디바이스들을 많이 볼수있습니다. 대표적인 예로는 삼성과 LG의 스마트폰들입니다. 대부분의 사람들이 안드로이드가 정확하게 무엇인지 모르고 사용하고 있을것입니다. 그렇다면 정확한 '안드로이드'란 무엇일까요? 01 안드로이드란? 안드로이드란 리눅스란 운영체제를 기반으로 만들어진 모바일 디바이스 플랫폼입니다. 안드로이드는 개발자들이 대표적으로는 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 하고, 안드로이드 소프트웨어 개발 키트(SDK)를 통해 응용프로그램을 개발하는 데 필요한 도구들과 API를 제공합니다. 안드로이드사를 인수한 구글은 안드로이드의 모든 오픈소스를 무료로 배포하고 있어서 기업이나 사용자는 각자 안드로이드 프로그램을 독자적으로 개발을 해..
- Total
- Today
- Yesterday
- Level 03
- C#
- 풀이
- hackerschool
- HackingCamp
- 17th HackingCamp CTF
- 유니티
- Basic RCE
- wargame
- reversing.kr
- Write-up
- xcz.kr
- Level 01
- Level 02
- c++
- Android
- 안드로이드
- Level 04
- Unity
- Advance RCE
- ftz
- Level 06
- unity2d
- 안드로이드 멘토링
- Reversing
- CodeEngn
- pwnable
- 멘토링
- Programming
- Level 05
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |