본문 바로가기

전체 글218

[Python] GUI 계산기 만들기 Python은 tkinter 모듈을 사용해서 GUI형식으로 프로그램을 만들 수 있다. 그래서 이번에는 GUI 계산기를 만들건데, 비트연산, 진법 변환 및 기본적인 연산도 가능하도록 기능을 넣은 계산기를 만들어보려고 한다. ( //주의 // 아래 내용부터는 구글링해서 찾은 코드를 많이 참고한 내용이다. ) 먼저 모듈을 임포트 해주고 사용할 변수들을 초기화해준다. title명으로 실행하면 나타나는 창 왼쪽 위의 제목을 변경할 수 있다. geometry로 창 크기를 조절할 수 있다. 숫자를 입력할 창 크기와 위치를 지정해준다. 이제 함수 설명을 하려고 한다. button_pressed 함수 value 매개변수로 가져와서 AC 버튼이 눌렸을 때 숫자 창의 모든 것을 지우고 answer_trigger 변수도 초기.. 2020. 9. 8.
[Python] 소켓프로그래밍으로 1:1 채팅 구현 먼저 소켓은 어플리케이션 계층과 전송 계층 간을 이어주는 인터페이스이다. 프로그램 개발 시 어플리케이션 계층에 한정되어서 개발을 하는데 이 어플리케이션 계층에서도 전송 계층을 조작할 수 있는 방법이 소켓이라고 하는 인터페이스를 사용하는 방법이다. 1:1 채팅을 구현하기 위해서 소켓 프로그래밍을 사용할 건데 소켓 세팅 과정이 있다. ( //주의 // 아래 내용부터는 구글링해서 찾은 코드를 해석한내용이다. ) 먼저 을 만들어야 한다. socket을 임포트 해주고 socket 객체를 생성할 수 있다. 이때 인자를 입력하는데 첫 번째 인자는 AF(Address Family) 이고 두번째는 소켓 타입이다. 소켓은 인터넷이 아닌 통신도 고려되서 만들어졌는데,, 지금은 인터넷 네트워크만을 주로 사용하기 때문에 AF_.. 2020. 9. 8.
[Python] 네이버 실시간 검색어 크롤러 만들기 먼저 웹 크롤러는 웹페이지의 자료들 중에 원하는 자료만 가공해 자동적으로 가져오는 것을 의미한다. 본격적으로 파이썬으로 웹 크롤러를 만들기에 앞서 미리 해줘야하는 것들이 있는데, 사용할 모듈을 다운로드 받아야 한다. 웹 크롤러는 bs4 모듈과 requests 모듈이 필요하다. 아래 사이트를 참고해 다운로드 받았다. shaeod.tistory.com/900 [라이브러리] 파이썬 pip로 BeautifulSoup 설치하기 ※ 요약 파이썬으로 웹을 크롤링 하기 위한 필수 라이브러리 중 하나인 BeautifulSoup을 설치하는 방법을 알아보도록 하겠다. 설치는 pip을 통해 할 것이며, 특정 버전을 원하는 독자는 해당 버전을 shaeod.tistory.com bs4 모듈은 html파일을 가져올 때 사용하고, .. 2020. 9. 8.
[SWING 내부 CTF] baby_stego 문제 제목을 보면 baby_stego인데 포렌식 도구 중에 openstego를 사용하면 될 것 같다는 생각이 먼저 들었다. 근데 일단 문제 파일에 가보면 zip파일에 flag.png파일이 떡하니 있었는데 다운받아보았다. 근데 압축해제가 안됐다. 그래서 다운받은 zip 파일을 HxD로 확인해보니 헤더 시그니처가 올바르지 않았다. 그래서 올바르게 고쳐주고, 저장해주었더니 flag.png 파일이 보였다. 근데 그 이미지 파일을 열어보면 열리지만 이렇게 내용이 보이지 않았다. 뭐지 왜 안보이지 싶어서 HxD로 png 파일을 열어보았다. 헤더 시그니처, 푸터 시그니처도 올바르고 어떤 문제인지 모르겠어서 구글링을 통해 png 파일 구조를 살펴보았다. https://ryanking13.github.io/2018/03.. 2020. 8. 31.
[SWING 내부 CTF] GroupProject_BadEnding 문제를 살펴보면 ppt 파일 자료가 좀 이상하고 내일이 발표고… 어쨌든 문제에 첨부된 ppt 파일에 이상이 생긴 것 같다. 다운받아서 살펴보았다. 열어보니 평범한 ppt였지만 진짜 조별과제였으면 큰일났을 ppt였다. 아무래도 ppt가 슬라이드에 여러가지 이미지들이 있고 이미지로도 변환이 가능해서 스테가노 그래피 문제인가라는 생각이 먼저 들었다. 그래서 각 슬라이드를 이미지화 한 뒤 이미지 스테가노 그래피 사이트에서 비트 변환도 해보고 잘 살펴보았는데, 스테가노 그래피는 아닌 거 같아서 HxD로 시그니처를 확인해보기로 했다. 그랬더니 헤더 시그니처가 zip파일 것이었음을 알 수 있었다. 그래서 ppt 파일 확장자를 zip 파일로 바꾼 뒤, 압축을 풀어주었다. 그랬더니 secret.png가 숨겨져 있는 걸 .. 2020. 8. 31.
[SWING 내부 CTF] Who_is_real 문제 설명은 딱히 없고 힌트가 두 개 있는 것을 볼 수 있다. 그래서 zip 파일을 먼저 다운받아서 압축을 풀면, 이렇게 그림은 같지만 파일 명은 다른 비트맵 이미지 두 개와 힌트 png를 얻을 수 있었다. hint에는 인간의 눈으로 볼 수 없다고 나와있다 그래서 HxD를 사용해야 하나보다라고 생각했다. 근데 열어서 비트맵 헤더 시그니처를 봤더니 별다른 이상이 없어서 뭐지 싶었다. 그래서 일단 문제에 있는 힌트를 활용해보기로 했다. 첫 번째 힌트는 리눅스 파일 비교 명령어를 사용해야 한다고 나와있었다. 그래서 리눅스 파일 비교 명령어를 구글링해봤는데 diff랑 cmp가 나왔다. 나는 열심히 diff로 하고 있었는데,, 나중에 두 번째 힌트가 나왔는데 cmp를 사용해야한다고 했다. 그래서 cmp로 두 비트.. 2020. 8. 22.
728x90