전체 글
![[Python] most likely due to a circular import 오류](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fc82yvb%2FbtrQVzxpCNV%2FAAAAAAAAAAAAAAAAAAAAAJeZyOYAlpect-162ffQa4MLUYsUTm_41JBrp9lXKS4l%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3Der2HGcEAZKSBASe6B1ES0a%252Bx7k0%253D)
[Python] most likely due to a circular import 오류
Python 모듈인 Argparse를 사용하여 코딩하던 중 most likely due to a circular import 에러가 발생하였다. 해당 에러는 작업 폴더 내 모듈과 동일한 이름을 가진 파일이 존재할 시 발생하는 에러이다. 실제 위의 에러 사진과 같이 argparse.py로 파일을 생성하였기 때문에 해당 에러가 발생하였다. (argparse는 Python 에 기본적으로 내제된 모듈) Python 으로 코딩 시 모듈과 동일한 이름으로 파일 이름을 설정하지 않는 것이 중요하며 만약 모듈명을 쓰고 싶다면 뒤에 추가적인 문자열을 넣어서 argparse_1, argparse_test 와 같이 사용해야 에러가 발생하지 않는다. 오류, 잘못된 점 또는 궁금한 점이 있으시다면 댓글 남겨주세요❗
![[Python] Argparse 모듈 사용법 및 Cli 옵션](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbWxEXc%2FbtrQUCgOiDA%2FAAAAAAAAAAAAAAAAAAAAACcJSB3H3aKSEwH6CDVt0VGWh9NLDwwb3GPrCuTPPr6q%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3DSL6zT8JagGl2tpGDvGHBDHBQWxw%253D)
[Python] Argparse 모듈 사용법 및 Cli 옵션
Argparse 모듈 Argparse 모듈은 Cli 를 통하여 Python 코드를 실행하는 경우 특정 옵션을 지정하고 옵션에 대한 값을 코드 내 인자로 전달가능하도록 하는 모듈이다. https://docs.python.org/ko/3/library/argparse.html argparse — 명령행 옵션, 인자와 부속 명령을 위한 파서 — Python 3.11.0 문서 argparse — 명령행 옵션, 인자와 부속 명령을 위한 파서 소스 코드: Lib/argparse.py The argparse module makes it easy to write user-friendly command-line interfaces. The program defines what arguments it requires, a..
[Crawling] 합법적인 Web Crawling 하는 법
웹 크롤링이란? 사전적 정의는 웹 페이지를 내 존재하는 데이터를 봇을 사용하여 검색하는 행위, 웹 상에 존재하는 데이터를 자동적으로 탐색하는 행위이다. 크롤링을 하는 가장 흔한 방법은 Python(Beautifulsoup, Selenium) 등이 존재한다. 개인적으로 Selenium을 주로 사용하고 Selenium과 관련된 포스팅은 다음과 같다. 2022.09.09 - [개발💻/Python] - [Python] Selenium 사용하기 [Python] Selenium 사용하기 왜 Selenuim을 사용하지?? 일반적으로 널리 알려진 BeautifulSoup 라이브러리를 사용해도 사이트의 다양한 정보를 추출할 수 있다. 하지만...BeautifulSoup에는 자바스크립트로 동적으로 생성된 정보는 가 bym..
![[Python] Shadow DOM 크롤링 - Selenium](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbclVBl%2FbtrP3kPDIDK%2FAAAAAAAAAAAAAAAAAAAAAAxiZjFQv5Gf_IbvEfTQWGE0ZSE0tyaBm9o-MMDB_z6g%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3D%252Ba1LjrHfx3%252Fy%252BMTAOPdoYCFjm5w%253D)
[Python] Shadow DOM 크롤링 - Selenium
Selenium No Such Element 에러 최근 Selenium을 사용하여 크롤러를 구축할 일이 생겨 평소와 같이 Xpath, Selector 등을 사용하여 구축을 시도하였다. 하지만, Selenium 사용 시 가장 흔한 에러인 selenium.common.exceptions.NoSuchElementException: Message:no such element:Unable to locate element:{"method":"css selector", "selector':"실제 사용한 구문" 에러가 발생하여 모든 방법을 동원해 수정하였으나 오류는 해결되지 않았다. 해당 에러를 해결하는 방법에는 클래스 명에 공백이 존재하여 공백 대신에 점(.)을 사용하여 해결, 로딩 시간으로 인한 오류를 방지하기 위..
![[Android] APK 파일 구조](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdlR8NE%2FbtrO91vWvGS%2FAAAAAAAAAAAAAAAAAAAAAAyoP-ied6_Ws2g7fZAMLqe4dS0iXdKzoBRarrBRQAba%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3DfJV0fs4U4OqV%252Fg50vd0azkaMbBU%253D)
[Android] APK 파일 구조
기존 APK 파일의 구조 포스팅 기존 해당 포스팅에서 APK 파일의 구조를 간략하게 설명하였으나 자세한 설명 및 공부가 필요하다고 생각하여 추가로 APK 파일에 대해 포스팅하였다. 2022.09.27 - [악성코드분석🍳/Android] - [Android] APK 파일 구조 및 분석 개요 [Android] APK 파일 구조 및 분석 개요 APK 란? 안드로이드 앱의 확장자로 Android Package Kit 의 줄임말이다. 인증을 위한 서명이 포함되어 있으며 ZIP 파일 형식으로 압축되어 있다. Windows OS에서 exe 파일과 동일하다. APK 구조 APK 구조는 크 bymalware.tistory.com APK 파일이란? APK 파일은 Android Package의 약자로 .apk 확장자를 가지..
[Python] 파이썬 주석 처리 하는 법 및 단축키(주석 처리 안될 때 해결법)
주석이란? 주석은 메모장과 같은 개념이다. 실제로 코드 런타임 도중 실행되지 않으며 주석 처리된 코드는 없는 것과 같은 코드가 된다. 주석 기능은 파이썬에만 존재하는 것이 아니라 프로그래밍 언어 대부분에 존재하며 주로 코딩 시 코드 설명에 사용하거나 백업용 소스코드를 남겨둘 때 사용한다.(개인적인 사용법) 파이썬 주석의 종류 1. 한줄 주석 # 테스트 코드 출력 print("test") # 원하는 코드 주석 처리 #print("test") print("#은 한줄만 주석 처리되는 것을 알 수 있음") '#' 을 입력할 경우 자동으로 주석 처리되며 주석 처리를 원하는 코드가 존재할 시 해당 코드에 커서를 두고 #을 누르게 되면 해당 코드(한줄)를 주석 처리할 수 있다. 2. 여러줄 주석 """ print("..

VMware(Windows 10 - 64bits) 악성 코드 분석 환경 구축(3)
VMware Windows 설치 이전 포스팅에서 Windows 설치까지의 방법 및 Microsoft 계정 우회하는 방법을 설명하였다. 2022.10.11 - [악성코드분석🍳/Windows] - VMware(Windows 10 - 64bits) 악성 코드 분석 환경 구축(2) VMware(Windows 10 - 64bits) 악성 코드 분석 환경 구축(2) VMware VM 생성 이전 포스팅에서 iso 파일 다운로드 후 실제 VM 을 생성하는 방법을 설명하였다. 2022.10.07 - [악성코드분석🍳/Windows] - VMware(Windows 10 - 64bits) 악성 코드 분석 환경 구축(1) VMware(Wind.. bymalware.tistory.com 정적 분석 실제 정적 분석 시 가장 많이 ..

VMware(Windows 10 - 64bits) 악성 코드 분석 환경 구축(2)
VMware VM 생성 이전 포스팅에서 iso 파일 다운로드 후 실제 VM 을 생성하는 방법을 설명하였다. 2022.10.07 - [악성코드분석🍳/Windows] - VMware(Windows 10 - 64bits) 악성 코드 분석 환경 구축(1) VMware(Windows 10 - 64bits) 악성 코드 분석 환경 구축(1) VMware 란? 단 1대의 컴퓨터로 여러 대의 가상 PC를 사용할 수 있게 해주는 프로그램이다. 악성코드 분석 시 주로 동적분석할 때 사용하며 정적 분석은 일반적으로 로컬 PC에서 진행한다. VMware 내 동 bymalware.tistory.com VM 생성 이후 Windows 설치 VM 생성까지 정상적으로 진행했다면 "Power on this virtual machine" ..

VMware(Windows 10 - 64bits) 악성 코드 분석 환경 구축(1)
VMware 란? 단 1대의 컴퓨터로 여러 대의 가상 PC를 사용할 수 있게 해주는 프로그램이다. 악성코드 분석 시 주로 동적분석할 때 사용하며 정적 분석은 일반적으로 로컬 PC에서 진행한다. VMware 내 동적 분석을 하면서 악성 코드 후 모습을 하기 위해서는 실행이 필수적인데 Snapshot 기능을 사용하여 사용자가 원하는 시점(감염 점, 디버거 특정 시점 등)으로 돌아갈 수 있다. VMware 설치 구글 창에 vmware workstation 16 pro 를 검색하여 vmware 공식 사이트에 접속한다. 이후 Windows 용 Workstation 16 Pro 다운로드를 시작한다. 이후 Installer 에서 모두 Next 를 눌러 설치를 진행해도 상관없으므로 모두 Next 를 누르고 Licens..
![[Python] 가상 환경 사용하기(venv)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdKKlVN%2FbtrNOeQs6cX%2FAAAAAAAAAAAAAAAAAAAAAKTaKkAgrUYOWug_uWhdaYNk3GxXHR4XLcnoim5Gr3fd%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1761922799%26allow_ip%3D%26allow_referer%3D%26signature%3DqUFXjZEfZRLg2D%252FJgA1a5nRsBG0%253D)
[Python] 가상 환경 사용하기(venv)
가상 환경이란? 단어 그대로 가상으로 생성하는 환경이다. 실제 여러가지 프로젝트를 진행하다 보면 패키지(라이브러리)의 버전 문제로 인해 정상적으로 실행되지 않는 경험들을 할 것이다. 만약 특정 프로그램에서 어떤 패키지의 요구 버전이 1.7인데 현재 1.8 버전을 사용 중이라면 다운그레이드 후 프로젝트가 끝나면 다시 1.8로 업그레이드를 해야 하는 번거로움이 발생할 것이다. 이러한 문제를 해결하기 위해 프로젝트 별로 독립된 가상 환경을 사전에 구축하여 사용하는 것이 더 좋은 방법이라고 생각한다. 가상 환경 생성 이전 버전의 파이썬에서는 다음과 같은 명령어를 사용하여 별도의 설치 과정이 필요하다. pip install virtualenv 하지만, 파이썬 3.3 이상의 버전은 venv 모듈이 자체적으로 내장되..