Weili Ding

37 papers Misc 3Journal 31Unranked 3
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Weili Ding, Yu Zhang, Lingyun Yang, Shuo Hu
2026 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Guanglei Zhao, Yapeng Liu, Changchun Hua, Hailong Cui, Weili Ding
2026 J jnl
IEEE Trans. Cybern.
Guanglei Zhao, Hao Liang, Changchun Hua, Hailong Cui, Weili Ding
2026 J jnl
IEEE Trans. Cybern.
Cui-Hua Zhang, Lu-Han Zhang, Lou Wang, Ying Zhang, Weili Ding, Changchun Hua
2026 J jnl
Expert Syst. Appl.
Zhiyu Wang, Weili Ding, Ying Zhang, Changchun Hua
2025 J jnl
Expert Syst. Appl.
Pu Sun, Changchun Hua, Weili Ding, Changsheng Hua
2025 J jnl
Eng. Appl. Artif. Intell.
Pu Sun, Changchun Hua, Weili Ding, Changsheng Hua, Ping Liu, Ziqi Lei
2025 J jnl
CoRR
Ying Zhang, Guohui Tian, Cui-Hua Zhang, Changchun Hua, Weili Ding, Choon Ki Ahn
2025 J jnl
IEEE CAA J. Autom. Sinica
Ying Zhang, Guohui Tian, Cui-Hua Zhang, Changchun Hua, Weili Ding, Choon Ki Ahn
2025 J jnl
J. Supercomput.
Jian Li, Weili Ding, Guoqing Liu, Changchun Hua, Dengsheng Cai, Jinquan Sun
2025 J jnl
Robotica
Tao Yang, Weili Ding, Junjie Luo
2025 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Cui-Hua Zhang, Lou Wang, Ying Zhang, Weili Ding, Changchun Hua
2025 J jnl
Signal Process. Image Commun.
Weili Ding, Zhiyu Wang, Shuo Hu
2025 J jnl
Robotics Auton. Syst.
Tao Yang, Weili Ding, Yaohui Wang, Taiyu Chen, Dianrui Mu
2025 J jnl
IEEE Trans Autom. Sci. Eng.
Guanglei Zhao, Zhizhong Li, Changchun Hua, Weili Ding
2024 J jnl
CoRR
Ying Zhang, Haibao Yan, Danni Zhu, Jiankun Wang, Cui-Hua Zhang, Weili Ding, Xi Luo, Changchun Hua, Max Q.-H. Meng
2024 J jnl
Robotica
Weili Ding, Ziqi Pei, Tao Yang, Taiyu Chen
2024 J jnl
IEEE Trans. Instrum. Meas.
Yana Yang, Changchun Hua, Weili Ding, Junpeng Li
2024 conf
SOLI
Weili Ding, Shuhui Zhang, Han Liu
2023 J jnl
Int. J. Image Graph.
Wang Zhiyu, Weili Ding, Wang Mingkui
2023 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Changchun Hua, Hao Li, Kuo Li, Weili Ding
2022 J jnl
Robotics Comput. Integr. Manuf.
Wenna Wang, Weili Ding, Changchun Hua, Heng Zhang, Haibing Feng, Yao Yao
2022 J jnl
J. Ambient Intell. Humaniz. Comput.
Xinming Wang, Weili Ding, Shuangshuang Bian, Honghai Liu
2022 J jnl
Signal Image Video Process.
Yifan Wang, Changchun Hua, Weili Ding, Ruinan Wu
2021 conf
PRICAI (1)
Ruinan Wu, Changchun Hua, Weili Ding, Yifan Wang, Yubao Wang
2020 J jnl
Int. J. Mach. Learn. Cybern.
Weili Ding, Bo Hu, Han Liu, Xinming Wang, Xiangsheng Huang
2018 Misc conf
ICMLC
Han Liu, Mihaela Cocea, Weili Ding
2018 J jnl
Robotics Auton. Syst.
Yong Li, Guofeng Tong, Anan Sun, Weili Ding
2017 J jnl
Robotics Auton. Syst.
Yong Li, Weili Ding, Xuguang Zhang, Zhaojie Ju
2017 Misc conf
ICMLC
Han Liu, Mihaela Cocea, Weili Ding
2016 Misc conf
ICASSP
Xiangsheng Huang, Ziling Huang, Ming Lu, Pengcheng Ma, Weili Ding
2016 J jnl
IET Comput. Vis.
Weili Ding, Yong Li, Honghai Liu
2016 J jnl
Pattern Recognit.
Weili Ding, Wenfeng Wang, Xiaoli Li
2016 J jnl
Robotics Auton. Syst.
Yong Li, Weili Ding, Xuguang Zhang, Zhaojie Ju
2015 J jnl
IET Comput. Vis.
Weili Ding, Yong Li
2015 J jnl
Sensors
Yajing Shen, Wenfeng Wan, Lijun Zhang, Li Yong, Haojian Lu, Weili Ding
2010 conf
ICIRA (2)
Xuguang Zhang, Weili Ding, Peifeng Niu
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"