W. H. Ip

114 papers B 4Misc 1Journal 89Unranked 18
YearRankTypeTitle / Venue / Authors
2025 J jnl
J. Ind. Inf. Integr.
Yung Po Tsang, Chun-Ho Wu, W. H. Ip, Kai-Leung Yung
2025 J jnl
IEEE Internet Things Mag.
Chun-Ho Wu, Yung Po Tsang, W. H. Ip, Chunqiao Tan
2025 J jnl
Int. J. Web Inf. Syst.
Y. P. Tsang, C. H. Wu, Yue Wang, W. H. Ip
2024 J jnl
Internet Things
Jing Tao, Junliang Wang, Peng Zhang, Jie Zhang, Kai-Leung Yung, W. H. Ip
2024 J jnl
J. Grid Comput.
Yung Po Tsang, Carman Ka Man Lee, Kening Zhang, Chun-Ho Wu, W. H. Ip
2024 J jnl
J. Supercomput.
Chunjing Xiao, Shenkai Lv, Wei Fan, W. H. Ip
2023 J jnl
Comput. Ind. Eng.
Chunqiao Tan, Yuqing Zeng, W. H. Ip, Chun-Ho Wu
2023 J jnl
Expert Syst. Appl.
Yuting Li, Chunqiao Tan, W. H. Ip, Chun-Ho Wu
2023 J jnl
Soft Comput.
Yan Xing, Yuexuan Zhu, Wei Fan, Yuxiang Zhang, Rui Huang, Zhaojun Gu, W. H. Ip, Kai-Leung Yung
2022 J jnl
IEEE Trans. Aerosp. Electron. Syst.
Shancheng Jiang, Zongkai Lian, Kai-Leung Yung, W. H. Ip, Ming Gao
2022 J jnl
J. Grid Comput.
Yung Po Tsang, Chun-Ho Wu, W. H. Ip, Carman K. M. Lee
2022 J jnl
IEEE Internet Things Mag.
Charinrat Bansong, Kuo-Kun Tseng, Kai-Leung Yung, W. H. Ip
2021 J jnl
Wirel. Commun. Mob. Comput.
Kanghua Hui, Jin Wang, Huaiqing He, W. H. Ip
2021 J jnl
Knowl. Based Syst.
Shancheng Jiang, Fan Wu, Kai-Leung Yung, Yingqiao Yang, W. H. Ip, Ming Gao, James Abbott Foster
2021 J jnl
J. Enterp. Inf. Manag.
Yung Po Tsang, Chun-Ho Wu, W. H. Ip, Wen-Lung Shiau
2021 J jnl
Comput. Ind. Eng.
C. K. Kwong, Yi Xia, C. Y. Chan, W. H. Ip
2021 J jnl
Comput. Ind. Eng.
Huihui Wang, Min Huang, W. H. Ip, Xingwei Wang
2021 J jnl
Appl. Soft Comput.
Wei Fan, Yuexuan Zhu, Ziyun Wei, Tianyu Yang, W. H. Ip, Yuxiang Zhang
2021 J jnl
J. Database Manag.
Xia Feng, Zhiyi Hu, Caihua Liu, W. H. Ip, Huiying Chen
2020 J jnl
Soft Comput.
Wei Fan, Hui Min Wang, Yan Xing, Rui Huang, W. H. Ip, Kai-Leung Yung
2020 J jnl
Soft Comput.
Yuxiang Zhang, Huan Liu, Suge Wang, W. H. Ip, Wei Fan, Chunjing Xiao
2020 J jnl
Multim. Tools Appl.
Yong Zhang, Wentao Tu, Kairui Chen, Chun-Ho Wu, Li Li, W. H. Ip, C. Y. Chan
2020 J jnl
Soft Comput.
Kuo-Kun Tseng, Haichuan Sun, Junwu Liu, Jiaqi Li, Kai-Leung Yung, W. H. Ip
2020 J jnl
Appl. Soft Comput.
Kuo-Kun Tseng, Yaqi Zhang, Qinglin Zhu, Kai-Leung Yung, W. H. Ip
2019 J jnl
IEEE Access
Kuo-Kun Tseng, Yang Zhang, Kai-Leung Yung, W. H. Ip, Zhye Ou, Qi Na
2019 J jnl
Wirel. Pers. Commun.
C. Y. Lam, W. H. Ip
2019 J jnl
Enterp. Inf. Syst.
Polly P. L. Leung, Chun-Ho Wu, W. H. Ip, George T. S. Ho
2019 J jnl
IEEE Access
Kuo-Kun Tseng, Linlin Liu, Chao Wang, Kai-Leung Yung, W. H. Ip, Chih-Yu Hsu
2019 J jnl
Int. J. Technol. Manag.
Kris M. Y. Law, Antonio K. W. Lau, W. H. Ip
2018 J jnl
Enterp. Inf. Syst.
Vincent Cho, W. H. Ip
2018 J jnl
Enterp. Inf. Syst.
Xuwei Qin, Zhong-Zhong Jiang, W. H. Ip, Ying Sheng, Chun-Ho Wu
2018 J jnl
Enterp. Inf. Syst.
Zhong-Zhong Jiang, Na He, Xuwei Qin, W. H. Ip, Chun-Ho Wu, Kai-Leung Yung
2017 J jnl
Appl. Soft Comput.
Yue-Jiao Gong, Yong-Feng Ge, Jing-Jing Li, Jun Zhang, W. H. Ip
2017 J jnl
Enterp. Inf. Syst.
Carman K. M. Lee, Catalin Mitrea, W. H. Ip, King Lun Choy, George T. S. Ho
2016 J jnl
Appl. Soft Comput.
Yue-Jiao Gong, Yong-Feng Ge, Jing-Jing Li, Jun Zhang, W. H. Ip
2016 conf
ES
Polly P. L. Leung, Chun-Ho Wu, W. H. Ip, George T. S. Ho, V. W. S. Cho, K. K. Y. Kwong
2016 J jnl
J. Sensors
Kuo-Kun Tseng, FuFu Zeng, W. H. Ip, Chun-Ho Wu
2016 conf
ES
Kuo-Kun Tseng, Dachao Lee, William Hurst, Fang-Yin Lin, W. H. Ip
2016 J jnl
IEEE Trans. Fuzzy Syst.
Zhong-Zhong Jiang, Zhi-Ping Fan, W. H. Ip, Xiaohong Chen
2016 conf
ICIC (2)
Chun Kit Ng, Chun-Ho Wu, W. H. Ip, Jun Zhang, George T. S. Ho, C. Y. Chan
2015 J jnl
Comput. Ind.
Carman K. M. Lee, Chloe Tan Ying Ru, Chui Ling Yeung, King Lun Choy, W. H. Ip
2015 J jnl
Fuzzy Optim. Decis. Mak.
Chunqiao Tan, Zhong-Zhong Jiang, Xiaohong Chen, W. H. Ip
2015 J jnl
Int. J. Distributed Sens. Networks
Chun-Ho Wu, Chun Kit Ng, Lixing Wang, George T. S. Ho, W. H. Ip, Jun Zhang
2015 J jnl
Ind. Manag. Data Syst.
Chun-Ho Wu, George T. S. Ho, Cathy H. Y. Lam, W. H. Ip
2015 conf
IEEM
Polly P. L. Leung, Chun-Ho Wu, George T. S. Ho, W. H. Ip, W. L. Mou
2014 conf
ES
Chun-Ho Wu, Felix C. K. Ng, Polly P. L. Leung, W. Y. Lau, George T. S. Ho, W. H. Ip
2014 J jnl
Knowl. Based Syst.
Chunqiao Tan, W. H. Ip, Xiaohong Chen
2013 J jnl
SIGARCH Comput. Archit. News
Kuo-Kun Tseng, FuFu Zeng, Huang-Nan Huang, Yiming Liu, Jeng-Shyang Pan, W. H. Ip, Chun-Ho Wu
2013 J jnl
IEEE Syst. J.
W. H. Ip, Dingwei Wang, Vincent Cho
2013 J jnl
IEEE Trans. Fuzzy Syst.
Huimin Jiang, C. K. Kwong, W. H. Ip, Zengqiang Chen
2013 B conf
KES
Huimin Jiang, C. K. Kwong, M. C. Law, W. H. Ip
2013 J jnl
IEEE Trans. Intell. Transp. Syst.
Junwei Wang, Hongfeng Wang, Wenjun Zhang, W. H. Ip, Kazuo Furuta
2013 J jnl
J. Appl. Math.
Min Huang, Huaping Wu, Vincent Cho, W. H. Ip, Xingwei Wang, Felix C. K. Ng
2012 conf
LION
Ching-Yuen Chan, Fan Xue, W. H. Ip, Benny C. F. Cheung
2012 J jnl
Int. J. Syst. Sci.
W. H. Ip, Kai-Leung Yung, Dingwei Wang
2012 J jnl
Int. J. Syst. Sci.
Hongfeng Wang, Shengxiang Yang, W. H. Ip, Dingwei Wang
2012 J jnl
Int. J. Comput. Integr. Manuf.
Lixing Wang, S. K. Kwok, W. H. Ip
2012 J jnl
J. Syst. Inf. Technol.
Jacky S. L. Ting, W. H. Ip, Albert H. C. Tsang, George T. S. Ho
2012 J jnl
Enterp. Inf. Syst.
C. Y. Lam, W. H. Ip
2012 J jnl
Expert Syst. Appl.
George T. S. Ho, W. H. Ip, Carman K. M. Lee, W. L. Mou
2012 J jnl
J. Intell. Manuf.
Lixing Wang, S. K. Kowk, W. H. Ip
2012 J jnl
Appl. Soft Comput.
Huimin Jiang, C. K. Kwong, W. H. Ip, T. C. Wong
2012 J jnl
Expert Syst. Appl.
George T. S. Ho, W. H. Ip, Chun-Ho Wu, Ying Kei Tse
2011 conf
HCI (17)
Peng Sixiang, Chee Kooi Chan, W. H. Ip, Ameersing Luximon
2011 J jnl
Expert Syst. Appl.
C. Y. Lam, W. H. Ip
2011 J jnl
Decis. Support Syst.
S. L. Chan, W. H. Ip
2011 J jnl
Expert Syst. Appl.
S. L. Chan, W. H. Ip, C. K. Kwong
2011 J jnl
Ind. Manag. Data Syst.
Jacky S. L. Ting, Wai Ming Wang, Ying Kei Tse, W. H. Ip
2011 J jnl
Ind. Manag. Data Syst.
W. H. Ip, S. L. Chan, C. Y. Lam
2011 J jnl
Expert Syst. Appl.
Zhong-Zhong Jiang, W. H. Ip, Henry C. W. Lau, Zhi-Ping Fan
2011 J jnl
IEEE Syst. J.
W. H. Ip, Dingwei Wang
2010 J jnl
Ind. Manag. Data Syst.
S. L. Chan, W. H. Ip
2010 J jnl
Int. J. Serv. Technol. Manag.
Chun-Ho Wu, W. H. Ip, Ching-Yuen Chan, Y. Zheng, Z. M. Lu
2010 J jnl
Comput. Ind. Eng.
Henry C. W. Lau, Zhong-Zhong Jiang, W. H. Ip, Dingwei Wang
2010 J jnl
Expert Syst. Appl.
S. L. Chan, W. H. Ip, Vincent Cho
2010 J jnl
Nat. Comput.
Hongfeng Wang, Shengxiang Yang, W. H. Ip, Dingwei Wang
2010 J jnl
IEEE Trans. Intell. Transp. Syst.
Zhi-Hui Zhan, Jun Zhang, Yun Li, Ou Liu, S. K. Kwok, W. H. Ip, Okyay Kaynak
2010 J jnl
IEEE Trans. Intell. Transp. Syst.
Junwei Wang, W. H. Ip, Wen-Jun Zhang
2010 conf
ICICA (LNCS)
Zhenxin Zhang, Jigang Tong, Zengqiang Chen, W. H. Ip, Ching-Yuen Chan, Kai-Leung Yung
2010 J jnl
Ind. Manag. Data Syst.
C. Y. Lam, W. H. Ip
2010 ch.
Production Engineering and Management under Fuzziness
George T. S. Ho, Henry C. W. Lau, Nick S. H. Chung, W. H. Ip
2010 J jnl
Enterp. Inf. Syst.
Junwei Wang, Fei Gao, W. H. Ip
2010 ch.
Recent Advances In Harmony Search Algorithm
Guihua Bo, Min Huang, W. H. Ip, Xingwei Wang
2010 Misc conf
ICNC
Min Huang, Guihua Bo, Xingwei Wang, W. H. Ip
2009 conf
DET
R. C. P. Chung, S. L. Chan, W. H. Ip
2009 J jnl
Expert Syst. Appl.
C. Y. Lam, W. H. Ip, Henry C. W. Lau
2009 J jnl
Soft Comput.
Lili Liu, Dingwei Wang, W. H. Ip
2009 J jnl
IEEE Trans. Syst. Man Cybern. Part B
Hongfeng Wang, Shengxiang Yang, W. H. Ip, Dingwei Wang
2009 J jnl
Comput. Ind. Eng.
Dingwei Wang, Richard Y. K. Fung, W. H. Ip
2009 J jnl
Int. J. Knowl. Learn.
Chee Kooi Chan, Yan Yu Chan, W. H. Ip
2009 J jnl
IEEE Syst. J.
Dingwei Wang, W. H. Ip
2009 conf
GEC Summit
Min Huang, Hongyu Dong, Xingwei Wang, Bing-lin Zheng, W. H. Ip
2009 J jnl
Expert Syst. Appl.
Sai Ho Chung, Henry C. W. Lau, George T. S. Ho, W. H. Ip
2009 J jnl
Int. J. Intell. Syst. Technol. Appl.
Chun-Ho Wu, W. H. Ip, Ching-Yuen Chan
2009 conf
CSO (2)
W. H. Ip, Dingwei Wang
2009 B conf
IEEE Congress on Evolutionary Computation
Guihua Bo, Min Huang, W. H. Ip, Xingwei Wang
2008 B conf
IEEE Congress on Evolutionary Computation
Min Huang, Guihua Bo, Wei Tong, W. H. Ip, Xingwei Wang
2008 conf
WSKS (2)
Chee Kooi Chan, Yan Yu Chan, W. H. Ip
2006 J jnl
IEEE Trans. Syst. Man Cybern. Part A
Youwei Wang, Dingwei Wang, W. H. Ip
2006 B conf
IEEE Congress on Evolutionary Computation
Min Huang, Jianqin Ding, Zhonghua Liu, W. H. Ip, Kai-Leung Yung, Xingwei Wang
2006 conf
ICNC (1)
Min Huang, Jianqin Ding, W. H. Ip, Kai-Leung Yung, Zhonghua Liu, Xingwei Wang
2005 J jnl
Int. J. Comput. Integr. Manuf.
Q. Wang, Kai-Leung Yung, W. H. Ip
2005 J jnl
Int. J. Syst. Sci.
Dingwei Wang, W. H. Ip
2005 J jnl
Expert Syst. J. Knowl. Eng.
Henry C. W. Lau, Carman K. M. Lee, W. H. Ip, Felix T. S. Chan, Ricky W. K. Leung
2004 conf
ICEB
Min Huang, Fei Xu, Xingwei Wang, W. H. Ip, Kai-Leung Yung
2004 conf
ICEB
Min Huang, Hongmei Yang, Xingwei Wang, W. H. Ip, Dingwei Wang
2004 conf
ICEB
Min Huang, Fenge Li, Xingwei Wang, W. H. Ip
2004 conf
RAM
Min Huang, Xingwei Wang, Dingwei Wang, W. H. Ip, C. K. Kwong
2004 conf
ICEB
Min Huang, Hongmei Yang, Xingwei Wang, W. H. Ip, Kai-Leung Yung
2003 J jnl
Comput. Oper. Res.
W. H. Ip, Min Huang, Kai-Leung Yung, Dingwei Wang
2002 J jnl
Int. J. Manuf. Technol. Manag.
W. H. Ip, Ka Yin Chau, S. F. Chan
2002 J jnl
Fuzzy Sets Syst.
Chengyao Wang, Dingwei Wang, W. H. Ip, D. W. Yuen
2001 J jnl
IEEE Trans. Syst. Man Cybern. Syst.
Dingwei Wang, Kai-Leung Yung, W. H. Ip
1998 J jnl
J. Intell. Manuf.
Johnny K. C. Ng, W. H. Ip, T. C. Lee
redb/extractors/js_extractors/js_suspicious_apis.py
← Index redb/extractors/js_extractors/js_suspicious_apis.py python
import inspect
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.js_extractor import JSExtractor
from redb.extractors.js_extractors.js_patterns import CATEGORIES, PATTERNS


# Backwards-compatible export: `{category: [(raw_pattern_string, api_name), ...]}`
# in canonical PATTERNS insertion order (code_execution, network, filesystem,
# process, registry, crypto_encoding, dom_manipulation). Kept so external
# callers (notably JSDeobfuscationExtractor pre-cleanup) keep working until
# they are migrated to PATTERNS directly.
SUSPICIOUS_APIS: "dict[str, list[tuple[str, str]]]" = {}
for _name, _compiled in PATTERNS.items():
    SUSPICIOUS_APIS.setdefault(CATEGORIES[_name], []).append((_compiled.pattern, _name))


class JSSuspiciousAPIsExtractor(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.api_findings = None
        self.log.debug(inspect.currentframe().f_code.co_name)

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

    def _get_context_snippet(self, line, max_len=200):
        """Get a truncated context snippet around a match."""
        line = line.strip()
        if len(line) > max_len:
            return line[:max_len] + "..."
        return line

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

        # Pass 1: shared per-sample scan over the raw source. The dict contains
        # entries for both PATTERNS and FEATURE_PATTERNS; the loop below only
        # consults PATTERNS keys, so feature-only entries are ignored.
        raw_scan = self._context.scan or {}
        raw_lines = self.lines

        # Pass 2: same patterns over the deobfuscated text, when the
        # deobfuscator produced something meaningfully different. APIs hidden
        # behind one obfuscation layer (Vjw0rm-style array.join + eval,
        # Dean-Edwards packers, jjencode, ...) only surface here. The scan is
        # cached on JSContext so JSDeobfuscationExtractor (which computes the
        # new_apis_found diff) reuses the same result.
        deobf_scan = self._context.scan_deobfuscated
        if deobf_scan:
            deobf_text, _ = self._context.deobfuscated
            deobf_lines = deobf_text.splitlines()
        else:
            deobf_lines = []

        findings = []
        # Iterate PATTERNS in canonical order so output is deterministic and
        # matches the historical category/pattern ordering. For each api_name,
        # raw findings take precedence; if an API is found only in the
        # deobfuscated text, we surface it as a row tagged revealed_by_deobf=1
        # with line numbers / snippets pulled from the deobfuscated source.
        for api_name in PATTERNS:
            raw_info = raw_scan.get(api_name)
            if raw_info:
                line_numbers = raw_info["lines"]
                lines_for_snippets = raw_lines
                revealed_by_deobf = 0
            else:
                deobf_info = deobf_scan.get(api_name)
                if not deobf_info:
                    continue
                line_numbers = deobf_info["lines"]
                lines_for_snippets = deobf_lines
                revealed_by_deobf = 1

            snippets = [
                self._get_context_snippet(lines_for_snippets[ln - 1])
                for ln in line_numbers[:3]
                if 0 < ln <= len(lines_for_snippets)
            ]
            findings.append({
                "api_name": api_name,
                "api_category": CATEGORIES[api_name],
                # Historical semantics: count = number of unique lines with a
                # match, not total in-source match count.
                "call_count": len(line_numbers),
                "line_numbers": line_numbers,
                "context_snippet": " | ".join(snippets),
                "revealed_by_deobf": revealed_by_deobf,
            })

        if not findings:
            return None

        self.api_findings = findings
        return findings

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

            current_time = datetime.now(timezone.utc)
            data = []
            for f in self.api_findings:
                data.append([
                    self.sha256,
                    f['api_name'],
                    f['api_category'],
                    f['call_count'],
                    f['line_numbers'],
                    f['context_snippet'],
                    f['revealed_by_deobf'],
                    current_time,
                ])

            column_names = [
                "sha256", "api_name", "api_category",
                "call_count", "line_numbers", "context_snippet",
                "revealed_by_deobf",
                "analysis_date",
            ]

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

            return (data, column_names, column_type_names)

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