Help
RSS
API
Feed
Maltego
Contact
Domain > lab.hancomtaja.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-06-17
3.170.91.12
(
ClassC
)
2026-01-30
3.163.24.38
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Fri, 30 Jan 2026 12:46:43 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://lab.hancomtaja.com/X-Cache: Redirect from cloudfrontVia: 1.1 cadda06365c5592c0d0a272a3fe5825e.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P2X-Amz-Cf-Id: Oy0ofWpkDNwuOXNJE2SJxDj46wTJLqteyqctk_4PPPqwghSv6pBotQ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 10521Connection: keep-aliveLast-Modified: Wed, 10 Dec 2025 21:08:44 GMTx-amz-server-side-encryption: AES256Accept-Ranges: bytesServer: AmazonS3Date: Fri, 30 Jan 2026 04:06:26 GMTETag: ea3109e28853ee565bdf8c07f77047a0X-Cache: Hit from cloudfrontVia: 1.1 b7b9fc5331efc8b070db0bf27b36820e.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P2X-Amz-Cf-Id: 4BkrMP7qaLpqXioQ926OM8fq4963cQOfoXxaT7PaMu0ZgHn_MbtzWAAge: 31218 !DOCTYPE html>html langko> head> !-- Google Tag Manager --> script> (function (w, d, s, l, i) { wl wl || ; wl.push({ gtm.start: new Date().getTime(), event: gtm.js, }); var f d.getElementsByTagName(s)0, j d.createElement(s), dl l ! dataLayer ? &l + l : ; j.async true; j.src https://www.googletagmanager.com/gtm.js?id + i + dl; f.parentNode.insertBefore(j, f); })(window, document, script, dataLayer, GTM-MH6CZVL); /script> !-- End Google Tag Manager --> meta charsetutf-8 /> meta http-equivContent-Type contenttext/html; charsetutf-8 /> title>타자 실험실/title> link relstylesheet hrefTemplateData/style.css /> script srcTemplateData/idioms.js>/script> script src./axios.min.js>/script> !-- meta tag --> link relshortcut icon hrefhttps://lab.hancomtaja.com/TemplateData/favicon.ico /> meta namerobots contentindex,follow /> meta nametwitter:card contentsummary /> meta propertyog:url contenthttps://www.hancomtaja.com /> meta propertyog:image contenthttps://www.hancomtaja.com/og_image.png /> meta propertyog:image:width content1200 /> meta propertyog:image:height content630 /> meta nameauthor contentHancom Inc. /> meta nameimage contenthttps://www.hancomtaja.com/og_image.png /> meta nameurl contenthttps://www.hancomtaja.com /> meta namekeywords content /> meta propertytwitter:image contenthttps://www.hancomtaja.com/og_image.png /> meta propertyog:title content한컴타자 - 한글과컴퓨터의 타자 게임 실험실 /> meta nametwitter:title content한컴타자 - 한글과컴퓨터의 타자 게임 실험실 /> meta namedescription content로그인 없이 PC, 스마트폰 등 언제 어디서나 즐길 수 있는 한컴타자 게임 실험실! 타자 실력과 어휘력 향상 두마리 토끼를 잡아보세요 /> meta propertyog:description content로그인 없이 PC, 스마트폰 등 언제 어디서나 즐길 수 있는 한컴타자 게임 실험실! 타자 실력과 어휘력 향상 두마리 토끼를 잡아보세요 /> meta nametwitter:description content로그인 없이 PC, 스마트폰 등 언제 어디서나 즐길 수 있는 한컴타자 게임 실험실! 타자 실력과 어휘력 향상 두마리 토끼를 잡아보세요. /> /head> body> !-- Google Tag Manager (noscript) --> noscript>iframe srchttps://www.googletagmanager.com/ns.html?idGTM-MH6CZVL height0 width0 styledisplay: none; visibility: hidden>/iframe>/noscript> !-- End Google Tag Manager (noscript) --> div idads-area styledisplay: none>/div> div idunity-container classunity-desktop> canvas idunity-canvas>/canvas> /div> !-- Ads Modal --> div idmodal classmodal> div classmodalDialog> div classmodalPlace> p idmodalMessage>/p> span classexitButtons> input idexitButton typebutton value닫기 classblack /> /span> span classgrantButtons> input idcloseButton typebutton value확인 classblack /> /span> span classrewardButtons> input typebutton idwatchAdButton value광고 보기 /> input idnoRewardButton typebutton value취소 classblack /> /span> /div> /div> /div> !-- Loading Intro --> div idloading-wrap classloading-wrap> div classloading-object> div classmonitor> img srcTemplateData/intro_monitor.svg alt /> div classbox> p classlogo>img srcTemplateData/intro_logo.svg altlogo />/p> p idloading-tit classlogo-tit>/p> div classidioms-wrap> div classtitle> span>i ididioms-title>/i>/span> /div> p classmeaning ididioms-meaning>/p> div classexample>p ididioms-example>/p>/div> /div> div idprogress-bar classprogress-bar> span idprogress-bar-full classbar>/span> /div> /div> /div> object typeimage/svg+xml dataTemplateData/intro_keyboard.svg>/object> /div> div classloading-guide> div idguide-desc>/div> /div> /div> script async srchttps://securepubads.g.doubleclick.net/tag/js/gpt.js>/script> script> //------------------------------------------ // JS 캐시 방지 //------------------------------------------ function loadScript(src, callback) { let introScript document.createElement(script); introScript.src src + ?id + new Date().getTime(); introScript.onload callback; document.body.appendChild(introScript); } //gtag.js 로드 후 ads.js 로드 loadScript(gtag.js, function () { let adsScript document.createElement(script); adsScript.src ads.js; document.body.appendChild(adsScript); }); loadScript(config.js); loadScript(TemplateData/intro.js); window.changeTitle function (title) { document.title title; }; // 동일 계정인지 검사 var isUserNoValueChanged {}; Object.defineProperty(isUserNoValueChanged, userNo, { get: function () { return this.value; }, set: function (newValue) { if (this.value ! undefined && this.value ! newValue) { myGameInstance.SendMessage(JSHelper, CallbackRefreshTokenError, ERR_DIFFERENCE_ACCOUNT); } this.value newValue; }, }); window.checkUserNo function (token) { if (!token) return; // decode jwt token const base64Payload token.split(.)1; const base64 base64Payload.replace(/-/g, +).replace(/_/g, /); const decodedJWT JSON.parse( decodeURIComponent( window .atob(base64) .split() .map(function (c) { return % + (00 + c.charCodeAt(0).toString(16)).slice(-2); }) .join() ) ); // check userNo isUserNoValueChanged.userNo decodedJWT.sub; }; window.tokenRefresh function () { let accessToken ; axios .get(api_url + /user/token/refresh, { withCredentials: true, }) .then((result) > { // 동일 계정 검사 checkUserNo(result?.headers.authorization); accessToken result?.headers.authorization; accessToken btoa(accessToken); myGameInstance.SendMessage(JSHelper, CallbackRefreshToken, accessToken); }) .catch((err) > { console.log(err); myGameInstance.SendMessage(JSHelper, CallbackRefreshTokenError, err.code); }); }; const container document.querySelector(#unity-container); const canvas document.querySelector(#unity-canvas); var buildUrl Build; var loaderUrl buildUrl + /TajaLabs.loader.js?id3.6.0; const config { dataUrl: buildUrl + /TajaLabs.data.unityweb?id3.6.0, frameworkUrl: buildUrl + /TajaLabs.framework.js.unityweb?id3.6.0, codeUrl: buildUrl + /TajaLabs.wasm.unityweb?id3.6.0, streamingAssetsUrl: StreamingAssets, companyName: Hancom, productName: TajaLabs, productVersion: 3.6.0, }; // By default Unity keeps WebGL canvas render target size matched with // the DOM size of the canvas element (scaled by window.devicePixelRatio) // Set this to false if you want to decouple this synchronization from // happening inside the engine, and you would instead like to size up // the canvas DOM size and WebGL render target sizes yourself. // config.matchWebGLToCanvasSize false; if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) { // Mobile device style: fill the whole browser client area with the game canvas: var meta document.createElement(meta); meta.name viewport; meta.content widthdevice-width, heightdevice-height, initial-scale1.0, user-scalableno, shrink-to-fityes; document.getElementsByTagName(head)0.appendChild(meta); container.className unity-mobile; canvas.className unity-mobile; } const loadingWrap document.querySelector(#loading-wrap); const progressBarEmpty document.querySelector(#progress-bar); const progressBarFull document.querySelector(#progress-bar-full); var myGameInstance null; var script document.createElement(script); script.src loaderUrl; script.onload () > { createUnityInstance(canvas, config, (progress) > { progressBarEmpty.style.display ; progressBarFull.style.width `${100 * progress}%`; }).then((unityInstance) > { setTimeout(() > { loadingWrap.classList.add(fadeout); }, 1000); setTimeout(() > { loadingWrap.style.display none; }, 2000); myGameInstance unityInstance; var urlParams new URLSearchParams(window.location.search); var mode urlParams.get(mode); switch (mode) { case musician: console.log(Start Musician); myGameInstance.SendMessage(LabManager, OnClickTajaMusicianButton); break; case scrbw: console.log(Start Scrbw); myGameInstance.SendMessage(LabManager, OnClickScrambledWordButton); break; default: console.log(Start Lounge); // Do nothing } }); }; document.body.appendChild(script); /script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]