Systems TrackFeatured

비공개 입시 데이터 디코더 (Private R&D)

특정 외부 입시 데이터 플랫폼의 CSS-class 숫자 난독화를 역공학으로 복원하는 추출·정규화 파이프라인 (대상 서비스 비공개).

PersonalDuration 4주Contribution 100%2025-122025-12
Key Metric: 난독화 패턴 77개 자동 매핑 · MV3 + Selenium 이중 경로
Engineering Role
FullstackFrontendSystems
Systems Track
비공개 입시 데이터 디코더 (Private R&D)
SYS
#Web#Frontend#Backend#Python

Overview

비공개 외부 입시 정보 플랫폼이 페이지에 노출하는 숫자를 의미 없는 CSS 클래스명(예: "HJKP", "UJOL" 형태)으로 시각적 난독화한 것을 역공학으로 복원해, 학과·대학 메타데이터와 함께 구조화 JSON/CSV로 추출하는 파이프라인. Chrome Extension (Manifest v3) + Python Selenium 하이브리드. 네트워크 응답 가로채기를 1차 경로로, DOM 파싱을 fallback 으로 사용해 100% 정확도 추출. 5+ 인코딩 변형을 자동 매핑(digitalL/M/R/T/X/Y 계열, 77개 패턴) 라이브러리로 정리. 어디까지나 구조 분석·연구 목적의 개인 R&D — 대상 서비스명은 비공개.

My Work

  • 난독화 클래스명 → 숫자 매핑 테이블 자동 추론 알고리즘 설계
  • Chrome Extension MV3 — content script + injected script + popup 3계층
  • Python Selenium + CDP(Chrome DevTools Protocol) 스텔스 프로파일
  • DOM 변경 내성 셀렉터 패턴 + 셀프 헬스체크
  • 배포용 obfuscation 빌드 파이프라인 + Silent Expiry System

Features

  • 원클릭 Chrome Extension UI (popup → 추출 → CSV 다운로드)
  • 브라우저 콘솔 단일 파일 디코더 (929 LOC) — 복붙 모드
  • Selenium 기반 배치 크롤러 (세션 영속화)
  • postMessage 기반 injected → content script 데이터 브리지
  • 대화형 매핑 도구 — 신규 난독화 패턴 자동 발견
  • Excel-ready CSV (대학·학과·시각 메타데이터 포함)

Highlights

  • CSS-class 기반 숫자 난독화 역공학 (77개 패턴 매핑, 100% 정확도)
  • 네트워크 인터셉트(1차) + DOM 파싱(fallback) 이중 경로
  • Manifest v3 Chrome 확장 + Python Selenium 하이브리드
  • Chrome 사용자 프로파일 영속화 — 재인증 마찰 제거
  • 대학/학과 메타데이터 자동 추론 (regex 휴리스틱)
  • 배포 번들 — 코드 난독화 빌드 + 만료/라이선스 시스템

Timeline

2025-122025-12
Role: 단독 리서치 · 구현
Contribution: 100%
Collaboration: Personal

Tech Stack

</>Chrome Extension MV3 · Selenium · CSS 난독화 역공학

Chrome Extension (Manifest v3)JavaScriptPython 3Selenium 4Chrome DevTools ProtocolpostMessage IPCRegexJSON / CSV