disassemble #1 - how to use gdb?

disassemble을 공부하면서 기본적인 사용법을 적어봅니다. 시작에 앞서.. 먼저 assembly language Cpu의 제조사에 따라, 혹은 32bit / 64bit에 따라 그 모습을 달리 합니다. 기본적으로 32bit cpu는 알고 계시듯 메모리를 4GB까지 사용 할 수 있습니다. 2의 23승을 타나내며 값으로는 4,294,967,296 이고, 이는 cpu가 한번에 처리 할 수 있는 값의 범위이며 주소의 범위입니다. 이후 64bit cpu에서는 총 처리할 수 있는 값이 2의 64승으로 늘어났으며, 이는 16엑사바이트...

linux - If server has multiple interface that specify default gateway device. (Red Hat Enterprise Linux 5, 6)

레드햇 리눅스 에서 서버 이더넷 포트에 다수의 게이트웨이가 있어 route시 default gateway가 재대로 잡히지 않는 현상이 있습니다. 위와 같은 현상이 있다면 아래와 같이 설정 할 수 있습니다. - Resolution  # vi /etc/sysconfig/network 위 명령어를 실행 한 뒤 아래 내용을 추가해줍니다.  GATEWAYDEV=ethX ethX = 디폴트 게이트웨이로 설정할 이더넷...

python - pxssh를 이용한 ssh connect & send command

pxssh를 이용하면 ssh를 이용해 linux에 접속하여 직접 command를 날릴 수 있고, 반환값도 받아 올 수 있습니다. 먼저 pxssh를 이용하기위해 모듈 pexpect를 설치해줍니다. # wget https://pypi.python.org/packages/source/p/pexpect/pexpect-4.0.1.tar.gz#md5=056df81e6ca7081f1015b4b147b977b7 # tar xvf pexpect-4.0.1.tar.gz # cd pexpect-4.0.1.tar.gz # python...

linux - Dell서버 Ethernet device name em -> eth 변경

dell서버에서 centos나 redhat linux설치 시 ethernet 디바이스 이름이 아래와 같이 em으로 등록 되어 있는것을 볼 수 있습니다. $ ifconfig em1      Link encap:Ethernet  HWaddr 20:47:47:8B:72:2C               UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1  ...

linux - ntpd client 간단 설정 및 트러블 슈팅

1. ntpd 설치 #yum -y install ntp 위 명령어를 통해 ntp를 설치해 줍니다. 2. ntpd clinet 서버 주소 입력 #vi /etc/ntp.conf 위 파일을 실행 시킨 후 아래의 빨간색 부분에 server (ntp server hostname) 을 입력해 줍니다. (아래의 ntp.postech.ac.kr은 포항공대의 ntp서버입니다.)    ...

Python make port scanner(use nmap) #3 - make port scanner (파이썬 포트스캐너 만들기 #3 - port scanner)

앞서 두 과정을 통해 optparse의 사용과 nmap을 설치하였습니다. 이제 파이썬과 nmap 통해 port scanner를 제작 해보도록 하겠습니다. 참조 - 해커의언어, 치명적 파이썬 / TJ오코너 1. optparse 제작 먼저 optparse를 통해 아래와같은 소스를 제작해 보도록 하겠습니다. This file contains bidirectional Unicode text that may...

Python make port scanner(use nmap) #2 - install nmap (파이썬 포트스캐너 만들기 #2 - nmap)

파이썬 포트스캐너 두 번째로 nmap과 nmap 라이브러리를 설치하도록 하겠습니다. 먼저 nmap을 설치하기위해 아래 명령어를 실행합니다. # yum install -y nmap  설치가 완료되어지면 아래 명령어를 통해 파이썬용 nmap 라이브러리를 다운받습니다. # wget http://xael.org/pages/python-nmap-0.4.3.tar.gz  다운받은 nmap의 압축을 풀어줍니다. # tar -xvf python-nmap-0.4.3.tar.gz 압축 푼 python-nmap-0.4.3...

Python make port scanner(use nmap) #1 - optparse (파이썬 포트스캐너 만들기 #1 - optparse)

파이썬을 이용한 포트스캐너 제작에 앞서 python optparse 모듈에대해 알아보겠습니다. optparse는 커맨드 라인 프로그램 실행에 이용된 option값을 parsing해주는 모듈입니다. 아래와 같은 커맨드를 가정해 보겠습니다. python <%program> <%option> <%values> python optparse.py -f TCPportscanner 위의 커맨드를 통해 program을 실행시킬때 option값을 통해 values를 가져오는 방식입니다. optparse.py를...

android setImage failed (사진을 못 가져올 때)

갤러리에서 사진을 선택할 때 사진을 못 가져오는 현상이 발생하면 아래 두 가지 경우를 생각 할 수 있습니다. 1. Permission Denial java.lang.SecurityException: Permission Denial: reading  com.android.providers.media.MediaProvider uri  content://media/external/images/media/38498 from pid=27232, uid=10472 requires  android.permission.READ_EXTERNAL_STORAGE,...

Application windows are expected to have a root view controller at the end of application launch

에러 코드 Xcode 7 iOS9에서 발생 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException'reason : 'Application windows are expected to have a root view controller at the end of application launch' 원인 Xcode 7부터 앱 시작전에 root view controller를 설정해 주어야 합니다. 해결 -  ( BOOL ) application...

python django 설치

django의 설치를 위해 아래 주소에서 tar.gz을 다운받습니다. https://www.djangoproject.com/ 다운받은 Django-1.8.4.tar.gz의 압축을 해제하면 아래와 같은 모습을 보실 수 있습니다. 위 폴더의 setup.py를 아래와 같이 실행시켜줍니다. setup.py...

App Transport Security

iOS9 혹은 OS X 10.11이상에서 유효한 기능이며, 어플이나 웹서비스 간의 안전한 연결을 위해 사용할 수 있습니다. ATS가 활성화 되면 HTTP통신을 할 수 없습니다. 또한 Apple에서 권장하는 요구 사항을 충족하지 않는 연결은 강제로 연결 실패 처리 됩니다. 실제 에러 메시지 Error Domain=NSURLErrorDomain Code=-1022 "The resource could not be loaded because the App Transport Security policy requires the use...

Red-Hat 계열 Linux에서 Tomcat Service Setting

Install 및 Setting 전 확인 사항 Root계정 권한 획득 Tomcat 다운로드 후 압축 해제 상태 기본적으로 tomcat install은 패키지 설치가 아닌 apache tomcat을 다운받아서 압축을 푸는 개념으로 모든 설정파일과 service 시작 daemon파일이 tomcat 폴더에 들어있어 tomcat폴더의 bin 폴더에 들어가면 startup.sh와 shutdown.sh를...

Android dynamic change image resource (안드로이드 동적 이미지 변경)

안드로이드 소스코드 내에서의 동적 이미지 변경 방법입니다. setImageResource(getApplication().getResources().getIdentifier(String name, String defType, String defPackage)); 위와같은 방식으로 가져오며, 아래는 소스코드의 예 입니다. imageView image= (ImageView)findViewById(R.id.test_image); image.setImageResource(getApplication().getResources().getIdentifier("ic_launcher",...

Android error: resource entry is already defined

안드로이드에서 error: resource entry name.png is already defined 라는 문구가 뜨면 이미 올라가있던 jpg파일이 등록된 후 png파일이 올라와서 리소스에 중복되어있는 경우입니다. 안드로이드 프로젝트 build -> rebuild project를 하시면 손쉽게 해결 할 수 있습...

Python socket programming #4 - multiprocessing #1

Python에서 thread는 GIL(Global Interpreter Lock)을 따르게 됩니다. 간단하게 설명하면 보통은 다수의 쓰레드가 작동할 때에 아래와 같은 모델을 상상하게 됩니다. 하지만 GIL에 의해서 python은 한 Thread씩 Lock이 걸리는게 아니라 전체에 걸리게 되면서 여러개의 Thread가 Single Processor에서 동작 하는 것 처럼 동작하게 됩니다. 프로그램을...

px, dp, dip, sp의 차이

dp (Density-independent Pixels) 160dpi화면을 기준으로 하며, 1dp는 1px과 거이 동일합니다. 고밀도 화면에서 실행할 경우 1dp를 그리는데 사용되는 픽셀의 수는 화면의 dpi 따라 적절히 조정되며, 마찬가지로 저밀도일 때 1dp의 화소 수는 축소됩니다. px단위 대신에 dp단위를 사용하면 밀도가 다른 화면에서도 UI요소들의 일관성을 제공합니다.  dip (Density-Independent Pixels) dip는 초기버전에서 사용했지만 지금은 dp로 축약되었습니다. ...

Python socket programming #3 - MultiThreading (Threading module)

2. threading 두 번째로 threading 모듈은 thread 클래스를 상속받아 사용하는 모듈입니다. 클래스가 threading.Thread를 상속받아 사용하게 됩니다. java와 마찬가지로 run 메소드를 오버라이드 하여 각 각 선언된 클래스를 통해 Class_name.start()를 작동시키면 run 메소드가 작동하게 됩니다. This file contains bidirectional...

Android - 1. Activity(액티비티)

1. Application 글로벌 어플리케이션 상태를 유지하기 위한 기본 클래스 입니다. AndroidManifest.xml의 application에서 name을 지정하여 사용 가능해집니다. Activity class는 언제든지 스택에서 삭제되고 다시 불러오게 되지만 Application class는 한번 불리면 앱이 종료될 때 까지 유지됩니다. 2. Activity Activity...

Python socket programming #2 - MultiThreading (Thread module)

파이썬에서의 멀티 쓰레딩은 두 가지의 모듈을 사용해 만들 수 있습니다. 각각의 모듈은 아래와 같습니다. Thread Threading 먼저 Thread는 C와 같이 함수를 이용해 Thread를 run 시키는 방식으로 MultiThreading을 구현합니다. Threading은 흔히 자바에서 보던 방식처럼 Thread관련 클래스를 상속받아 run을 override 하여 사용합니다. 이 포스팅에선 먼저 Thread만 다루도록 하겠습니다. 1. Thread 기본적으로 Thread에서 thread를 run시키는 함수는...

Python socket programming #1 - basic server and client

python의 소켓은 C나 자바에 비해 비교적 단순한 모습을 취하고 있습니다. Socket의 선언은 아래와 같습니다. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 여기서 각각 PF(프로토콜 체계)와 AF(주소 체계)를 살펴보면 A. PF PF_INET - IPv4 프로토콜 PF_INET6 - IPv6 프로토콜 PF_LOCAL - Local 통신 UNIX 프로토콜 B. AF AF_INET - IPv4 프로토콜 AF_INET6 - IPv6 프로토콜 AF_LOCAL -...

python - Reading Excel sheet with xlrd (xlrd를 이용한 파이썬 엑셀 파일 읽기)

1. xlrd 시작에 앞서 python xlrd패키지를 설치해야 합니다. https://pypi.python.org/pypi/xlrd/0.7.9 xlrd와 xlwd 두개의 패키지가 존재하는데, xlrd는 read용 패키지 xlwd는 write용 패키지 입니다. 먼저 포스팅에 사용할 엑셀 Sheet은 아래와 같이 작성됐습니다. Sheet1 Sheet2 2....