vps32의 등록된 링크

 vps32로 등록된 네이버 블로그 포스트 수는 78건입니다.

[C#] 배열 사용방법(1차원,2차원,가변형,반환) [내부링크]

C#에서의 배열은 Array로 부터 파생된 참조형이기때문에new를 통해 생성하게된다.1 차원 배열 선언 ...

[카카오 1차 코딩 테스트] 비밀 지도 [내부링크]

https://tech.kakao.com/2017/09/27/kakao-blind-recruitment-round-1/1. 비밀 지도(난이도: 하)네오는 ...

[카카오 1차 코딩 테스트] 다트 게임 [내부링크]

https://tech.kakao.com/2017/09/27/kakao-blind-recruitment-round-1/2. 다트 게임(난이도: 하)카카오톡...

[Android] Glide를 이용하여 이미지 사용 [내부링크]

안드로이드 앱 제작이 이미지를 src 폴더에 넣어 이미지를 사용할 수 있지만모든 이미지를 앱 안에 가지고 ...

[Android] Android Studio 플러그인 설치, 추천 [내부링크]

개발도구에서 유용한 플러그인을 설치하는 것만으로도 생산성이 높아지고또 그냥 기분이 좋아지기 마련이다...

[Android] Material Design [내부링크]

Material design 이란머티리얼 디자인 이란 구글에서 안드로이드 앱 개발사를 위한 디자인 가이드라인이다...

[Android] AndroidX Recyclerview 사용하기 [내부링크]

recyclerview 란https://blog.naver.com/vps32/221740482526 공식 문서최신 Android Studio 가 androidX로 강제 사용하게 하고있기때문에조금 다른 방법으로 gradle에 추가하게 된다.https://developer.android.com/jetpack/androidx/releases/recyclerview gradle 추가 흐름이와 같은 형태로 작성되었다. PostItem.javaRecyclerview에 들어갈 정보가 될 Arraylist의 내용이다. PostAdapter.java post_item.xml(RecyclerView 구성 부분)이와 같은 모습이다. PostViewHolder.java activity_main.xml MainActivity.java

[Kotlin] Kotlin(코틀린)이란 [내부링크]

Kotlin 이란Kotlin 은Google I/O 2017에서 구글이 안드로이드 공식 언어로 추가된 언어이다.또한Google I/O 2019에서 코틀린을 최우선으로 사용하겠다고 언급하여 이제는 메인 언어로써 구글이 못을 박았다고 할 수 있다.코틀린 은 자바와 같이 객체 지향언어인 동시에 함수형 프로그램의 장점을 지원하는데함수 타입 지원, 람다식 지원, 데이터 클래스, 코틀린 표준 라이브러리를 사용하여 함수형 프로그램을 할 수 있도록 지원한다.매력코틀린 공식 홈페이지에 접속해보면 코 틀림을 왜 써야 하는가에 대해 나와있는데간결성, 안전성, 상호 운용, 도구 친화적이라고 어필하고 있다.자바에서의 형식을 맞추기 위해 넣어야 하는 부수적인.......

[Kotlin] Kotlin 기초 1 (주석, 표기법, 변수, 배열) [내부링크]

Kotlin의 기본적인 사용방법에 대해 알아볼 것이다.주석주석 부분은 많은 언어에서도 사용되는한 줄 주석과 전체 주석이 있다.표기법Kotlin에서 클래스의 이름은 파스칼 표기법으로모든 단어의 시작을 대문자로 시작한다.함수나 변수 이름은 카멜 표기법으로첫 단어만 소문자로 시작한다.변수 선언(var , val)Kotlin 에서 변수 선언으로는 var , val 두 가지 방법이 있다.var은 일반적인 변수로 언제든지 읽기 쓰기가 가능하며 val은 선언 시 초기화한 후에는 값을 변경할 수 없다.위와 같이 변수를 선언하고 뒤에 자료형을 써주게 된다.혹은이렇게 자료형을 붙여주지 않아도 상관은 없다.이때 이변수를 print로 출력하게 되.......

[Kotlin] Kotlin 기초 2 (타입 추론, 함수, 단일 표현식 함수, 조건문) [내부링크]

타입 추론타입 추론이란 변수나 함수들을 선언할 때나 연산을 할 때 자료형을 명시하지 않아도 Kotlin이 자동으로 자료형을 값의 형태로 자동으로 추론하여 지정해주는 것이다.위와 같이 값의 형태를 가지고 추론하여 자료형을 지정해준다.함수함수를 만들어 사용하기에는 필요한 구조들이 있다.함수라는 키워드와 함수명, 매개변수, 리턴 자료형 들 이 필요하다.함수의 시작을 fun으로 알리며함수의 이름을 add로 한다.매개변수들은 각각 a, b, c 3개를 받는데 모두 Int의 자료형이다.함수 뒤에 붙은 : Int는 리턴 값의 자료형을 의미한다.단일 표현식 함수위와 같이 함수가 복잡한 연산을 하는 것이 아닌 매우 간단한 연산을 하는.......

[Kotlin] Kotlin 기초 3 (for 반복문 , Label) [내부링크]

for 반복문 다른 반복문으로 while , do while 도 있지만사용법은 C언어와 같아 넘어가고 infor 문을 0부터 9까지 순서대로 출력하고 싶다면 in 을 사용해서 가능하다. step또한 1씩 증가하는 것이 아닌 3씩 증가하고 싶다면 step를 사용하여 가능하다 downTo감소시킬 때는 downTo를 사용한다.이 또한 step를 사용할 수 있다문자도 순서대로 출력이 가능하다.이 또한 step 가능하다. break , continue, Labelbreak , continue 모두 다른 언어와 똑같이 사용이 가능하다.i 가 3 이되면 반복문을 종료시키기 때문에 1 2만 출력되는 모습을 볼 수 있다.i 가 3이 되면 반복문으로 돌아가기 때문에 3이 생략된 모습을 볼 수 있다.하.......

[프로그래머스] 해시 - 완주하지 못한 선수 python [내부링크]

문제https://programmers.co.kr/learn/courses/30/lessons/42576? language=python3완주자 명단과 참여자 명단을 확인하여 완주하지 못한 사람을 return 하라.둘 다 반복문을 돌려서 전부 비교하는 식으로 해보았다.풀이하지만 효율성에서 탈락.이중 반복문 때문에 시간 초과가 된 거 같다.문제를 보니 어차피 탈락자는 무조건 한 명이고정렬을 통해서 모두 정렬된 상태이니완주자 명단의 인덱스 와 참여자 명단의 인덱스 에 있는 값이 다르다면그 완주자 사람은 참여자 명단에 없다는 것이니 완주하지 못한 사람으로 출력하고완주자 명단을 모두 확인하였지만 참여자 명단과 같다면참여자 명단 가장 마지막에 있는 사람을 완주.......

[프로그래머스] 해시 - 전화번호 목록 python [내부링크]

문제https://programmers.co.kr/learn/courses/30/lessons/42577 풀이정렬을하여 가장짧은 번호를 뽑아두고모든 인덱스에 접근하여 뽑아둔 짧은 문자가 포함되고있는지 찾았다.채점은 통과 하였지만 지금생각해보면 문제에서는 접두어인 경우에만 확인하라하였는데해당코드에는 중간에 있어도 False 가 되는걸로 보인다 잘못풀이한거라고 생각된다. 다른 사람 코드zip를 이용하여 p1과 p2의 인덱스를 따로 두고startswith를 이용하여 시작 위치에 있는지 확인하는 것으로 풀이를 한 코드이다.

[프로그래머스] 해시 - 위장 python [내부링크]

문제https://programmers.co.kr/learn/courses/30/lessons/42578풀이먼저 2차원 배열로 들어오며 옷의 종류에 따라 분류할 필요가 있다.딕셔너리 형태로 변환을 하기 위해모든 배열 원소에서 종류를 키로 분류하는 작업을 하였다.일단 가짓수를 알기 위해 모든 옷의 종류를 다 곱하면 되지만한 가지만 입는 경우도 있기 때문에 종류만큼 더해서 추가해줘야 한다.즉(옷 종류 1 +1 ) * (옷 종류 2 + 1) 을 하면 모든 조합의 수가 나오고아무것도 안 입는 경우는 없다 하니 마지막에 -1 을 하면 끝이다.다른 사람 코드아...?

[프로그래머스] 해시 - 베스트엘범 python [내부링크]

문제https://programmers.co.kr/learn/courses/30/lessons/42579장르 로 분류하여 가장 많이 들은 장르의 노래를 구분하고장르마다 가장 많이 들은 노래 1번 ,2번을 출력하는 문제이다. 풀이파이썬을 할줄모르니 3중 for문을 사용하게되는 기괴한 현상이 일어났다. 다른 사람 코드이게뭐람.. 파이썬 어렵다

[Android] AsyncTask를 이용한 멀티쓰레딩 [내부링크]

AsyncTask?안드로이드에서 스레드를 사용하는 방법으로 자바에서 제공하는 Thread 혹은 안드로이드에서 제공하는 Handler 을 이용하여 스레드를 사용할 수 있지만안드로이드에서 권한 하는 방식이 아닐뿐더러 꽤 사용하기 불편하다 할 수 있다.AsyncTask는 이 안에 Thread 클래스, Handler 클래스가 모두 구현되어 있다.AsyncTask를 사용하게 되면 손쉽게 구현할 수 있으며 권장하는 방식이다.AsyncTask는 간단하게 새로운 스레드를 생성할 수 있고 코드가 간결하고 이걸 쓰라고 권장하니그냥 쓰자. 사용법형태는 위와 같은 모습을 하며 덕지덕지 붙어있어 어려워 보이지만 안 쓰는 부분은 모두 지워도 되고각각 역할이 확실하니 집고 넘.......

[Android] Jsoup로 파싱 하기 [내부링크]

Jsoup파이썬의 BeautifulSoup , C#의 HtmlAgilityPack 와 같이JAVA의 HTML 파싱을 할 수 있는 라이브러리 Jsoup이다. 권한 , gradle퍼미션은 당연히 인터넷을 사용하기때문에 필요하다. 사용법네이버 영화 웹에서 데이터를 파싱 해볼 것이다.connect()를 이용하여 원하는 웹 사이트 주소의 내용을 가지고 올 수 있다.그 후 필요한 태그의 정보를 가지고 올 때는 select()를 이용하여 가지고 오게 되는데영화의 정보들이 모두 <li> 태그 안에 있으니 li 태그의 내용을 모두 가지고 와야 한다.1번, 2번, 3번, 4번 모두 사용해도 되며 각각 같은 동작 방식을 가지고 있다.1번은 ul 태그의 class 이름이 "lst_detail_t1".......

[Android] Life Cycle(생명주기) 정리 [내부링크]

생명주기안드로이드의 Activity는 생성부터 소멸까지 7가지의 상태 변화를 가지는생명주기가 있다.Activity는 상태변화에 따라 콜백 메서드를 가지며 이러한 콜백 메서드를 활용하여개발자가 Activity 가 동작했을 때, 종료했을 때, 이동했을 때에 대한 처리를 할 수 있다.각 Activity의 7가지 콜백 메서드를 알아볼 것이다.onCreate()Activity가 최초에 생성될 때 한번 호출되는 메서드로 초기화 작업을 하는 등생성자와 비슷한 역할을 하는 부분이다.onStart()onCreate() 가 호출된 후 다음에 호출되며 Activity가 사용자에게 보이기 직전에 호출된다.예로 로그인을 구현하게 될 때 만약 사용자가 자동 로그인을 체크했다면이곳에.......

[Android] Fragment(프래그먼트) [내부링크]

Fragment 란Fragment는 처음부터 있던 기능이 아니라 나중에 추가된 기능이다.이 기능의 추가로 인해 안드로이드에서 화면을 바꾸는 방법이 두 가지 방법이 되었다.액티비티를 통째로 변경하는 방법 혹은 액티비티의 일부분을 교체하는 방법으로 우리는 화면을 바꿀 수 있다.이 중 일부분을 교체하는 방법이 Fragment 방식이다. Workflow Life cycleFragment는 하나의 Activity에 소속되어야 하고 독립적인 생명주기를 가지고 있다.Activity 보다 복잡해 보이지만 생성과 소멸 과정이 살짝 늘어난 것이다.생성과정에 대해 알아보자 onAttach()Fragment 가 처음에 Activity에 부착될 때 호출된다.필수적으로 Activity에 소속되어야 하는 특.......

우한폐렴 어플(나의 위치 안전 확인) [내부링크]

요즘 가장 핫한 키워드로 뽑는다면 당연 우한 폐렴, 코로나 바이러스일 것이다.우한 폐렴 확진자의 이동경로에 대해 많은 사람들이 관심을 가지고 있으며그 경로로는 가지 않으려 하고 있다.이러한 정보들을 한 번에 볼 수 있는 어플을 제작하게 되었다.다운로드https://play.google.com/store/apps/details?id=com.corona.corona_1권한android.permission.ACCESS_FINE_LOCATION 은 사용자의 GPS를 받아 사용자의 위치가 우한 폐렴 확진자의 이동경로 중 하나인지 검사하기 위해 권한이 필요하다.android.permission.INTERNET 은 우한 폐렴 관련 최신기사를 실시간으로 업데이트하기 위해 필요한 권한이다.개인 정보 처리 방.......

Android Studio에 Firebase 연결 [내부링크]

App에 Friebase를 연결해보자.https://firebase.google.com/?hl=koFirebase 웹사이트 접속시작하기 버튼 클릭 후 Google 로그인.프로젝트 추가.프로젝트 이름 지정계속계속생성 중..이렇게 하면 프로젝트가 생성이 완료된다.이제 App에 연결하면 된다.Firebase에 연결할 플랫폼 선택.Android Studio에 연결할 것이기 때문에Android 아이콘 클릭.App의 패키지 이름 입력.선택사항인 것은 무시한다.json 파일을 다운로드 하고Android Studio에 추가해줘야 한다.추가하는 곳은 Project - app에 드래그 앤 드롭 하면 된다.이제 SDK를 추가해줘야 한다.각 항목을 Build.gradle에 추가해준다.추가 전.추가 후........

Android Studio TitleBar 색상 변경, 제거, 아이콘 변경 [내부링크]

TitleBar Color 변경Android Studio App 제작 시 기본적으로 제공하는 Title Bar의 색상을 변경하고 싶다면color.xml에 들어가서 변경이 가능하다.TitleBar 제거TitleBar을 제거하고 싶다면style.xml에서parent를 변경하면 된다.App 아이콘 변경new - Image Asset변경하고 싶은 아이콘 이미지를 올리고Background의 color까지 지정 후 저장하면 끝이다.

안전하지 않은 콘텐츠 프로바이더 취약점 [내부링크]

Content Provider 이란Content Provider는 안드로이드 4대 컴포넌트 중 하나이며 AndroidManifest.xml 파일에서 <provider></provider>로 선언하여 사용된다. 앱이 각종 데이터에 접근할 수 있도록 도와주는 역할을 한다.접근하는 데이터란 데이터베이스, 파일, 메모리 등 다양하게 사용된다.Content Provider의 사용목적으로는데이터 접근 및 다른 애플리케이션의 데이터 변경이 있다. 노출된 Content Provide 찾기노출된 콘텐츠 프로바이더는 "run app.provider.info"의 명령어를 통해 쉽게 파악할 수 있다.TrackUserContentProvider라는 노출된 Content Provider를 확인할 수 있다.Content Provider는 데이터베이.......

인천 섬 신시모도 놀러 가기 [내부링크]

인천에는 섬이 많아 마음 편히 가기에 좋은 섬들이 많다.그중 자주 가는 곳은 3개의 섬이 나란히 있는신도, 시도, 모도의 섬을 부르는 신시모도인데매년 한 번씩은 꼭 가고 있다.영종도에 있는 삼목선착장에서 배를 타고 들어갈 수 있고신분증을 확인하여 인천사람이면 더 싸게 표를 구매할 수 있다.삼목 선착장에 도착하면한 시간 간격으로 있는 배를 타고 15분 정도 이동하면 된다.주말에는 배가 더 자주 들어와 간격이 짧다.배를 타고 내리면 버스를 탈 수 있고버스는 현금만 가능하며 한번 타는 걸로 신도, 시도, 모도를 순서대로 이동한다.주변이 전부 바다이니 원하는 곳에서 내리면 된다.이곳에는 자전거, 등산, 낚시를 즐.......

[Android] ViewPager ,tablayout 사용하기 [내부링크]

ViewPager.앱에서 가장 중요한 것 중 하나가 UI라고 할 수 있는데편리한 UI를 제공하기 위해 많은 앱들이 ViewPager을 사용하고 있다.흔히 사용하고 있는 페이스북, 카카오톡 등 화면을 손가락으로 슬라이딩하여 페이지를 넘기는 기능을 사용할 수 있는 편리한 기능이다.공식 문서https://developer.android.com/guide/navigation/navigation-swipe-view? hl=koAdapter.ViewPager 또한 AdapterView 중 하나이다.즉 Adapter이 반드시 필요하게 되는데.Adapter은 다양한 집합의 정보를 안드로이드에서 준비되어 있는 Adapter을 이용하여목적에 맞게 변환하는 작업을 한다고 볼 수 있다.여기서 사용할 Adapter은 FragmentPagerAdapter .......

[Android] support v4, v7 없는 경우 [내부링크]

support v7의 기능을 사용하려는 도중 사용할 수 없는 문제가 생겼다.추가를 하려 해도 추가되지 않아.이 문제를 해결하기 위해 찾아보는 도중androidX라는 패키지를 알게 되었다.AndroidX ?AndroidX는 원래의 Support Library를 크게 개선한 것으로그동안 사용했던 com.android.support , android.arch의 패키지 명을안드로이드 라이브러리 28 버전부터 androidX로 교체한다는 것인데프로젝트 생성할 때 보면 androidX가 강제로 적용되는 모습을 볼 수 있다.공식 문서https://android-developers.googleblog.com/2018/05/hello-world-androidx.htmlhttps://developer.android.com/reference/androidx/packages해결 방법suppor.......

[Android] SharedPreference 사용하기 [내부링크]

SharedPreference 란SharedPreference는 안드로이드에서 제공하는 간단한 데이터를 저장하는데 사용하는 클래스이다.프로그램은 메모리에 값을 올려서 사용하고 프로그램이 종료되면 당연히 값은 없어지게 된다.그래서 저장하기 위해서 외부 파일을 생성해서 저장하거나 데이터베이스를 통해 저장하게 되는데SharedPreference 또한 내부적으로 XML 파일로 저장하게 되며사용법이 간단해서 설정값, 사용자 정보, 경량의 데이터 등 을 저장하는데 많이 사용된다.SharedPreference는 key-value 형태로 사용된다.key-value 형태이기 때문에 key를 이용하여 다른 key로 접근하여 그 안의 value 형태로도 접근할 수 있고구조를 잘 작성하여 하나의.......

OpenCV 보간법 , 이미지 크기 변경 [내부링크]

이미지의 크기를 늘릴때픽셀로 이루어진 이미지를 어떻게 키우고 그 사이에 어떠한 픽셀을 넣는걸까혹은 크기를 줄일때 손실되는 픽셀은 어떻게 선정하는지이때 나오는게 보간법이다.보간법(Interpolation) 표에 나와있지않은 부분의 값을 추정하는것이라 할수있다.크기가 늘어났을때 A와 B의 중간 값을 선택할수도있고 분포도를 기준으로 할수도있을것이다.openCV에서는 이미지 크기를 조절할때 resize()를 이용한다.이때 어떤 보간법을 사용할지를 지정한다.fx 와 fy는 x축과 y축 의 변경될 크기를 넣어준다.많이 사용하는 보간법확대 cv2.INTER_CUBIC 바이큐빅 보간법cv2.INTER_LINEAR 쌍 선형 보간법축소cv2.INTER_AREA 영역 보간.......

OpenCV 이미지 이동 및 회전 [내부링크]

이미지의 위치를 이동시키고 회전하는 데에는 변환 행렬이 사용된다. 변환 행렬행렬을 사용하여 임의의 변환을 하는 것이다. 이동 행렬 - 이미지 이동에 사용되는 행렬 X 와 Y에는 이미지에 대해 각각 이동하고 싶은 값을 넣는다.이후 이미지의 크기와 행렬의 곱을 한다.그렇게 되면 결과적으로가 되기 때문에 모든 행렬에 대해 X와 Y 값만큼 증가하게 된다.이미지를 이동하고 회전하는데 사용되는 함수는 warpAffine() 이다.M : 변환 행렬dsize : Manual Size 회전 행렬 - 이미지 회전에 사용되는 행렬회전 행렬을 직접 만드는 건 쉬운 일이 아니다.회전 행렬을 만들어주는 함수를 이용하자.center : 회전 중심angle : 회전 각도.......

OpenCV 이미지 합치기 [내부링크]

두 개의 이미지를 합친다고 한다면단순하게 생각해서 두 이미지의 각 픽셀을 서로 더하면 색상은 몰라도형태는 두 이미지 가 합쳐질 것이다.이때 합치는 방법으로 단순히 이미지+이미지를 하는 방법과OpecCV에서 제공하는 add()를 사용하는 방법이 있는데이 둘의 차이가 명확하다.합칠 이미지 두 개를 준비하였다.이미지 + 이미지단순히 연산을 했을 때의 결과로위와 같이 합쳐진 모습을 볼 수 있다.이때는 배경에 구름 사진이 많이 차지하고 있는 모습을 볼 수 있다.cv2.add()결과가 너무 다른 모습을 볼 수 있는데이 이유는 연산하는 데에 차이점이 있다.먼저 이미지 + 이미지를 연산하여 서로의 픽셀을 더했을 때는연산한 결.......

워드(word) 목차 작성하는 방법 [내부링크]

보고서나 포트폴리오 작성할 때 첫 장에 들어가는 목차를 작성하는 방법에 대해 알아볼 것이다.목차 만들기목차를 만드는 방법은 수동 방법과 자동 방법이 있는데자동 방법만큼 편리한 기능은 없을 것 같다.먼저홈에서 오른쪽에 보면 글자에 대해 설정을 할 수 있는데여기서 중요한 것은 제목 1 제목 2 제목 3이다.앞의 숫자일 경우 앞으로 나가게 되고뒤의 숫자일 경우 앞의 숫자 안으로 들어가게 되는데 즉이렇게 들어간다.워드에서위와 같이 작성하고프로젝트 명에는 제목 1을프로젝트 명 2 ,3에는 제목 2를 주고참조에 있는 목차를 선택하여자동 목차를 선택하면이렇게 목차를 만들어준다.목차 수정위와 같이 제목을 수.......

OpenCV 임계값(이진화) [내부링크]

이미지 프로세싱에서 자주 활용되는 작업 중 하나인Thresholding를 알아볼 것이다.Threshold는 임계, 문턱의 의미를 가지고 있으며 만약 0 ~255 사이에서 127의 임계 지정하고127 보다 작으면 모두 0으로, 127보다 크면 모두 255로 값을 급격하게 변화시킨다. Thresholding img : Thresholding 할 이미지threshold_value : 임계값value : 임계값보다 클 때 적용할 값flag : 임계값 적용 스타일cv2.THRESH_BINARY : 픽셀의 값이 threshold_value 보다 크면 value , 작으면 0cv2.THRESH_BINARY_INV : 픽셀 값이 threshold_value 보다 크면 0 작으면 valuecv2.THRESH_TRUNC : 픽셀 값이 threshold_value 보다 크면 threshold_value , 작으면.......

unity 게임 크랙 해보기 [내부링크]

먼저 본 글 이전에 요즘 따라 지속적으로 어린 친구들이 해킹하는 방법을 알려달라, 해킹해달라 연락을 하시는데 저는 공부 목적으로만 하는 것이니 제발 좀 그만하시길.공부 목적인 줄 알고 알려주다가 이상해서 물어보면 공부 목적이 아닌 경우가 너무 많아간단하게 유니티로 제작된 게임을 크랙 해볼 것이다.X-MAS 문제에서 유니티 게임으로 문제가 나왔었는데 너무 재밌어서 한 번 더 찾아서 해본 것.찰흙 같은 캐릭터들이 뛰고 탱크 타고 차 타고 헬기 타고 총 쏘고 하는 아기자기 귀염 FPS 게임이다.조작 키만 알아본다는 게 너무 재미있어서 오래 해버림..일단 크랙을 할 때 생각해 둔 것이1. 총알 무제한(?)2. 죽지 않게 하기(무적.......

Unity IL2cpp 와 IL2dumper 사용하기 [내부링크]

유니티로 제작된 게임에는 컴파일 방식을 두 가지 제공하는데Mono 와 IL2CPP이다. Mono Mono가 가장 많이 사용되며 JIT 컴파일을 사용하여 중간언어로 작성된 dll 파일을 읽어들여런타임으로 코드를 실행하게 되는데. 빠른 빌드 속도, 여러 플랫폼 구동 등 많은 장점이 있지만보안에 취약하다는 매우 큰 단점이 있다. IL2CPP요즘은 보안적인 이유와 호환성에 대한 이유로 IL2CPP를 권장, 개발하는 추세이다.IL2CPP는 IDA로 열어보면 난독화 기술로 인해 모든 함수의 심볼릭 정보가 제거되어 있다.이게 Mono와 IL2CPP의 보안의 큰 차이라고도 할 수 있는데이 심볼릭 정보를 가져오는 어마 무시한 툴이 존재한다. IL2dumperhttps://github........

단축키로 번역 사이트 열어주는 프로그램 [내부링크]

공부하다 보면 계속해서 영어를 만나게 되고영어를 못하는 관계로 매번 번역기로 확인하는 게 일상인데매번 번역기 열고 입력하고 닫고 하는 게 너무 불편해 제작하게 되었다.기능1. 프로그램은 항상 백그라운드에서 대기한다.2. 키입력을 대기하며 사용자가 지정해둔 키를 입력하면 번역사이트를 오픈한다.3. 사용자가 클립보드에 저장해둔 문장을 번역사이트에 넣어서 사이트를 오픈한다.동작프로그램 실행 시 화면 가운데에서 키를 입력받게 된다.이때 입력하는 키는 번역기를 활성화시키는 키로 동작하게 된다.키를 입력하게 되면 메시지 박스와 함께 키가 저장이 된다.프로그램은 백그라운드에서 동작하고 있고 아이콘을 마우스 우.......

C# 키보드 후킹 코드 [내부링크]

C# winform에서 키보드 입력을 받을 때 기본적으로 winform에 포커스가 있는 상태에서 키보드를 입력해야 이벤트를 받게 된다.하지만 포커스가 없는 상태에서 어디서든지 키보드가 입력될 때마다 반응하고 싶다면후킹을 하여 처리하는 방법이 있다.Form가 load 되는 순간 후킹을 시작한다.실제 후킹 하는 과정이며lParam에는 입력된 키보드 값이 들어있고키보드가 입력되었을 때마다 return 1로 하는 것으로 키보드 입력값이 정상적으로 동작하지 않게 된다.키보드 입력을 정상적으로 동작시키고 싶다면원본 코드https://gist.github.com/Stasonix/3181083

[Android] BroadcastReceiver 사용하기 [내부링크]

BroadcastReceiverAndroid 4대 컴포넌트 중 하나인 브로드캐스트 리시버는 애플리케이션이 전화, 문자 수신과 같은 이벤트를 받거나 처리하기를 원한다면 브로드캐스트 리시버를 이용하여수행할 수 있다.서비스와 마찬가지로 브로드캐스트 리시버는 UI를 가지지 않으며 중요한 특징으로브로드 캐스트 리시버는 수신 인텐트 작업을 처리하기 위해 추상 메소드 인 onReceive를 사용하며이 메소드에는 Context , Intent가 인자로 들어가다.이전에는 정적, 동적으로 구현이 가능했고정적으로 구현한다는 것은AndroidManifest.xml에서 수신하고 싶은 작업의 리시버를 등록시켰지만Android 8.0기준 AndroidManifest.xml에서 처리하는 것을 차단하.......

[Android] NotificationListenerService(카카오톡 대화 반응하기) [내부링크]

안드로이드 앱 중에 카카오톡 대회 내용 지우기를 한 것을 볼 수 있게 저장해 두는 앱이 있다고 해서 어떻게 구현한 건지 신기해 다운로드해보니알람 권한이 필요하는 걸 보고알람에 반응해서 저장하는 것 같아 한번 해보았다.NotificationListenerService안드로이드에서 알람을 사용할 때는Notification 을 사용하게 되는데 이 Notification의 정보를 가지고 올 수 있는 방법이 있다.NotificationListenerService라고 하는 서비스 형태의 컴포넌트를 제공하고 있고이 기능은 API 19 버전부터 안정적으로 사용이 가능하다.안드로이드에 기본적으로 내장되어 있기에 별도의 추가 없이manifest에 추가하면 된다.https://developer.android.co.......

VMware에 MacOS 설치 [내부링크]

필요 준비물1. MacOS majave finalhttps://drive.google.com/drive/folders/1zQXaGM596ThkUlb4RygfFSooZkWppqS32.VMware필자는 15버전으로 진행.3.unlocker_303혹시 필요한 사람은 메일 주소 남겨주면 보내드릴게요.VMware에는 기본적으로 macOS가 없기 때문에unlocker을 이용하여 macOS를 사용할 수 있게 하여야 한다.관리자 권한으로 실행하자.그 후 VMware에서 다운로드한 MacOS majave final 을 만든다.여기에 MacOS 가없다면 unlocker 가 정상적으로 동작하지 못한 것이다.기본적으로 있는 하드디스크 제거add 버튼으로 새로 만들기Hard DIskSATAUse an existing .. 체크여기서 이제 디스크를 선택하게 나오는데.......

React 시작 [내부링크]

프론트엔드 라이브러리요즘의 웹은 단순히 웹페이지가 아니라 웹 애플리케이션으로 매우 자연스럽게 매우 많은걸할수있다.여기서 번거로운 작업 상태값 관리 , DOM 관리등을 최소한으로하고기능 , 사용자 인터페이스 개발에 신경쓸수있게 많은 프레임 워크 및 라이브러리 들이 만들어졌는데Angular,Vue,React 등등.. 여러가지 라이브러리 들이 있다.React는 FaceBook에서 소프트웨어 엔지니어 에 의해 만들어진 Javascript 이다.React는 웹을 만드는데 꼭필요한 도구를 기본적으로 제공하지않지만 그만큼 가볍다 , 그리고 쉽게 배울수있다.이전 웹페이지 , 프레임워크들은 MVC 패턴으로 모델에있는 값이 변화하면 View에서 이를 변화해.......

React JSX 문법 기초 [내부링크]

JSX는 HTML 문법같이 생겼지만 자바스크립트로 변환되는 문법이다.JSX에 사용되는 기초적인 문법을 사용해볼 것이다.태그는 닫아줘야 한다.input 태그도 꼭 닫아줘야 한다.위와 같은 방법으로 닫아주면 에러가 발생하지 않는다.복수의 같은 태그는 하나의 태그 안에 있어야 한다.div 태그가 2개가 있을 경우 에러가 발생하는데이럴 경우 두 개의 div 태그를 하나의 div 태그로 감싸주어 해결할 수 있다.하지만 코드에 불필요하게 div 가 추가되는데 이를 보기 싫다면div가 아닌 Fragment 태그를 사용하여도 해결할 수 있다.Fragment 태그를 사용하면 불필요하게 보이지 않는다.JSX 안에서 자바스크립트 값 사용하기값을 만들.......

React Props 사용하기 [내부링크]

Props는 부모 컴포넌트에서 자식 컴포넌트한테 값을 전달할 때 사용한다.코딩을 할 때 함수에서 함수로 값을 전달하는 것과 같은 기능이라 할 수 있는다.자식 컴포넌트는 값을 받기만 하고 수정할 수는 없다.자식 컴포넌트에서 불리게 되면 이름을 표시해주려 한다.class 컴포넌트이때 위와 같이 this.props.name 로하여props를 이용하여 name에 값을 받을 준비를 한다.부모 컴포넌트에서 자식 컴포넌트에게 name에다가 "react" 값을 넘겨준다.그러면 위와 같이 화면에 자식 컴포넌트에서 "react"를 받아 화면에 표시해주는 걸 볼 수 있다.하지만 위와 같이 값을 전달받아 출력을 하는 것이라면실수 혹은 무언가.......

[Reversing] X-MAS CTF-2019 Lapland Mission [내부링크]

요즘 CTF 푸는데 정신이없는 아는 동생 한명이 재밌어 보이는 문제를 풀길래얼른 해보았다.유니티 엔진으로 만들어진 게임으로 보인다.시작 화면조작법을 친절하게 알려준다.그런데 나가면 바로 죽음이걸 해결해 달라는 것이다.유니티로 제작된 게임에는 컴파일 방식을 두 가지 제공하는데Mono 와 IL2CPP이다.이중 Mono가 가장 많이 사용되며 JIT 컴파일을 사용하여 중간언어로 작성된 dll 파일을 읽어들여런타임으로 코드를 실행하게 되는데. 빠른 빌드 속도, 여러 플랫폼 구동 등 많은 장점이 있지만보안에 취약하다는 매우 큰 단점이 있다.mono는 게임 내 모든 스크립트를 담고 있는 DLL 파일을 통해 쉽게 디컴파일이.......

찐만이네 , 북성포구 [내부링크]

저녁 야경을 보기 위해 북성포구로 가기로 했다.찐만이네그전에 밥을 먹으러 작전시장에 있는 맛있다고 소문난 찐만이네 를 가봤다.남문으로 들어가서 직진으로 3분 정도 걸으면 나온다.만두랑 쫄면이 맛있다고 한다.만두 피 가 얇아서 안에까지 다 보인다.먹어보면 왜 사람들이 맛있다고 하는지 바로 알게 됨국수랑 쫄면쫄면 인정위에 있었던 작전시장 남부 입구 에서 바로 앞에 있는 공영 주차장 1시간 무료권을 받을 수 있다.여기 만두 맛을 알아버려서 다시 올 예정이다.북성포구이제 북성포구로 이동차 위에서 식빵 굽는 고양이랑도 놀고야경 보고 뒤쪽에 유명한 횟집이 있긴 한데 배고프지 않아서 안 먹으니할 게 없다.......

React 배포하기 [내부링크]

React Resources Size기본적으로 create-react-app로 만들어진 React에서메인 페이지를 모두 지우고 실행시키더라도resources 가 1.7MB 나 된다.아무 기능도 안 하고 아무것도 없는 페이지가 너무나도 큰 용량을 가지게 되는데개발할 때 사용하던 코드 그대로 사용하게 되면 위와 같이 사용자에게 부담이 되는 경우가 생기게 된다.이때는 개발하는 코드가 아닌 빌드 한 코드를 배포하는 걸로 해결할 수 있다.React Build이렇게 build를 하게 되면원래는 없었던 build 폴더가 생성되고그 안에 메인 index.html이 생성된다. build 하기 전 index.htmlbuild 한 후 index.htmlserver open141KB로 줄어든 모습.

[python] argparse 로 인자 값 사용하기 [내부링크]

파이썬으로 스크립트를 작성하다 보면 기능을 여러 가지를 주어 실행시킬 때 인자 값으로 다르게 동작시킬 필요가 있을 때가 있다.이때 argparse를 사용하여 많은 인자들을 관리할 수 있다. 순서먼저 argparse를 사용하기에 필요한 순서가 있다.인자 값을 받을 인스턴스를 생성한 후입력받을 인자 값을 지정해주고입력받은 인자 값을 저장한다. 빈 깡통 예제간단한 예제로 어떻게 진행되는지 알아보자. 실행 결과인자 없이 실행시켜보니 인자가 없어서 None가 출력되고 있다.-h로 실행시켜보면 간단한 설명에 대해 나오게 된다.인자를 주면 위와 같이 출력이 된다. 예제위의 예제에서 -h를 더 자세히 알려주자.

[python] Tesseract로 OCR 하기 [내부링크]

OCR(Optocal Charactoer Recognition)OCR 은 Optocal Charactoer Recognition의 약자로 광학 문자 인식을 뜻한다.이미지로부터 텍스트를 인식하고 추출하여 문자로 변환하는 것이다. TesseractOCR을 하는 소프트웨어 중 Tesseract 가 있다.Tesseract는 HP 연구소에서 개발된 오픈소스이고 지금까지도 딥러닝 방식을 통해텍스트 인식률이 지속적으로 증가하고 있다. 설치https://github.com/tesseract-ocr/tesseract/wiki자신의 OS에 맞춰서 설치한다.Windows라면 비트 환경 맞춰서 다운설치 시 아래의 이미지에서부터 추가를 해줘야 하는 것이 있다.기본적으로 설치할 때 언어팩이 영어로만 설치가 되기 때문에한국어도 추가해주어야 한.......

Do it 스위프트로 아이폰 앱 만들기 입문 리뷰 [내부링크]

요즘 따라 자꾸 여러 가지에 눈이 가게 된다.이제는 아이폰 앱에 관심이 생겨 보게 된 책이다.마침 최신으로 개정된 버전이고 아이폰 앱 입문으로는 좋을 거 같았다.이 책은 첫 페이지에서 책의 내용에 대해서 일정을 잡아 두었는데초보자 30 일 코스와단기 10 일 코스로 해서 일정을 미리 잡아주고 시작한다.나는 다른 것도 관심이 있어 딴짓도 많이 하면서 책을 보았기 때문에처음에는 초보자 30일 코스로 했다가 막힘없이 진행되길래 단기 10 일로 진행하였다.확실히 익혀야 할 기본적인 기능들에 대해 잘 나와있었으며내용은 안드로이드 앱에 관련된 서적과 비슷한 느낌의 내용이었고이 때문에 안드로이드 와 아이폰 앱 개발의 차이.......

OpenCV 사용하기 [내부링크]

openCV 란openCV는 인텔에서 시작된 프로젝트로 영상처리, 기계학습, 인식 등등 다양한 알고리즘을 제공하고 있다.C++ , python , java , android , linux , OS X, IOS 등 다양한 플랫폼에서 사용할 수 있다.openCV import를 할 때는 cv2를 import 한다.opencv-python 은 openCV의 C++ API를 python으로 사용할 수 있게 만든 것이다. 기본 사용 방법이미지 읽기1. file_name : 읽을 이미지2. flag : 이미지를 어떻게 읽을 것인지. 2-1 IMREAD_GRAYSALE : 이미지를 흑백으로 읽는다. 2-2 IMREAD_COLOR : 이미지를 Color로 읽는다. 투명한 부분 미포함 2-3 IMREAD_UNCHANGED : 이미지를 Color로 읽는다, 투명한 부분 포함이미지를 화면 출.......

안드로이드 스튜디오 사이닝 하기 [내부링크]

Build - Generate Sigend Bundle를 클릭한다.APK 선택Key store path - Create new.. 클릭key store path : keystore 가 저장될 경로 지정password : keystore에 사용될 패스워드Alias : key를 구별할 별명password : key에 사용될 패스워드 ( 위의 password 와 다른 비밀번호로 하자)Validity : 키의 유효기간 연도Certificate : app에 보이진 않는 자신에 대한 정보배포를 위한 release로 선택이렇게 나오게 된다.

드로저(Drozer) 설치, 사용하기 [내부링크]

설치위의 경로에서 다운로드하자.위와 체크해둔 Agent 와 window 용을 다운로드한다.그 후. msi를 설치python 경로 지정하여 설치adb를 이용하여 안드로이드에 agent를 설치한다.안드로이드에서 drozer을 on으로 두고를 통해 윈도에서 접속이 가능하다.하지만 에러가 난다.1. google.protobuf2.OpenSSL3. dependency 위와 같이 에러가 발생할 때마다 그에 맞는 패키지를 다운로드해준다.그리고 시도해보면 정상적인 실행 모습사용하기디바이스에 있는 모든 패키지 확인 - run app.package.list여기서 모듈이 없다는 에러가 뜬다면 다시 설치하자.다시 설치해도 nuknown module 라고 한다면dorzer 을 실행하고있는 경.......

부산 맛집 이가네 가야밀면 [내부링크]

부산에 사는 친한 동생의 추천으로 가게 된 가게이다.가게는 밀면 가게인데 지금은 굴도 한다고 굴을 먹게 되었다.굴 코스 요리로 먹음뭔가 굴 요리가 이것저것 나온다.역시 굴은 생굴이라 생각하는데찜 먹으니 생각이 달라짐원래 밀면도 맛있다 해서 밀면도 먹으려 했는데 굴 양이 너무 많아서 굴만 먹다가 나갈 수밖에 없었다.이건 가격표 밀면집인데 굴집 인정

[Android] RecycleView 에 대해 [내부링크]

RecycleView는 ListView 와 사용 용도와 방식이 매우 비슷한 요소인데기존 listView에서 유연함과 성능을 더한 리스트 뷰의 확장판이라 할 수 있다.google에서도 ListView 대신 RecycleView를 list 구성에 사용하길 권고하고 있다.RecycleVew 이름에서도 알 수 있듯이 View를 재할용 하여 사용하게 된다.어떻게 재활용을 한다는 가 하면아이템을 표시하기 위한 view를 viewHolder 을 이용하여 재활용을 하게 된다.재활용해서 뭐가 좋은가 한다면listView는 매번 View에 접근하여 그 구성요소에 새로 접근하는 것을 반복하게 된다.즉 listview에 사용할 view의 구성요소로 TextView , editView 가 있다고 한다면매번 TextView , editView를.......

ADB(Android Debug Bridge) 설치하기 [내부링크]

ADB는 에뮬레이터나 안드로이드 기기에 통신을 통해 앱설치 및 설정 등을 명령으로 실행시킬 수 있는 생산성이 높은 관리 도구이다.https://developer.android.com/studio/releases/platform-tools위의 경로에서 설치 가능하다.다운로드하게 되면 압축된 파일을 받게 되고원하는 경로에 압축을 해제하면 된다.이 경로를 환경 변수에 추가한다.이제 cmd에서 adb를 입력했을 때 아래와 같이 나오면 정상적으로 설정된 것이다.

인시큐어 뱅크 설치하기. [내부링크]

인시큐어 뱅크는 모바일 보안을 공부하기 위해 만들어진 애플리케이션으로안드로이드 취약점을 공부하기에 적합한 애플리케이션이다.이것저것 에러로 고통이란 고통은 다 받으며어이없을지도 모르지만 진짜 설치만 5일 걸렸다일단 인시큐어 뱅크 파일을 다운로드해야 한다.파이썬은 2.7.11 버전으로 진행하자.3버전 안된다.2.7.11이 넘는 버전 뭔가 이상하게 안된다.필요한 모듈 설치안드로이드 스튜디오에서 git 연결git 설치한 다음에 안드로이드 스튜디오 설정 들어가서 연결만 하면 된다.이렇게 하고 인 시큐어 뱅크 경로에서 python app.py를 하면 아래와 같이돼야 하지만아마 안될 것이다.이런 에러나이런 에러.......

APK 파일 구조 , APK 파일 추출 [내부링크]

APK(Android Application Package)는 안드로이드 애플리케이션 패키지로이 패키지를 통해 안드로이드 스마트폰에 애플리케이션을 설치할 수 있다.APK 파일은 프로그램의 모든 소스코드가 있기에 추출할 필요가 있다.APK 추출하는 방법으로는스마트폰에서 APK 추출하는 어플을 플레이스토어에서 다운로드하거나https://apkpure.com/kr/이 사이트에서 APK을 다운로드할 수 있다.apk파일의 구조준비해둔 apk 파일을 반디집 같은 압축프로그램으로 해제해보면위와 같은 파일들을 볼 수 있는데앱마다 종류의 다양함이 다를수있다.먼저META-INF 디렉터리서명에 관련된 정보가 담겨있다.이곳에는 전자서명 파일과 리스 소파 알에 대응하는.......

AndroidManifest.xml 파일 복호화 [내부링크]

AndroidManifest.xml 파일이란애플리케이션에 필수적인 정보들을 시스템에 알려주는 설정 파일로패키 지명, 버전 정보, 애플리케이션 컴포넌트에 대한 노드를 가지고 있다.apk 파일을 압축 해제하면 이렇게 AndroidManifest.xml 파일을 확인할 수 있고이 파일을 메모장으로 열어보면 위와 같이 알 수 없게 암호화가 되어있다.이를 복호화 하기 위해 사용할 도구는AXMLPrinter2.jar 파일로 https://code.google.com/archive/p/android4me/downloads이곳에서 다운로드할 수 있다.다운로드한 파일을 apk 폴더에 넣어두고위의 명령어를 통해 복호화 할 수 있다.

을왕리 해수욕장, 차이나타운, 학고을 [내부링크]

이제는 겨울 , 겨울 하면 바다을왕리가 노을 보러 가면 이쁘다 해서 보러 갔다.을왕리보러 오길 잘했다.점심으로 치킨이랑 국물떡볶이를 시켜 먹었다.술은 마실 수 없으니 사이다로 기분 내고 옴돌아가는 길에 가까운 차이나타운에 잠시 들렸다.지도차이나타운 왔으니 화덕만두도 먹어보니뭔가 쫄깃한 빵에 들어있는 고기만두 맛이었다.차이나타운에서 위쪽으로 올라가면 산책로가 이쁘게 잘 되었었다.산책로를 지키는 12지신?입구주말이니 역시 술을 마셔야만 한다.산곡동에 위치한 학고을 이라는 가격도 착하고 맛도 훌륭한 가게를 갔다.참고로 여기 돼지껍데기가 대박이다.하지만 시킨건 김치전인생 막걸리 달다.

APK 디컴파일 도구 [내부링크]

APK toolAPK tool 은 apk 파일로 압축되어 있는 resources.arsc , class.dex , XML 파일들을 디버깅 파일로 변환해주고이를 수정하여 다시 apk로 변환해줄 수 있는 도구이다.dex2jardex2jar 은 apk 파일이나 apk 파일에 포함된 classes.dex 파일을 자바 클래스 파일로 변환해주는 도구다. 이렇게 만들어진 jar 파일을 사용자가 읽을 수 있는 형태로 변환해야 한다.JD-GUI자바 디컴파일러로 위에서 만들어진 jar 파일을 사용자가 읽을 수 있는 형태로 디컴파일할것이다.bytecode viewer 이 도구는 위와 같이 각자의 역할을 해주는 것이 아닌apk 파일을 디컴파일해서 클래스 파일을 자바파일로 변환한 후 소스코드로 바꿔서 보.......

안드로이드 스튜디오 프로젝트 파일 이동하기. [내부링크]

안드로이드 스튜디오를 이용하여 모바일 개발 도중에프로젝트를 가지고 이동해야 하거나 누군가에게 전달해주게 될 때이동된 환경에서는 정상적으로 실행시킬 수 없다.이 이유는 프로젝트 안에는 빌드 환경정보가 들어있어 이 정보에 맞춰서 빌드를 하기 때문에환경정보까지 같이 이동시켜버리면 다른 환경에서 동작을 하지 못하는 것이다.이동하고 싶은 프로젝트 안에서 app 폴더로 이동한 후bulid 폴더를 지워주고 이동시키거나이동한 환경에서 지우고 실행시키면환경 파일이 없어서 다시 재 빌드를 하게 된다.이렇게 하면 프로젝트를 이동해도 에러가 나지 않는다.

CentOS 메일 보내기, 스케줄러 사용하기 [내부링크]

이번 글에서는 메일 기능과 스케줄러 기능을 이용해서 자동으로 메일을 보낼 것이다.SMTP , POP3메일 프로토콜로 기억해둬야 할 2가지가 있다 하면SMTP 와 POP3는 알아둬야 할 것이다.SMTP는 TCP 25번 포트를 사용하며클라이언트 <-> 서버 or 서버 <-> 서버 간의 통신을 모두 담당하는 프로토콜이다.SMTP는 메일을 보내는 역할을 한다.POP3는 TCP 110번을 사용하며서버 <-> 클라이언트 간의 통신을 담당하는 프로토콜이다.POP3는 메일을 가져오는 역할을 한다.CentOS 메일 보내기리눅스에서 메일을 보낸다고 하지만 이 기능을 언제 사용할까? 메일을 보낸다고 한다면 리눅스로 보내기에는 편리한 일은 아닐 것이다.......

C# winform login UI 만들기 [내부링크]

제작한 프로그램의 UI가 너무 보기 싫을 정도로 못생겨서 디자인을 하고는 싶지만 이쪽에 워낙 재주가 없어 여기저기 검색하며 제작하게 되었다.완성된 모습이다.제작 하기.먼저 기본적으니 winform에서부터 시작.1. Winform 설정1-1)실행되었을 때의 위치를 화면의 가운데로 배치시켜준다.StartPosition - CenterScreen1-2)form의 테두리를 변경한다.FormBorderStyle - None(테두리 제거)1-3)winform 사이즈 조절2. 입력받는 곳 디자인2-1)Panel를 이용하여 라인 그리기Panel 배치2-2)Panel Size 조절하여 라인으로 만들기.2-3)Panel의 backColor 을 설정하여 라인 색 지정2-4) 원하는 수만큼 만든다.2-5) TextBox 배치2-.......

C# winform Progress Bar UI 만들기 [내부링크]

앞의 글https://blog.naver.com/vps32/221716499019여기에서 프로그램 첫 실행 시 Progress Bar를 이쁘게 동작시키려 한다.이렇게.C#에서 기본적으로 제공하는 Progress Bar를 이용하면 위와 같이 이쁘게 나오지 않기 때문에하나의 긴 라인 역할을 해주는 Panel 과 작은 Panel을 만들어 작은 Panel 이 시간이 지날 때마다 길어지는 것으로 Progress Bar의 역할을 할 것이다.먼저 라인 역할을 해줄 Panel을 배치한다.길이와 색상은 이쁘게 배치.그 후 시간이 지날 때마다 길어질 Panel을 라인 Panel 위에 배치한다.시간이 지날 때마다 길이 지게 하기 위해Timer을 배치한다.프로그램 시작하자마자 동작할 것이기 때문에Enabled를 Tr.......

C# FormBorderStyle=None 일 때 form 이동 [내부링크]

WinForm에서기본적으로 제공하고 있는 테두리가 이쁘지가 않아이렇게 FormBorderStyle를 None를 두고 작업을 하지만문제는 기본적으로 있었던 이동, 최소화, 최대화, 종료 가 없다는 것이다.최소화, 최대화, 종료는 상관없다 해도이동이 없는 건 프로그램에서 큰 불편함이 될 수 있다.위와 같은 상황에서 마우스로 프로그램을 이동시킬 수 있게 기능을 추가할 것이다.Form에서 이벤트로MouseDown , MouseMove를 사용하여 구현할 것이다.form 위에서 마우스가 클릭 되었을 때의 좌표를 저장한다.그 후 마우스가 이동하는 이벤트가 발생했을 때마우스 왼쪽 버튼이 눌려있다면아까 저장해둔 위치와 이동한 위치를 뺀다. 즉 이동한 값.......

C# Registry 사용하기 [내부링크]

Sub 키 만들기.레지스트리 CURRENT_USER에 키를 만들어보자.특정 키의 값 가지고 오기이번에는 LOCAL_MACHINE에서 특정 킴의 값을 가지고 왔다.이렇게 에러가 나는 경우는 저 디렉토리에 권한이 없는 것으로디렉터리의 사용 권한을 추가해주자.서브로 키 개수 확인특정 디렉터리의 서브로 키 개수를 새려 한다.서브로 키 이름 확인

윈도우 regeistry 제거 [내부링크]

어느 순간 특정 regeistry의 제거가 필요하게 되어서삭제를 시도하여해도윈도우 7 이상의 OS부터는 삭제할 권한이 없다.이때는https://docs.microsoft.com/ko-kr/sysinternals/downloads/psexec위의 링크에서 알집을 다운로드한 후알집을 해제하여 C:\Windows\System32 경로에 PsExec.exe를 이동시킨 다음관리자 권한으로 실행한 cmd에서 명령어를 하여 나온 레지스트리 편집기에서는 삭제할 수 있다.

다른 USB 연결 시 감지하는 프로그램 [내부링크]

노트북을 방치해두고 잠시 자리를 비운 사이 다른 사람이 내 노트북에 USB로 장난을 하길래필요에 의해 만들게 된 프로그램이다.필수 기능으로는 1. 나의 USB가 아닌 USB가 연결되었을 때 반응을 해야 한다.2. 노트북 카메라를 이용하여 USB 연결한 사람의 사진을 촬영한다.3. 나에게 이메일을 통해 사진을 전송한다.4. 노트북을 잠금 모드로 한다.먼저 메인화면이다.프로그램 실행 시 하단의 Progress Bar 가 동작하며 패스워드를 기다리고 있다.그래서 Progress Bar 가 끝까지 도달하기 전에 정해둔 패스워드를 입력해야 한다.패스워드를 정상적으로 입력 시 주 기능 화면이 나온다.먼저 naverID에는 네이버 아이디를 입력하고naverPwd에.......

[HackCTF/Web] 보물 [내부링크]

페이지 숫자에는 비밀이 있고 그곳에 보물이 숨겨져있다.Page1 버튼을 클릭하니 URI에서도 변화가 있다.그리고 알 수 없는 값들이 나온다.Page2를 클릭해도 위와 같다.URI를 변조하여 1234를 입력해도 알 수 없는 값이 나오는 걸 봐서는 저 Page 중 하나는 키 가 나올 것이다.하지만 수동으로 진행하는 건 매우 힘든 일이다.이 귀찮은 일은 파이썬이 해줄 것이다.한참 기다리니 1225 번에서 키값이 나왔다.

[HackCTF/Web] Read File [내부링크]

검색 페이지가 나온다.URL을 보니 google.com으로 되어있다.상단에 보니 flag, php를 읽으라고 하는 걸 보니 저안에 키가 있을 것이다.command에 flag.php를 입력하니검색창은 사라지고 문구만 남게 되었다.계속해서 이것저것 시도해본 결과기본적인 위치는google.com인데 이곳과 flag.php를 제외한 다른 페이지는 모두 Readfile라는 문구만 나오는 페이지로 이동된다.그러다가 나온 것이 google.com 사이에 flag를 아무리 넣어도 google.com으로 검색 페이지가 나온다는 것인데flag라는 값을 필터링해서 제거하고 있던 것 같다.그렇다면 flag를 필터링해서 제거해도 flag가 남도록 해서 접근해보자.끝

[HackCTF/Web] 가위바위보 [내부링크]

이 문제는 가위바위보 게임 부분에서 문제를 해결하는 것이 아닌상단에 있는 프로필에서 해결하는 문제이다.이름과 프로필 사진을 변경할 수 있는 곳이 있고프로필 사진 변경이 이미지 파일을 업로드하여 변경하는 것이기 때문에 파일 업로드 위협으로 접근해보았다.간단한 php 파일을 작성하였고이 상태로 업로드를 시도해보니이미지 파일이 아니라고 업로드가 되지 않는다.이것저것 우회를 시도해보았지만 안된다.마지막으로 시도한 방법은 이미지 파일 뒤에 php 코드를 삽입하는 걸로 시도하였다.이미지 파일을 두고 뒤에 php 코드를 삽입하고 업로드하니 업로드가 되었다.아마 확장자를 필터링할 때 파일의 이름이 아닌 헥스 값에서.......

Visual Studio Code Poser Mode [내부링크]

내가 봤을때 이만큼 유용한 플러그인은 없다싶을정도로이거때문에 비쥬얼스튜디오 코드를 쓴다해도 과언이 아닐것이다.보기 - 확장power mode 검색하여 설치파일 - 기본설정 - 설정power mode Enabled True 여러가지 테마를 지정할수있다.이쁜 불꽃놀이기본적인것은 너무 조곤조곤한거같아서 옵션을 좀더 건드리면아아..아 ㅎ 신나

숲속한방랜드 놀러감 [내부링크]

갑자기 너무 추운 날씨가 되어따뜻한곳을 찾다 찾다 결국 찜질방에 이르게되었다.찜질방은 동네 근처 찜질방만 가던터라이렇게 이동하면서까지 가본 찜질방은 이곳이 처음이였다.여기는 신촌역 ,연세대 근처에 위치하고 있고가게 이름 그대로 숲속에 위치하고 있는 듯한 느낌이다.많은 방송에서도 나와 인기가많다.이곳이다.와보니 버스가 이곳까지 데려다주는것을 보았다대중교통 이용하는사람은 이곳으로 오는 버스알아보면편하게 올수있을듯 하다. 그렇지만 자가용이용이 편하다가격은 평일 주말 가격이 다른건지는 모르겠지만주말기준 성인 1인당 1만2천원이였다.주차권은 꼭 입장권결제시 같이 받아야한다.안의 구성.고기집밥집.......

악성코드 감염 후 중요 정보 획득 및 원격접속 [내부링크]

악성코드를drive by download 혹은 XSS를 이용하여 악성 서버로 유도 후 악성파일 다운로드 및 실행 등을 시킨 후감염된 pc의 중요 정보를 획득하는 실습을 진행해볼 것이다.1. 악성코드 제작, 유포2. 감염대상자 pc의 중요 정보 탈취3.RDP를 이용하여 원격조작. -계정명 패스워드 확인 - 서비스 활성화을 순으로 진행할 것이다.1. 악성코드 제작, 유포제작과 감염되는 방식은 위의 게시글에 작성했던 데로 진행할 것이다.2. 감염대상자 pc의 중요 정보 탈취감염 대상자는 악성코드를 실행하게 되어 감염되었다.감염된 대상자의 sessions를 연결run winenum 명령어를 사용하게 되면window 환경에서 사용할 수 있는 명령어.......

인터넷 슈퍼 데몬(Xinetd) 을 설치하여 서비스 관리 [내부링크]

터넷 슈퍼 데몬(Internet Super Daemon)을 의미하는 것으로서, SENDMAIL, HTTPD 등과 같이 리눅스 시스템에서 실행되는 데몬의 일종이다.이를 다른 데몬들과 달리 슈퍼 데몬이라고 부르는 데에는 특별한 이유가 있다. 이 슈퍼 데몬은 리눅스 서버에서 서비스되는 다른 여러 가지 데몬들 을 제어하면서 각각의 서비스들의 연결을 담당하고 있기 때문이다.예를 들어 xinetd 슈퍼 데몬에 의해 제어되는 서비스 중에 telnet(하나의 데몬)이라는 서비스가 있다고 하자. 누군가가 telnet 서비스에 접속을 시도하면 바로 telnet으로 연결이 되는 것이 아니라 슈퍼 데몬인 xinetd에 의해 허가된 사용자인가를 검사받은 후에 xinetd의 telnet 설정 파일(/e.......

안드로이드 service(서비스) , Log(로그) 사용하기 [내부링크]

service란service(서비스)는 Activity처럼 사용자와 상호 작용하는 컴포넌트가 아니고Background에서 동작하는 컴포넌트이다.즉 필요에 의해 백그라운드에서 작업 시 사용된다.서비스에는Call to startService() 와Call to bindService() 가있는데 이번에는 Call to startService()를 해볼 것이다. Call to startService()의 생명주기로서는onCreate() -> onStartCommand() -> 동작 -> onDestroy()로 작업이 진행된다.onCreate() - 서비스가 생성될 때 가장 먼저 호출되는 콜백 메소드로 서비스 자신의 초기 설정을 한다.onStartCommand() - 서비스를 호출하는 곳에서 startService()로 Intent를 넘기면 여기서 Intent를 받는.......

안드로이드 멀티 스레드, 메시지큐,Runnable 사용 [내부링크]

지금까지 안드로이드로 작업해왔던 것들은 모두 단일 Therad로 이루어져 있었다.하나의 애플리케이션은 메인 스레드가 생기게 되고 이 메인 스레드만을 사용하고 있었던 것.이번에는 메인 스레드 말고 추가로 만들어서 사용할 것이다.Therad를 메인 스레드 하나만 사용하게 된다면 단일로 동작하게 되니 순차적인 관계에서중간에 하나라도 연결고리에 문제가 생긴다면 대기 상태에 빠지는 경우가 있을 것이다.Therad를 사용하는 방법은 2가지 방법이 있다.1.Therad 클래스를 상속받는 받아 run() 메서드를 오버라이딩 하는 방법2. Runnable 인터페이스를 확장하고 run() 메서드를 구현하는 방법먼저 여기서는 1번 방법을 사용하여 해볼 것.......

[HackCTF/Web] Login [내부링크]

Web문제중 Login 문제를 풀어보았다.아이디와 패스워드를 입력하는 단순한 화면 로그인시도를 sql인젝...

[HackCTF/Web] 마법봉 [내부링크]

Web 문제중 마법봉 문제를 풀어보았다. ? 소스를 볼수있는 버튼이 있길래 일단 소스부터 분석 240610708...