본문 바로가기
728x90

ETC51

윈도우 환경에서 git과 github 설치 및 설정 GIT은 리누스 토르발스가 개발한 분산형 버전 관리 시스템이다. git을 쓰는 이유는 무엇일까? 예를 들어보자. A라는 회사가 B라는 프로그램을 만들었다. B의 현재 버전은 0.0.0이다. 프로그램을 수정할 부분이 있어 다같이 열심히 프로그래밍을 해서 0.0.1로 수정했는데, 갑자기 오류가 나버린 것이다. B를 다시 0.0.0 상태에서 시작하면 좋으려만, 백업을 해둔게 없고 여러명이 함께 프로그래밍을 하여 자기가 무엇을 어떻게 수정했는지도 기억이 안나는 상태이다. 그렇게 프로그램 B는 망해버렸다. 이 처럼 분산형 버전 관리는 개발자에게 유지 보수 및 개발을 하기 위해 반드시 필요한 존재이다. 그렇다면 GIT을 사용하면 무엇이 가능할까 1. 병렬 개발이 가능해진다 2. 언제든지 지난 개발 시점으로 돌아갈 .. 2020. 7. 11.
Daum Login with Python requests 1(소스코드) Naver에 이은 Daum Login 분석 및 프로그래밍이다. 다음 로그인을 하고 네트워크로 분석을 해봤더니 이 POST가 핵심적 로그인을 수행하는 것 같았다.https://logins.daum.net/accounts/srp.do?slevel=1&rid=****&srplm1=****이 주소는 POST DATA를 보내는데 다음과 같은 DATA를 보낸다. id는 로그인 시 아이디 RAW한 상태이고 우리는 fuid와 rid srplm만 알면 로그인을 수행할 수 있을 것 같다.네트워크에서 fuid를 검색하였더니 https://logins.daum.net/accounts/signinform.do?url=https%3A%2F%2Fwww.daum.net%2F에서 fuid를 찾을 수 있었다. fuid는 get으로 윗 .. 2020. 7. 9.
온라인 js 파일가독성 좋게 만들기 Crawling을 하다가 js를 분석해야 할 상황에서 js파일을 열어보면 다음과 같이 가독성이 매우 떨어지는 상황이 벌어지곤 한다. 이렇게 되어있는 js 파일은 아무리 프로그래밍을 오래했고 잘한다고 해도 js 파일의 보안적 특성상 변수를 보고 유추하기도 힘들다. 그렇다면 우리는 이 파일을 어떻게 가독성이 좋게 만들 수 있을까? 검색해서 찾아보던 중 js 파일을 https://beautifier.io/ 사이트에서 가독성 좋게 바꿔준다는 것을 알게 되었다. 사이트에 들어가면 다음과 같은 화면이 나온다. 사이트 이름에서 알 수 있듯이 JS 파일을 이쁘게 만들어주는(가독성있게 만드는) 사이트이다. Beautify Code아래 빈칸에 가독성 좋게 만들고 싶은 소스코드를 복사해서 붙여넣기 하면 된다. 그런 다음 B.. 2020. 7. 9.
Naver Login with Python requests 2(소스코드) 이번 글에서는 Naver Login을 완성시킬 예정이다. 저번글 보기 encpw는 16진수이기때문에 rsa.encrypt 후 hex()를 사용하여준다.완성된 encrypt function은 다음과 같다.def encrypt(naver_id, naver_pw): key_str = requests.get('https://nid.naver.com/login/ext/keys.nhn').content.decode("utf-8") sessionkey , Keyname, evalue, nvalue = key_str.split(',') evalue, nvalue = int(evalue, 16), int(nvalue, 16) pubkey = rsa.PublicKey(evalue, nvalue) message = [ses.. 2020. 7. 9.
Naver Login with Python requests 1(소스코드) selenium으로 네이버 로그인을 하는 경우가 많은데 requests를 이용하여 login을 하려고 한다. NAVER에서 로그인 후 개발자 모드 기능을 통해 확인해보면 https://nid.naver.com/nidlogin.login 에서 POST를 보내는데 ID와 PW는 빈칸이고 encpw와 bvsd가 가득차있다. encpw가 무엇인지 알기 위해 개발자모드에서 검색한결과 https://nid.naver.com/login/js/default/common200225.js?20200424에서 function encryptIdPwSplit() { var id = $("id"); var pw = $("pw"); var encpw = $("encpw"); var rsa = new RSAKey; if (keySp.. 2020. 7. 8.
msvcp140.dll or msvcp140_1.dll 오류 해결법 프로그래밍을 하거나 특정 프로그램을 실행시킬때 msvcp140.dll 오류나 msvcp140_1.dll 오류가 발생한다. 필자는 tensorflow를 설치하고 사용하려고 하던 중 다음과 같은 에러가 발생했다. ImportError: Could not find the DLL(s) 'msvcp140.dll or msvcp140_1.dll'. TensorFlow requires that these DLLs be installed in a directory that is named in your %PATH% environment variable. 해결법 1(런타임 패키지 설치) 첫번째 방법은 런타임 패키지를 설치하는 방법이다. https://www.microsoft.com/ko-kr/download/detail.. 2020. 7. 8.
728x90