arca live 심야식당 자동복호화

심야식당내 base64코드 자동복호화

2022-11-09 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         arca live 심야식당 자동복호화
// @namespace    http://tampermonkey.net/
// @version      0.226
// @description  심야식당내 base64코드 자동복호화
// @author       SYJ
// @match        https://arca.live/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=arca.live
// @grant        none
// @license MIT
// ==/UserScript==

function doDecode() {
    ///'use strict';
    const article = document.querySelector("body div.article-body > div.fr-view.article-content");

    function dec(reg)
    {
        try
        {
            while (reg.test(article.innerHTML))
            {
                let decoded = reg.exec(article.innerHTML)[0];
                while (decoded.match(/aHR0c[0-9A-Za-z]{8,}[=]{0,2}/) == null)
                {
                    decoded = atob(decoded);
                }

                decoded = atob(decoded); console.log(decoded);
                article.innerHTML = article.innerHTML.replace(reg, `<a href=${decoded} target='_blank' rel='noreferrer'>${decoded}</a>`);
            }
        }
        catch(e)
        {
            console.log(e,article);
        }
    }
    dec(/aHR0c[0-9A-Za-z]{20,}[=]{0,2}/); //aHR0c:1회인코딩된것.
    dec(/YUhSMGN[0-9A-Za-z]{80,}[=]{0,2}/); //YUhSMGN:2회인코딩된것.
    dec(/[0-9A-Za-z]{30,}[=]{1,2}/); //문자열 30회 + '=' 1~2회
    dec(/[0-9A-Za-z]{200,}[=]{0,2}/); //문자열 200회 + '=' 0~2회
}
window.addEventListener('load',doDecode);