Programming Language78

IP별 국가코드 매칭(feat.오프라인) 안녕하세요!! 오랜만에 노트북에 앉아있는 베짱이입니다. 오늘은 IP를 입력해서 국가코드를 조회해볼까합니다 그! 러! 나! 귀차니즘이 살그음살그음 다가오고 있네요 호다닥 해보도록 하지요 Q. IP에 해당하는 국가코드를 얻어오는 방법은? A1. IP주소를 입력하면 국가코드를 알려주는 사이트도 있고 A2. API를 통해 온라인상에서 얻어올수도 있고 A3. 라이브러리도 있네요 Q. 그렇다면 이 세가지의 공통점은? 전부 서버에 요청해서 결과를 얻어오는 온라인 방식..!! 그래서 폐쇄망에서는 사용할 수 없다는 치명적인 단점이 있지여.. Sol. 단점 해결방법(오프라인)!! IP대역별 국가테이블을 만들어놓고 반복문으로 대역을 비교해서 얻어오려고 합니다. Start!! 먼저 이 첨부파일은 IP대역별 국가테이블인데 KI.. 2021. 1. 20.
[File_Filter] 파일 분류하는 방법 python2 기반으로 작성했지만 print문에 ()만 붙이면 python3에서도 동작하네요!! 악성코드와 상용프로그램을 한 곳에 저장되어 있어서... 이것을 분류하려고 합니다. 악성코드는 자신의 해시값으로 파일명이 되어있습니다. import os import shutil import sys folder_name = sys.argv[1] listfile_name = sys.argv[2] if len(sys.argv) != 3: print " [-] python file_filter.py [악성코드가 있는 디렉터리] [악성코드 파일명을 저장한.txt]\n" print " [*] Using_Example" print " [*] python file_filter.py /home/maias/Desktop/dat.. 2019. 8. 6.
C로 작성한 실행파일(exe)에 음악넣기 갑자기 실행파일에 음악포함? 배경은 어셈블리와 리버싱 기초 스터디를 진행하면서 간단한 크랙미 형태의 문제를 내주었는데 그 때 사람들이 음악을 들으면서 하면 좋을 것 같아서 음악을 실행파일에 포함해 보았지요. 안그래도 답답할텐데 노이로제걸릴만한 음악이 자꾸 나오면 ^___^ 강한 멘탈을 심어주기 위한 저의 세심한 배려?라고 볼 수 있겠네요. 자 이제 시작해봅시다!! visual studio 2017을 사용했구요. .c형태의 C언어로 작성하였습니다. 먼저, 프로젝트를 만들고 리소스파일을 우클릭 합니다. [그림1]과 같이 [리소스파일]을 우클릭 후 [추가] - [리소스] 를 누릅니다. [그림2]를 보면 icon을 가져오기해서 추가할 수도 있습니다. 맨 아래에 "WAVE"라고 나오는 부분이 있는데 원래는 없어야.. 2019. 7. 27.
Linux System Call 1. 이론 ▶ 먼저 아래 그림을 보려고 한다. (그림 그리기 힘들다 ㅠㅠ) ▶ 위로 갈수록 하이레벨이고 아래로 갈수로 로우레벨이다. (1) 이 그림으로 하고 싶은 말은 OS별로 제공되는 [Linux에서는 system call | Windows에서는 API]은 다르다. (2) 예를 쉽게보면 우리가 프로그램을 설치할 경우에... ▶ Windows 7용, Windows 10용, Ubuntu18.04용, CentOS7 용 등등 같은 프로그램이지만 OS에 따라 다른 것을 다운 받는다. ▶ 그렇다면 하나의 프로그램을 다 같이 사용하면 안될까? 라는 의문이 든다. (3) 아직은? 불가능하다.. [1] 이제 다시 그림을 보고 설명을 하려고 한다. [2] 커널 위에 System call은 각각의 호출되는 번호가 있다. .. 2019. 1. 26.
대화상자 생성 1. 대화상자 만들기1) 대화상자▶ 메뉴리소스 생성한 방식과 유사하게 생성할 수 있다.▶ 다양한 동작에 배치할 수 있다. (동작 시 대화상자 발생) 2) 동작방식 [1] 리소스에서 새로운 대화상자를 생성한다. [2] 대화상자에 대한 메세지처리함수를 작성한다. [3] 대화상자를 호출한다. 3) 리소스파일 [1] 리소스파일 추가 ▶ [리소스파일(우클릭) - 추가 - 리소스] 를 클릭한다. [2] Dialog 생성 ▶ Dialog 리소스를 클릭하고 새로만들기를 누른다. [3] 현재 프로젝트의 리소스 뷰에 접근 ▶ 리소스 뷰를 누르고 IDD_DIALOG1을 확인한다. [4] 다이얼로그 제작 ▶ [3]에서 IDD_DIALOG1을 더블클릭한다. ▶ 현재 대화상자가 기본상태이다. ▶ 확인(IDOK)와, 취소(IDCA.. 2018. 12. 9.
리소스파일 1. 리소스파일- 윈도우 프로그램은 입출력 외의 코드부분이 존재하는데 이를 리소스라고 한다.- 리소스는 화면에 시각적으로 보여지며 메뉴바, 툴바, 비트맵, 단축키, 대화상자 등으로 구성되어 있다.- 기존의 프로그램보다 완성도를 높이고 사용자의 프로그램 사용을 돕는데 사용된다. - 한 번 만든 리소스는 다른 프로젝트에서도 사용되므로 다시 만들지 않아도 된다. - .rc파일은 프로젝트에서 만든 리소스가 스크립트형태로 저장된다.- Resource.h 파일은 리소스에서 사용할 ID가 매크로를 이용해 정수로 선언된다.- ID는 리소스를 구분하기위해 붙인 이름이다.- 즉, 프로그램에서 ID를 사용하여 리소스를 윈도우에 붙이거나 어떤 리소스가 보낸 메세지인지 구분이 가능하다. 2018. 12. 9.
Application 제작 ※ 특정인물에 대한 소개를 할 수 있는 Application 제작을 하려고 한다. 주로 하는 분야가 아니라 부족하지만 간단한 기능을 하는 앱정도는 만들어 볼 수 있을 것 같다. 1. Application 소개 ▶ 특정인물은 음악가 베토벤을 지정하였고 그를 소개하고 성장과정에 대한 지식을 전달하려고 한다. ▶ 베토벤의 사진을 볼 수 있다. ▶ 베토벤의 명곡 리스트를 확인할 수 있다. ▶ 베토벤의 음악을 재생할 수 있다. 2. 시연 [1] 메인화면 ▶ “소개, 성장, PLAY, 음악“이름을 가진 4개의 button, 1개의 imageView, 1개의 seekBar가 activity_main.xml에 있다. [2] 소개버튼 클릭 ▶ 먼저 [소개]버튼을 클릭한다. [3] 다이얼로그1 확인 ▶ 타이틀 옆에 하트모.. 2018. 11. 26.
일기장 제작 1. 레이아웃 만들기 1) activity_main.xml 설정 ▶ 위와 같이 activity_main.xml을 만들어준다. ▶ editText의 lines옵션을 10으로 설정하여 10줄씩 입력을 받거나 확인하도록 한다. ▶ textPersonName옵션에 체크를 해제해야 정상적으로 보인다. ▶ 최종화면 2) MainActivity.javapackage com.example.d4tai1.pro20181029a_2; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; i.. 2018. 11. 5.
내장메모리 접근 1. 레이아웃 만들기 1) activity_main.xml 설정 ▶ 위와 같이 activity_main.xml을 만들어준다. 2) MainActivity.javapackage com.example.d4tai1.pro20181022a_2; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widg.. 2018. 11. 5.
대화상자[입력] 1. 레이아웃 만들기 1) activity_main.xml 설정 ▶ res-layout 우클릭 -> New - Layout resource file ▶ File name에 xml파일의 이름을 지정하고 OK를 누른다. ▶ TextView와 Button을 이용해서 Activity_Main.xml을 설정한다. 2) MainActivity.javapackage com.example.d4tai1.pro20181022a_2; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import.. 2018. 10. 27.
대화상자[라디오] 1. 대화상자 ▶ 사용자에게 주요사항을 알려주고 그에 따른 선택을 하도록 하는 것을 말한다. 1) 설정순서 [1] 대화상자 생성 [2] 용도에 따른 설정 [3] 대화상자 화면 출력 2) 클래스와 메소드 [1] AlertDialog.Builder 클래스로 생성한다. [2] setTitle( ) -> 제목설정 [3] setMessage( ) -> 내용 입력 [4] setIcon( ) -> 아이콘 설정 [5] setPositiveButton( ) -> OK버튼 [6] setNegativeButton( ) -> Cancel버튼 [7] setItems( ) -> 목록출력 [8] setSingleChoiceItems( ) -> 라디오버튼 목록 출력 [9] setMultiChoiceItems( ) -> 체크박스 목록.. 2018. 10. 27.
메세지 띄우기 1. 메세지 띄우기 1) activity_main.xml 설정 - 위 그림과 같이 button 한 개 생성 후 id와 text를 설정한다. 2) MainActivity.javapackage com.example.d4tai1.pro20181008a_5; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button btnMessage; @Override protected void.. 2018. 10. 9.