"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 웹 스크래핑에서 JavaScript deobfuscation 이해

웹 스크래핑에서 JavaScript deobfuscation 이해

2025-03-25에 게시되었습니다
검색:235

Understanding JavaScript Deobfuscation in Web Scraping

웹 스크래핑에는 종종 웹 사이트에서 데이터를 추출하는 것이 포함되지만 많은 경우에는 어려울 수 있습니다. 웹 사이트에서 사용하는 난독 화 기술로 인해 필요한 데이터는 직접 액세스 할 수 없습니다.

JavaScript Obfuccation , 특히 JavaScript를 사용하여 스크래핑 프로세스를 더욱 어렵게 만드는 데 사용되는 방법입니다.

이 기사에서는 JavaScript deobfuscation, Web Scraping에서 중요한 이유 및 처리 방법에 대해 논의 할 것입니다.

웹 스크래핑에서 JavaScript Obfuccation은 무엇입니까?

JavaScript Obfuccation 는 인간이나 자동 도구에 의해 코드를 해석하기 어렵게 만드는 기술입니다. 웹 사이트는 종종 데이터를 보호하기 위해 JavaScript를 난독 화하거나 웹 스크래핑 시도를 방해합니다.

일반적인 난독 화 기술은 다음을 포함 할 수 있습니다.

  • 데이터 인코딩 : 문자열, URL 또는 민감한 데이터는 base64 또는 기타 인코딩 방법을 사용하여 암호화되거나 인코딩됩니다.

  • 제어 흐름 난독 화
  • : 코드 실행 순서는 프로그램의 논리와 흐름을 따르기가 더 어려워 질 수 있습니다.
  • minification
  • : 불필요한 공백과 댓글이 제거되어 가독성을 줄이고 코드 크기를 줄이기 위해 댓글이 제거됩니다.

    JavaScript Obfuscation의 간단한 예는 다음과 같습니다.
  • 원래 JS 코드 :

    ProductPrice = 29.99를하자; ProductName = "무선 마우스"를하자; 함수 displayProductInfo () { Console.log ( "제품 이름 :"ProductName); Console.log ( "가격 : $"ProductPrice); } DisplayProductInfo ();

    난독 화 된 JS 코드 :
  • var _0x1a2b3c =

    ; _0x4c3b1a = 29.99를하자; _0x6d24f5 = "무선 마우스"; 함수 _0x44a5bc () { 콘솔 [_0x1a2b3c [1]] (_ 0x1a2b3c [0] _0x6d24f5); 콘솔 [_0x1a2b3c [1]] (_ 0x1a2b3c [2] _0x4c3b1a); } _0x44a5bc (); JavaScript 코드는 요청을 변경하거나 추가 데이터를로드하거나

    dom (문서 개체 모델)
  • 가 추적하기가 더 어려워지는 방법을 관리 할 수 ​​있습니다.

이것은 JavaScript deobfuscation이 들어오는 곳입니다!

JavaScript deobfuscation이 중요한 이유는 무엇입니까?

let productPrice = 29.99;
let productName = "Wireless Mouse";

function displayProductInfo() {
    console.log("Product Name: "   productName);
    console.log("Price: $"   productPrice);
}

displayProductInfo();
deobfuscation

는 많은 웹 사이트가 폐기물을 방지하기 위해 난독 화 기술에 의존하기 때문에 필수적입니다. 이러한 방어를 우회하려면 웹 스크레이퍼는 난독 화 과정을 뒤집어 야합니다. Deobpuscation이 없으면 스크레이퍼는 중요한 정보를 놓치거나 동적 요소와 올바르게 상호 작용하는 데 어려움을 겪을 수 있습니다.

var _0x1a2b3c = ["\x57\x69\x72\x65\x6C\x65\x73\x73\x20\x4D\x6F\x75\x73\x65", "\x4C\x65\x74\x20\x70\x72\x6F\x64\x75\x63\x74\x50\x72\x69\x63\x65", "\x24"];
let _0x4c3b1a = 29.99;
let _0x6d24f5 = "Wireless Mouse";

function _0x44a5bc() {
    console[_0x1a2b3c[1]](_0x1a2b3c[0]   _0x6d24f5);
    console[_0x1a2b3c[1]](_0x1a2b3c[2]   _0x4c3b1a);
}

_0x44a5bc();

난독 화 된 JavaScript 코드와 상호 작용

: 난독 화 기술을 역전시킴으로써 복잡한 JavaScript 코드를 더 잘 이해하고 상호 작용하여 숨겨져 있거나 조작 된 콘텐츠에 액세스 할 수 있습니다.

반격 조치를 우회합니다.

JavaScript deobfuscation은 어떻게 작동합니까?

    다음은 JavaScript를 deobfuscation에 대한 일반적인 접근법입니다.
  • 자동화 된 deobpuscators
  • : JSDetox 또는 DE4JS와 ​​같은 도구는 일반적인 난독 화 패턴을 감지하고보다 읽기 쉬운 코드로 역전시켜 프로세스를 자동화하는 데 도움이 될 수 있습니다.
  • 디버깅 도구
  • : 웹 스크래핑 개발자는 브라우저 개발자 도구를 사용하여 JavaScript 코드를 통해 실행을 관찰 할 수 있습니다. 이것은 스크립트가 페이지를 조작하는 방법을 추적하거나 서버와 통신하는 방법을 추적하는 데 도움이됩니다.
  • 난독 화 된 자바 스크립트를 다루기위한 솔루션

헤드리스 브라우저

: Puppeteer 또는 Playwright와 같은 도구는 JavaScript-Heavy 웹 사이트를 다루는 데 도움이됩니다. 이 헤드리스 브라우저는 JavaScript를 실행하고 스크레이퍼가 실제 사용자 인 것처럼 페이지와 상호 작용하여 복잡한 난독 화 기술을 우회하는 데 도움이됩니다.

CloudFlare 해결 방법

: 일부 웹 사이트는 CloudFlare를 사용하여 스크래핑을 방지합니다. 스크레이퍼는 사용자 에이전트 헤더를 회전 시키거나 JavaScript 문제를 해결하여 CloudFlare의 방지 방지 보호를 우회 할 수 있습니다. 가장 일반적인 것은 CloudFlare JS Challenge입니다.

  • 동적 데이터 스크래핑 : 많은 스크래핑 도구는 JavaScript-Heavy 웹 사이트에서 사용자 동작을 복제하도록 설계되어 동적 콘텐츠를로드하기 위해 버튼이나 드롭 다운과 같은 요소와 상호 작용할 수 있습니다.

  • 결론 JavaScript deobfuscation은 웹 스크래핑에 중요하므로 난독 화 기술을 우회하고 필요한 데이터에 액세스 할 수 있습니다. 수동 Deobfuscation은 시간이 많이 걸릴 수 있지만 자동화 된 도구와 헤드리스 브라우저는 프로세스를보다 효율적으로 만듭니다.

릴리스 선언문 이 기사는 https://dev.to/pragativema18/understanding-javascript-deobfuscation-in-web-scraping-5c2f?1에서 재현됩니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3