Wei Zhou

29 papers A* 1B 2Journal 23Unranked 3
YearRankTypeTitle / Venue / Authors
2026 J jnl
Sci. China Inf. Sci.
Minrui Yan, Ruiqi Dong, Qing-Long Han, Zehang Deng, Wanlun Ma, Xiaogang Zhu, Wei Zhou, Sheng Wen, Yang Xiang
2025 conf
KDD (2)
Jun Bai, Yiliao Song, Di Wu, Atul Sajjanhar, Yong Xiang, Wei Zhou, Xiaohui Tao, Yan Li, Yue Li
2025 J jnl
Distributed Ledger Technol. Res. Pract.
Ningran Li, Minfeng Qi, Zhiyu Xu, Xiaogang Zhu, Wei Zhou, Sheng Wen, Yang Xiang
2025 J jnl
IEEE CAA J. Autom. Sinica
Zehang Deng, Wanlun Ma, Qing-Long Han, Wei Zhou, Xiaogang Zhu, Sheng Wen, Yang Xiang
2025 J jnl
IEEE Trans. Ind. Informatics
Chuan Sheng, Wei Zhou, Qing-Long Han, Wanlun Ma, Xiaogang Zhu, Sheng Wen, Yang Xiang
2025 J jnl
IEEE CAA J. Autom. Sinica
Wei Zhou, Xiaogang Zhu, Qing-Long Han, Lin Li, Xiao Chen, Sheng Wen, Yang Xiang
2025 J jnl
IEEE CAA J. Autom. Sinica
Xiaogang Zhu, Wei Zhou, Qing-Long Han, Wanlun Ma, Sheng Wen, Yang Xiang
2024 J jnl
CoRR
Jun Bai, Yiliao Song, Di Wu, Atul Sajjanhar, Yong Xiang, Wei Zhou, Xiaohui Tao, Yan Li
2024 A* conf
ICLR
Di Wu, Jun Bai, Yiliao Song, Junjun Chen, Wei Zhou, Yong Xiang, Atul Sajjanhar
2024 J jnl
IEEE Trans. Ind. Informatics
Xiangyu Hu, Hanpeng Cai, Mamoun Alazab, Wei Zhou, Mohammad Sayad Haghighi, Sheng Wen
2024 J jnl
Connect. Sci.
Lihong Tang, Tingmin Wu, Xiao Chen, Sheng Wen, Wei Zhou, Xiaogang Zhu, Yang Xiang
2024 J jnl
IEEE Syst. J.
Zhiyuan Deng, Yue Hou, Alireza Jolfaei, Wei Zhou, Faezeh Farivar, Mohammad Sayad Haghighi
2024 J jnl
IEEE CAA J. Autom. Sinica
Chuan Sheng, Wanlun Ma, Qing-Long Han, Wei Zhou, Xiaogang Zhu, Sheng Wen, Yang Xiang, Fei-Yue Wang
2023 J jnl
IEEE Trans. Consumer Electron.
Mohammad Sayad Haghighi, Faezeh Farivar, Alireza Jolfaei, Azin Bayrami Asl, Wei Zhou
2023 J jnl
IEEE CAA J. Autom. Sinica
Xiaotao Feng, Xiaogang Zhu, Qing-Long Han, Wei Zhou, Sheng Wen, Yang Xiang
2023 J jnl
Sensors
Zhixiong Liu, Wei Zhou
2023 J jnl
Concurr. Comput. Pract. Exp.
Zhiniang Peng, Wei Zhou, Xiaogang Zhu, Youke Wu, Sheng Wen
2023 J jnl
IEEE Trans. Intell. Transp. Syst.
Chuan Xu, Yingyi Ding, Chao Chen, Yong Ding, Wei Zhou, Sheng Wen
2022 conf
ACSW
Wei Zhou, Yong Ding
2022 J jnl
Sensors
Limiao Li, Junyao Long, Wei Zhou, Alireza Jolfaei, Mohammad Sayad Haghighi
2018 J jnl
Symmetry
Walaa Alajali, Wei Zhou, Sheng Wen, Yu Wang
2014 J jnl
Future Gener. Comput. Syst.
Wei Zhou, Weijia Jia, Sheng Wen, Yang Xiang, Wanlei Zhou
2014 J jnl
IEEE Trans. Dependable Secur. Comput.
Sheng Wen, Wei Zhou, Jun Zhang, Yang Xiang, Wanlei Zhou, Weijia Jia, Cliff C. Zou
2013 J jnl
IEEE Trans. Parallel Distributed Syst.
Sheng Wen, Wei Zhou, Jun Zhang, Yang Xiang, Wanlei Zhou, Weijia Jia
2012 B conf
TrustCom
Wei Zhou, Sheng Wen, Yini Wang, Yang Xiang, Wanlei Zhou
2012 J jnl
Concurr. Comput. Pract. Exp.
Sheng Wen, Wei Zhou, Yang Xiang, Wanlei Zhou
2012 J jnl
IEEE Commun. Lett.
Sheng Wen, Wei Zhou, Yini Wang, Wanlei Zhou, Yang Xiang
2011 conf
ICA3PP (1)
Yini Wang, Sheng Wen, Wei Zhou, Wanlei Zhou, Yang Xiang
2010 B conf
NSS
Sheng Wen, Weijia Jia, Wei Zhou, Wanlei Zhou, Chuan Xu
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"