BlackBoard 온라인 폭력 예방 교육 스킵

Blog Image

연구실 안전교육에 이어 귀찮은게 왔습니다.

연구실 안전교육은 저희 학교는 스킵 코드가 널리 퍼져있지만,

이건 아니라서 컴공답게 해결해보려고 합니다.

이 게시글은 UNIST 2026년 온라인 폭력 예방 교육 / 2026 Online Violence Prevention Education 바탕으로 작성되었습니다.

1. 영상 페이지 진입

  • 재생 버튼은 안 눌러도 됩니다.
Blog Image

2. 개발자 모드 열기

  • Window : F12
  • Mac : Cmd + Opt + I
Blog Image

위 사진처럼 이상한 내용이 보입니다.

3. Console 탭 클릭

  • 상단 메뉴 중 '콘솔(Console)'을 누릅니다.
Blog Image

4. ScormContent 선택

Blog Image
  • 콘솔 창 왼쪽 상단에 있는 top 드롭다운을 누릅니다.
  • 아래로 스크롤 해서 ScormContent (index.html) 혹은 영상 주소가 포함된 항목을 선택합니다.

5. 코드 붙여넣기

  • 아래 코드를 복사해서 콘솔 창에 붙여넣고 Enter를 누르면 1초가 남아있습니다.
  • 재생 누르면 완료됩니다.
javascript
// 1. 감시 변수를 비디오 전체 길이로 설정 scorm.maxWatchedTime = document.querySelector('video').duration; // 2. 비디오 시간을 끝으로 이동 document.querySelector('video').currentTime = document.querySelector('video').duration - 1;

💡 만약 콘솔에 붙여넣기가 안 된다면? → 브라우저 보안 때문

allow pasting이라고 직접 타이핑하고 엔터를 한 번 친 뒤 다시 시도하세요.

  • 위 코드가 시스템상 잘 안 먹힌다면, 물리적으로 가장 빠른 속도인 16배속으로 돌려버리면 됩니다.
javascript
document.querySelector('video').playbackRate = 16.0;


이후 퀴즈는 GPT 돌리면 모두 답할 수 있습니다.

CBCDD / ACDAC / DACAA / DCD

한문제가 틀렸다고 나오지만, 가볍게 무시해줍니다.

오히려 GPT가 맞고, 여기 답이 틀려있는 것 같은데?


왜 그냥 스킵(currentTime)은 안 될까?

  • 보통 많이 쓰는 아래 코드는 이 시스템에서 통하지 않습니다.
  • (연구실 안전교육은 이 방식도 가능)
javascript
const video = document.querySelector('video'); video.currentTime = video.duration;
Blog Image

이렇게 하면 바로 "앞으로 건너뛰기는 허용되지 않습니다"라는 경고가 뜨며 제자리로 돌아오죠.

Blog Image

소스 코드 scorm_api.js 를 뜯어보면 scorm.maxWatchedTime이라는 변수가 범인입니다.

이 변수가 우리가 본 지점을 실시간으로 기록하고 있습니다.

현재 시간 > 기록된 최대 시간 + 1 이라면? → 스킵 감지

그렇다면 우리는?

우리는 이 감시 기준점(maxWatchedTime) 자체를 영상 전체 길이로 먼저 조작해버려서

시스템이 "아, 얘는 이미 끝까지 다 본 애구나!"라고 착각하게 만든 것입니다.