Hanhoon Park

64 papers A* 4A 1B 5C 2Misc 2Journal 31Unranked 19
YearRankTypeTitle / Venue / Authors
2024 J jnl
Multim. Tools Appl.
Yuning Ye, Hanhoon Park
2024 J jnl
IEEE Access
Hanhoon Park
2023 J jnl
J. Electronic Imaging
Sowon Kim, Hanhoon Park
2023 J jnl
Multim. Tools Appl.
Yoonsil Choi, Hanhoon Park
2021 J jnl
IEICE Trans. Inf. Syst.
Sanghoon Kang, Hanhoon Park, Jong-Il Park
2021 J jnl
IEEE Access
Hanhoon Park
2020 J jnl
Multim. Tools Appl.
Jaeyoung Kim, Hanhoon Park, Jong-Il Park
2020 J jnl
Multim. Tools Appl.
Sanghoon Kang, Hanhoon Park, Jong-Il Park
2020 J jnl
IEEE Access
Jean-Pierre Lomaliza, Hanhoon Park, Mark Billinghurst
2020 J jnl
IEEE Access
Seungwon Kim, Allison Jing, Hanhoon Park, Gun A. Lee, Weidong Huang, Mark Billinghurst
2020 B conf
ACIVS
Jean-Pierre Lomaliza, Hanhoon Park
2020 J jnl
IEICE Trans. Inf. Syst.
Farzin Matin, Yoosoo Jeong, Hanhoon Park
2019 conf
BMSB
Jaeyoung Kim, Sanghoon Kang, Hanhoon Park, Jong-Il Park
2019 B conf
VRST
Jean-Pierre Lomaliza, Hanhoon Park
2019 J jnl
IEICE Trans. Inf. Syst.
Hanhoon Park
2018 J jnl
Multim. Tools Appl.
Jean-Pierre Lomaliza, Hanhoon Park
2018 B conf
VRST
Jean-Pierre Lomaliza, Hanhoon Park
2017 J jnl
Multim. Tools Appl.
Jean-Pierre Lomaliza, Hanhoon Park
2017 conf
BMSB
Jaeyoung Kim, Hanhoon Park, Jong-Il Park
2017 J jnl
IEICE Trans. Inf. Syst.
Hanhoon Park, Jong-Il Park
2016 J jnl
Multim. Tools Appl.
Ho-Sub Ryu, Hanhoon Park
2016 conf
ISMAR Adjunct
Changmin Lim, Chanran Kim, Jong-Il Park, Hanhoon Park
2015 J jnl
IEICE Trans. Inf. Syst.
Hanhoon Park, Kwang-Seok Moon
2015 conf
ISCE
Changmin Lim, Junyeong Choi, Jong-Il Park, Hanhoon Park
2015 J jnl
IEICE Trans. Inf. Syst.
Hanhoon Park
2015 J jnl
IEICE Trans. Inf. Syst.
Hanhoon Park
2014 J jnl
IEICE Trans. Inf. Syst.
Hanhoon Park
2014 J jnl
IEEE Trans. Vis. Comput. Graph.
Byung-Kuk Seo, Hanhoon Park, Jong-Il Park, Stefan Hinterstoisser, Slobodan Ilic
2013 conf
ISR
Junyeong Choi, Byung-Kuk Seo, Daeseon Lee, Hanhoon Park, Jong-Il Park
2011 J jnl
IEICE Trans. Inf. Syst.
Hanhoon Park, Hideki Mitsumine, Mahito Fujii
2011 J jnl
IEEE Trans. Consumer Electron.
Hanhoon Park, Hideki Mitsumine, Mahito Fujii
2011 J jnl
IEICE Trans. Inf. Syst.
Hanhoon Park, Hideki Mitsumine, Mahito Fujii
2011 A* conf
ISMAR
Junyeong Choi, Hanhoon Park, Jungsik Park, Jong-Il Park
2011 J jnl
IEICE Trans. Inf. Syst.
Hanhoon Park, Hideki Mitsumine, Mahito Fujii
2011 B conf
ICIP
Junyeong Choi, Hanhoon Park, Jong-Il Park
2010 J jnl
Comput. Animat. Virtual Worlds
Hanhoon Park, Jihyun Oh, Byung-Kuk Seo, Jong-Il Park
2010 conf
ECS
Taeyoung Uhm, Hanhoon Park, Mi-Hee Lee, Un-Mi Kim, Jong-Il Park
2010 A* conf
VR
Taeyoung Uhm, Hanhoon Park, Dongkyun Seo, Jong-Il Park
2010 J jnl
Int. J. Hum. Comput. Interact.
Hanhoon Park, Jong-Il Park
2010 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Hanhoon Park, Byung-Kuk Seo, Jong-Il Park
2010 conf
ICDIP
Taeyoung Uhm, Hanhoon Park, Moon-Hyun Lee, Jong-Il Park
2009 conf
VRCAI
Hanhoon Park, Hideki Mitsumine, Masato Fujii, Jong-Il Park
2008 B conf
ICIP
Hanhoon Park, Byung-Kuk Seo, Jong-Il Park
2008 J jnl
IEEE Trans. Consumer Electron.
Moon-Hyun Lee, Hanhoon Park, Jong-Il Park
2008 J jnl
IEEE Trans. Consumer Electron.
Hong-Chang Shin, Yong-Jin Kim, Hanhoon Park, Jong-Il Park
2008 conf
VRCAI
Hanhoon Park, Jihyun Oh, Byung-Kuk Seo, Jong-Il Park
2008 conf
VRCAI
Byung-Kuk Seo, Junyeong Choi, Jae-Hyek Han, Hanhoon Park, Jong-Il Park
2008 Misc conf
ISUVR
Byung-Kuk Seo, Moon-Hyun Lee, Hanhoon Park, Jong-Il Park
2008 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Hanhoon Park, Moon-Hyun Lee, Byung-Kuk Seo, Jong-Il Park, Moon-Sik Jeong, Tae-Suh Park, Yongbeom Lee, Sang Ryong Kim
2007 conf
HCI (14)
Hanhoon Park, Moon-Hyun Lee, Byung-Kuk Seo, Yoonjong Jin, Jong-Il Park
2007 conf
ICAT
Byung-Kuk Seo, Moon-Hyun Lee, Hanhoon Park, Jong-Il Park, Young Soo Kim
2007 conf
ISVC (1)
Sungkyu Noh, Hanhoon Park, Yoonjong Jin, Jong-Il Park
2007 conf
ISVC (2)
Jihyun Oh, Byung-Kuk Seo, Moon-Hyun Lee, Hanhoon Park, Jong-Il Park
2006 A conf
ICME
Hanhoon Park, Moon-Hyun Lee, Sang-Jun Kim, Jong-Il Park
2006 C conf
PSIVT
Hanhoon Park, Moon-Hyun Lee, Byung-Kuk Seo, Hong-Chang Shin, Jong-Il Park
2006 conf
ACCV (2)
Hanhoon Park, Moon-Hyun Lee, Sang-Jun Kim, Jong-Il Park
2006 C conf
PSIVT
Hanhoon Park, Moon-Hyun Lee, Byung-Kuk Seo, Jong-Il Park
2005 conf
PCM (1)
Hanhoon Park, Seung-Wook Hong, Jong-Il Park, Sung-Kyun Moon, Hyeongseok Ko
2005 Misc conf
ICIAP
Hanhoon Park, Jong-Il Park, Sang Hwa Lee
2005 A* conf
ISMAR
Hanhoon Park, Moon-Hyun Lee, Sang-Jun Kim, Jong-Il Park
2005 conf
PCM (1)
Hanhoon Park, Moon-Hyun Lee, Sang-Jun Kim, Jong-Il Park
2004 conf
ICIAR (2)
Hanhoon Park, Jong-Il Park
2004 conf
SSPR/SPR
Hanhoon Park, Jong-Il Park, Un-Mi Kim, Woontack Woo
2004 A* conf
ISMAR
Hanhoon Park, Jong-Il Park
redb/extractors/js_extractors/js_content.py
← Index redb/extractors/js_extractors/js_content.py python
"""Persists raw + normalised text into the generic `code_text_content` table.

Reads the raw source and the deobfuscation result directly from the shared
JSContext so no extra compute happens here — both values are computed once
per sample (the source at JSContext construction, the deobfuscation lazily
on first access) and reused by any extractor that needs them.

`text_normalized` is left NULL when the deobfuscation pass produced no
output, so analysts can distinguish "we tried and got nothing" from
"normalisation succeeded".
"""

import inspect
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.js_extractor import JSExtractor


class JSContentExtractor(JSExtractor):

    def __init__(
        self, filepath, log, exporters=None, index_prefix=None,
        known_benign=False, known_malicious=False, source=None, context=None,
    ):
        super().__init__(
            filepath, log, exporters, index_prefix,
            known_benign, known_malicious, source, context=context,
        )
        self.content_row = None
        self.log.debug(inspect.currentframe().f_code.co_name)

    def tag(self):
        return Tag.JS_CONTENT.value

    def extract(self):
        src = self.js_source
        if not src:
            return None

        deobfuscated, normalizer_used = self._context.deobfuscated

        self.content_row = {
            "content_type": self._context.content_type,
            "text_raw": src,
            "text_normalized": deobfuscated,  # may be None
            "normalizer_used": normalizer_used,  # may be None
        }
        return self.content_row

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type != "ClickHouseExporter":
            return None
        if not self.content_row:
            return None

        r = self.content_row
        data = [[
            self.sha256,
            r["content_type"],
            r["text_raw"],
            r["text_normalized"],
            r["normalizer_used"],
            datetime.now(timezone.utc),
        ]]

        column_names = [
            "sha256",
            "content_type",
            "text_raw",
            "text_normalized",
            "normalizer_used",
            "analysis_date",
        ]

        column_type_names = [
            "FixedString(64)",
            "LowCardinality(String)",
            "String",
            "Nullable(String)",
            "Nullable(String)",
            "DateTime64(3, 'UTC')",
        ]

        return (data, column_names, column_type_names)

    def get_clickhouse_table(self) -> str:
        return "code_text_content"