python 파충류 의 빠 른 js 내용 해독
일반적으로 js 해 제 는 두 가지 방법 이 있 는데 하 나 는 Python 으로 js 논 리 를 다시 쓰 는 것 이 고 하 나 는 제3자 라 이브 러 리 를 이용 하여 js 내용 을 호출 하여 결 과 를 얻 는 것 이다.이 두 가지 방법 은 각각 장단 점 이 있 고 첫 번 째 방법 은 성능 이 좋 지만 js 와 Python 에 대한 요구 가 비교적 높다.두 번 째 방법 은 빠 르 고 편리 하 며 복잡 한 js 암호 화 에 효과 가 있다.이번에 우 리 는 제3자 창고 로 js 해 제 를 진행 할 것 이다.
목표 사이트
이번 사 이 트 는[기업 명함]으로 사이트 가 전 시 된 데 이 터 를 암호 화 했 기 때문에 직접 찾 아 도 찾 을 수 없다.
목표 url:https://www.qimingpian.com/finosda/project/pinvestment
js 분석 디 버 깅 도구
js 를 분석 하고 디 버 깅 하 는 브 라 우 저 는 반드시 구 글 브 라 우 저 를 사용 해 야 한다.이 걸 로 디 버 깅 테스트 를 하 는 것 은 정말 편리 하 다.우선 F12 를 누 르 면 개발 자 도 구 를 열 고 network 옵션 을 선택 하고 preserve log 옵션 을 선택 한 다음 사이트 URL 을 입력 하여 가방 을 잡 습 니 다.이때 당신 은 웹 페이지 소스 코드 에 내용 이 전시 되 어 있 지 않 고 검색 에서 도 우리 가 본 내용 을 찾 을 수 없다 는 것 을 알 게 될 것 입 니 다.그것 은 웹 페이지 의 내용 이 암호 화 되 어 처리 되 었 다 는 것 을 설명 합 니 다.
이때 가방 마다 수상 한 내용 이 있 는 지 하나씩 볼 수 있 습 니 다.물론 우 리 는 xhr 의 내용 을 먼저 봅 니 다.한눈 에 안에 encrypter 가 있 음 을 알 수 있 습 니 다data 라 는 데 이 터 는 보기에 매우 비슷 하 다.
우리 ctrl 플러스 shift 플러스 f 키 검색 encryptdata,첫 번 째 js 의 encrypt 를 찾 습 니 다data 내용,그리고 아래 return e.encryptdata 라 는 줄 에서 정지점 을 쳐 서 이것 이 어떤 내용 인지 보 세 요.일반적으로 우리 가 return 을 검색 할 때 우리 가 검색 한 내용 은 모두 정지점 을 쳐 서 보아 야 한다.십중팔구 떨 어 지지 않 는 다)
정지점 을 찍 은 후 페이지 를 새로 고침 하여 관찰 합 니 다.e.encrypt 을 선택 하 십시오.data 오른쪽 단 추 를 누 르 면 콘 솔 에 무엇이 있 습 니까?이것 을 누 르 면 우리 가 선택 한 내용 이 무엇 인지 아래 에 나타 납 니 다.그리고 뒤에 있 는 Object(d.a)(e.encryptdata)같은 방법 으로 시도 해 보 니 웹 페이지 의 내용 이 없 군요.
여기 서 우리 가 걸 었 던 정지점 에 주의해 야 합 니 다.한 번 누 르 면 위의 절 차 를 반복 하면 Object(d.a)(e.encryptdata)이게 우리 가 원 하 는 내용 이 잖 아!e.encrypt_data 이게 바로 우리 xhr 에 있 는 그 encryptdata,Object(d.a)는 함수 입 니 다.바로 이 함수 가 내용 을 암호 화 했 습 니 다.우 리 는 이 함수 만 풀 면 됩 니 다.
Object(d.a)를 선택 하면 어디 에 나타 나 는 지 클릭 하고 건 너 뜁 니 다.함수 가 json 대상 으로 되 돌아 간 것 을 발견 할 수 있 습 니 다.이 반환 결 과 는 s 함수 1 개 를 포함 하고 매개 변수 에는 a.a.decode(t)라 는 변수 만 있 으 며 나머지 는 상수 입 니 다.
모든 우 리 는 같은 방법 으로 s 함수 의 구체 적 인 내용 과 a.a.decode()라 는 함수 의 구체 적 인 내용 을 찾 습 니 다.방법 은 우리 가 return JSON.parse 에서 점 을 다시 끊 고 정지점 의 다음 단 계 를 클릭 한 다음 에 상기 함수 의 내용 을 찾 는 것 이다.
s 함수
a.a.decode()
웹 storm 편집 기 를 이용 하여 상기 함 수 를 실행 하여 디 버 깅 을 진행 합 니 다.
1.우선 우 리 는 Nodejs 를 설치 하고 홈 페이지 에 가서 설 치 를 다운로드 합 니 다.이것 은 js 환경 입 니 다.이것 은 스스로 설치 튜 토리 얼 을 검색 하 세 요.여 기 는 더 소개 할 뿐 입 니 다.
2 웹 스 톰 설치 후 활성화 되 며 튜 토리 얼 인터넷 이 많 습 니 다.여러분 이 직접 검색 하 세 요.그것 의 사용 방식 은 PyCharm 과 매우 유사 하 다.
우 리 는 위 에서 필요 로 하 는 함 수 를 모두 떼 어 웹 스 톰 에 넣 고 실행 합 니 다.어떤 함수 에 정 의 된 인자 가 있 는 지 주의 하 세 요.이런 몇 마디 를 만나면 구 글 브 라 우 저 에서 하나씩 찾 으 면 됩 니 다.보통 상수 가 많아 서 바로 교체 합 니 다.
그 다음 에 우 리 는 상기 방법 을 호출 하면 데 이 터 를 정상적으로 얻 을 수 있 습 니 다.여기 js 의 일부 방법 은 제 가 이름 을 바 꾸 었 습 니 다.주의 하 세 요.다음은 일부 코드 세 션 입 니 다.
마지막 으로 Python 으로 복호화 함 수 를 호출 하면 됩 니 다.여 기 는 사이트 보호 때문에 전체 코드 를 직접 붙 이지 않 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.