Skip to content

Instantly share code, notes, and snippets.

@RauliL
Created August 5, 2020 10:51
Show Gist options
  • Save RauliL/1c244e396d84b80e4afc0b7b06aeb683 to your computer and use it in GitHub Desktop.
Save RauliL/1c244e396d84b80e4afc0b7b06aeb683 to your computer and use it in GitHub Desktop.
Deobfuscated Turkuraattori
export default class Raattori {
constructor() {
this.sanat = {
minä: "mää",
sinä: "sää",
minäkin: "määki",
sinäkin: "sääki",
tämä: "tää",
tuo: "toi",
nuo: "noi",
he: "ne",
hän: "se",
minulla: "mulla",
minulle: "mulle",
sinulla: "sulla",
sinulle: "sulle",
katso: "kato",
myrsky: "myteri",
laituri: "möljä",
asti: "astikka",
saakka: "astikka",
avata: "avasta",
aukaista: "avasta",
avanto: "avento",
ilta: "ehtoo",
illalla: "ehtoolla",
iltaisin: "ehtoisin",
ei: "varmaankaa",
en: "varmaankaa",
ensin: "ensistää",
erinomainen: "ernomane",
puistokatu: "espenaati",
haalistunut: "haljastunu",
haalistuu: "haljastuu",
hautausmaa: "hautuumaa",
näkemiin: "heiny",
hella: "helli",
liesi: "helli",
hiha: "hia",
ikuisesti: "iankaike",
irti: "irki",
kun: "jakka",
kastike: "kasti",
kastiketta: "kastia",
hihat: "hiat",
hiihtää: "hihtää",
ymmärrätkö: "honaatko",
ymmärtää: "honata",
aikaisin: "aikasee",
varhain: "aikasee",
ikkuna: "akkuna",
alushousut: "aluhousut",
kuka: "kekä",
ketkä: "kekkä",
kiire: "kiiru",
kipinä: "kipuna",
kokeilla: "koklata",
kokeile: "koklaa",
kokeilu: "koklaus",
hame: "kolttu",
leninki: "kolttu",
kaunis: "koree",
kotiin: "kotio",
kotoa: "kotsasta",
kumi: "kummi",
kumpi: "kumpanenko",
kuinka: "kunka",
kyllä: "kyä",
leipä: "kyrsä",
pulla: "käntty",
pullaa: "känttyä",
ymmärrän: "kässään",
lajia: "laija",
kirjasto: "lainasto",
lampi: "lammi",
lauantai: "lavvantai",
tyttö: "likka",
nainen: "likka",
lukko: "lukku",
lukkoon: "lukkuun",
lukossa: "lukussa",
reikä: "läpi",
kiekko: "lötä",
melkein: "melkee",
lähes: "melki",
miten: "millai",
millainen: "mimmone",
mitali: "mitalli",
miksi: "mitävaste",
mukana: "muassa",
neljä: "neliä",
niin: "nin",
ohut: "ohkane",
ohuen: "ohkase",
ohutta: "ohkasta",
oikein: "oikee",
lainkaan: "ollenka",
odottaa: "ortsia",
odota: "ortsi",
peruna: "perna",
pipo: "pipa",
pelti: "pelli",
sarana: "saranta",
taksi: "pirssi",
pysäyttää: "pisättää",
pysäytä: "pisätä",
pysäytti: "pisätti",
pois: "poijes",
nyt: "ny",
puolella: "puale",
pyyhe: "pyhje",
sunnuntai: "pyhä",
sunnuntaina: "pyhänä",
sunnuntaisin: "pyhäsi",
matka: "reisu",
kaulus: "revelli",
kaulukset: "revellit",
lakki: "räysä",
lanttu: "räätikkä",
deodorantti: "rörö",
saippua: "saipua",
kutistua: "sikistyä",
kutistunut: "sikistyny",
siten: "sillai",
silloin: "sillo",
siellä: "siä",
suinkaan: "sunka",
kesä: "suvi",
kesänä: "suvena",
kesällä: "suvella",
lapanen: "tumppu",
lapaset: "tumput",
savuke: "tupakki",
savukkeen: "tupakin",
luokse: "tykö",
tänään: "tänäpänä",
täällä: "täälä",
monta: "usiampi",
moni: "usiampi",
valita: "valkata",
baskeri: "vausti",
vaatteet: "vermeet",
ilmeisesti: "vissii",
yhä: "viä",
vielä: "viä",
yli: "ylitte",
äiti: "äite",
heikko: "heiko",
sukset: "hikilaurat",
huuhdella: "huiluttaa",
huuhtelu: "huilutus",
kruuna: "aa",
klaava: "ii",
kruunaa: "aata",
klaavaa: "iitä",
ilmaiseksi: "ilmatteeks",
ilmainen: "ilmane",
"linja-auto": "linjuri",
jotkut: "jokku",
kapea: "kapone",
poikki: "katki",
kauan: "kavvan",
kevyt: "köyköne",
kalju: "lani",
kolo: "loko",
laatikko: "loora",
nukkumaan: "maate",
ohi: "sivutte",
työntää: "tönää",
työnnä: "tönää",
vauva: "vavva",
eräs: "yks",
bussi: "onnikka",
};
this.paatteet = {
ään: "ää",
aan: "aa",
een: "ee",
iin: "ii",
oon: "oo",
uun: "uu",
yyn: "yy",
öön: "öö",
nyt: "ny",
};
this.randomit = [
"anskattoonny",
"hälläkössevväliä",
"nääs",
"kattos ny",
"meinaan",
"näino",
"kattonnääs",
"ei sempualee",
"totanoinni",
];
}
raattoroi(a) {
var e = !1;
a = a.toString("utf-8");
var n = this.getWords(a),
t = [],
r = !0,
i = !1,
s = void 0;
try {
for (
var l, o = n[Symbol.iterator]();
!(r = (l = o.next()).done);
r = !0
) {
var m = l.value;
e &&
((m = m.replace(m.trim(), this.lowerFirstLetter(m.trim()))),
(e = !1));
var u = this.getReplace(m);
u && (m = this.replaceWord(m, u)),
(m = this.replaceEnding(m)),
(m = this.additionalProcess(m)),
t.push(m);
var p = this.postProcess(m);
p && this.isFirstCapital(p) && (e = !0), p && t.push(p);
}
} catch (a) {
(i = !0), (s = a);
} finally {
try {
!r && o.return && o.return();
} finally {
if (i) throw s;
}
}
return t.join("");
}
getReplace(a) {
return void 0 === this.sanat[a.trim().toLocaleLowerCase()]
? null
: this.sanat[a.trim().toLocaleLowerCase()];
}
replaceEnding(a) {
for (var e in this.paatteet) {
var n = new RegExp(e + "$", "g");
if (a.match(n)) return a.replace(n, this.paatteet[e]);
}
return a;
}
getWords(a) {
return a.split(new RegExp("(?=^|$|[^\\p{L}])"));
}
replaceWord(a, e) {
var n = a.trim();
n[0] === n[0].toUpperCase() && (e = this.capitalizeFirstLetter(e));
var t = a.replace(n, e);
return t;
}
isFirstCapital(a) {
return (a = a.trim()), a[0] === a[0].toUpperCase();
}
capitalizeFirstLetter(a) {
return a.charAt(0).toUpperCase() + a.slice(1);
}
lowerFirstLetter(a) {
return a.charAt(0).toLowerCase() + a.slice(1);
}
customProcess(a) {
return a;
}
postProcess(a) {
if (Math.random() >= 0.083) return null;
var e = this.randomit[Math.floor(Math.random() * this.randomit.length)];
return ("." !== a && a) || (e = this.capitalizeFirstLetter(e)), " " + e;
}
additionalProcess(a) {
return (
(a = a.replace("D", "R")),
(a = a.replace("d", "r")),
(a = a.replace("g", "k")),
(a = a.replace("G", "K")),
(a = a.replace("b", "p")),
(a = a.replace("B", "P")),
(a = a.replace("z", "s")),
(a = a.replace("Z", "S")),
(a = a.replace("q", "k")),
(a = a.replace("Q", "K")),
(a = a.replace("yö", "yä")),
(a = a.replace("uo", "ua")),
(a = a.replace(/\bpr/, "r")),
(a = a.replace(/\bPr/, "R"))
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment