W. Nick Street

90 papers A* 10A 6B 5Misc 3Journal 47Unranked 19
YearRankTypeTitle / Venue / Authors
2026 J jnl
CoRR
Brianna Mueller, W. Nick Street
2024 J jnl
CoRR
Sadjad Anzabi Zadeh, W. Nick Street, Barrett W. Thomas
2024 B conf
IEEE Big Data
Brianna Mueller, W. Nick Street, Stephen Baek, Qihang Lin, Jingyi Yang, Yankun Huang
2024 J jnl
CoRR
Brianna Mueller, W. Nick Street, Stephen Baek, Qihang Lin, Jingyi Yang, Yankun Huang
2024 A* conf
ICDM
Bang An, Xun Zhou, Amin Vahedian, W. Nick Street, Jinping Guan, Jun Luo
2024 J jnl
CoRR
Bang An, Xun Zhou, Amin Vahedian, W. Nick Street, Jinping Guan, Jun Luo
2023 J jnl
J. Biomed. Informatics
Sadjad Anzabi Zadeh, W. Nick Street, Barrett W. Thomas
2023 J jnl
Comput. Oper. Res.
Fahrettin Cakir, Barrett W. Thomas, W. Nick Street
2022 J jnl
CoRR
Yankun Huang, Qihang Lin, W. Nick Street, Stephen Baek
2022 A conf
SDM
Bang An, Amin Vahedian, Xun Zhou, W. Nick Street, Yanhua Li
2022 J jnl
CoRR
Bang An, Amin Vahedian, Xun Zhou, W. Nick Street, Yanhua Li
2022 J jnl
BMC Medical Informatics Decis. Mak.
Jisoo Lee, Sulyun Lee, W. Nick Street, Linnea A. Polgreen
2022 J jnl
CoRR
Sadjad Anzabi Zadeh, W. Nick Street, Barrett W. Thomas
2021 J jnl
ACM Trans. Intell. Syst. Technol.
Amin Vahedian Khezerlou, Xun Zhou, Xinyi Li, W. Nick Street, Yanhua Li
2020 J jnl
CoRR
Eric S. Pahl, W. Nick Street, Hans J. Johnson, Alan I. Reed
2020 conf
BIBM
Michael T. Lash, W. Nick Street
2020 J jnl
CoRR
Michael T. Lash, W. Nick Street
2020 J jnl
ACM Trans. Manag. Inf. Syst.
Xiangyu Wang, Kang Zhao, Xun Zhou, W. Nick Street
2019 conf
ICHI
Yichen Ding, W. Nick Street, Ling Tong, Shangguan Wang
2019 A* conf
AAAI
Amin Vahedian, Xun Zhou, Ling Tong, W. Nick Street, Yanhua Li
2019 J jnl
CoRR
Amin Vahedian, Xun Zhou, Ling Tong, W. Nick Street, Yanhua Li
2018 J jnl
CoRR
Michael T. Lash, Min Zhang, Xun Zhou, W. Nick Street, Charles F. Lynch
2018 J jnl
Int. J. Data Min. Bioinform.
Michael T. Lash, Min Zhang, Xun Zhou, W. Nick Street, Charles F. Lynch
2018 J jnl
Ann. Oper. Res.
Senay Yasar Saglam, W. Nick Street
2018 J jnl
Appl. Netw. Sci.
Wenjun Wang, W. Nick Street
2018 J jnl
CoRR
Michael T. Lash, Qihang Lin, W. Nick Street
2017 conf
ICDM Workshops
Michael T. Lash, Qihang Lin, W. Nick Street, Jennifer G. Robinson
2017 A conf
SDM
Michael T. Lash, Qihang Lin, W. Nick Street, Jennifer G. Robinson, Jeffrey W. Ohlmann
2017 J jnl
CoRR
Michael T. Lash, Yuqi Sun, Xun Zhou, Charles F. Lynch, W. Nick Street
2017 conf
BIBM
Michael T. Lash, Yuqi Sun, Xun Zhou, Charles F. Lynch, W. Nick Street
2017 J jnl
Expert Syst. Appl.
Lian Duan, Yanchi Liu, W. Nick Street, Haibing Lu
2016 J jnl
CoRR
Michael T. Lash, Qihang Lin, W. Nick Street, Jennifer G. Robinson
2016 J jnl
CoRR
Michael T. Lash, Qihang Lin, W. Nick Street, Jennifer G. Robinson, Jeffrey W. Ohlmann
2016 J jnl
CoRR
Michael T. Lash, W. Nick Street
2016 J jnl
Int. J. Mach. Learn. Cybern.
Lian Duan, W. Nick Street
2015 conf
ICDM Workshops
Wenjun Wang, W. Nick Street
2015 conf
ICHI
Xi Wang, Zhiya Zuo, Kang Zhao, W. Nick Street
2015 B conf
ASONAM
Wenjun Wang, W. Nick Street, Renato E. deMatta
2014 conf
BICT
Mohammad Khoshneshin, Mahtab Ghazizadeh, W. Nick Street, Jeffrey W. Ohlmann
2014 B conf
ASONAM
Wenjun Wang, W. Nick Street
2014 Misc conf
AusDM
Senay Yasar Saglam, W. Nick Street
2014 J jnl
ACM Trans. Knowl. Discov. Data
Lian Duan, W. Nick Street, Yanchi Liu, Songhua Xu, Brook Wu
2014 conf
ICSH
Xi Wang, Kang Zhao, W. Nick Street
2013 J jnl
IEEE J. Biomed. Health Informatics
Lian Duan, Mohammad Khoshneshin, W. Nick Street, Mei Liu
2013 J jnl
Pattern Recognit. Lett.
Lian Duan, W. Nick Street, Yanchi Liu
2013 J jnl
Algorithmic Finance
Michael Rechenthin, W. Nick Street, Padmini Srinivasan
2012 conf
IHI
Chen Yang, W. Nick Street, Jennifer G. Robinson
2012 conf
ICML Unsupervised and Transfer Learning
Si-Chi Chin, W. Nick Street
2012 conf
IHI
Si-Chi Chin, Charisse R. Madlock-Brown, W. Nick Street, David Eichmann
2012 J jnl
J. Biomed. Informatics
Chih-Lin Chi, W. Nick Street, Jennifer G. Robinson, Matthew A. Crawford
2012 conf
ICDM Workshops
Haibing Lu, Yuan Hong, W. Nick Street, Fei Wang, Hanghang Tong
2012 A* conf
SIGIR
Si-Chi Chin, W. Nick Street
2011 conf
ICMLA (1)
Mohammad Khoshneshin, W. Nick Street, Padmini Srinivasan
2011 conf
LDH
Si-Chi Chin, W. Nick Street
2011 J jnl
Enterp. Inf. Syst.
Lian Duan, W. Nick Street, E. Xu
2010 conf
IHI
Chen Yang, W. Nick Street, Der-Fa Lu, Lynne Lanning
2010 J jnl
Artif. Intell. Medicine
Chih-Lin Chi, W. Nick Street, David A. Katz
2010 A conf
RecSys
Mohammad Khoshneshin, W. Nick Street
2010 conf
WICOW
Si-Chi Chin, W. Nick Street, Padmini Srinivasan, David Eichmann
2010 A conf
RecSys
Mohammad Khoshneshin, W. Nick Street
2008 J jnl
IEEE Trans. Knowl. Data Eng.
Yi Zhang, W. Nick Street
2008 J jnl
J. Biomed. Informatics
Chih-Lin Chi, W. Nick Street, Marcia M. Ward
2007 Misc conf
AMIA
Chih-Lin Chi, W. Nick Street, William H. Wolberg
2007 A conf
SDM
Ding Yuan, W. Nick Street
2006 J jnl
J. Mach. Learn. Res.
Yi Zhang, Samuel Burer, W. Nick Street
2006 conf
ASIST
Xin Ying Qiu, Padmini Srinivasan, W. Nick Street
2006 B conf
IJCNN
Kaan Ataman, W. Nick Street, Yi Zhang
2006 J jnl
Expert Syst. Appl.
YongSeog Kim, W. Nick Street, Filippo Menczer
2005 A* conf
ICDM
Yi Zhang, W. Nick Street
2005 J jnl
INFORMS J. Comput.
W. Nick Street
2005 Misc conf
AMIA
Kirk T. Phillips, W. Nick Street
2005 A* conf
ICDM
Yi Zhang, W. Nick Street, Samuel Burer
2004 J jnl
Decis. Support Syst.
YongSeog Kim, W. Nick Street
2004 J jnl
IEEE Trans. Multim.
Kyoung-Mi Lee, W. Nick Street
2003 J jnl
Mach. Vis. Appl.
Kyoung-Mi Lee, W. Nick Street
2002 J jnl
IEEE Intell. Syst.
Filippo Menczer, Alvaro E. Monge, W. Nick Street
2002 J jnl
Intell. Data Anal.
YongSeog Kim, W. Nick Street, Filippo Menczer
2002 J jnl
Pattern Recognit. Lett.
Kyoung-Mi Lee, W. Nick Street
2002 A conf
AAMAS
Filippo Menczer, W. Nick Street, Narayan Vishwakarma, Alvaro E. Monge, Markus Jakobsson
2001 A* conf
KDD
W. Nick Street, YongSeog Kim
2001 B conf
CEC
YongSeog Kim, W. Nick Street, Filippo Menczer
2001 conf
MDM/KDD
Kyoung-Mi Lee, W. Nick Street
2001 A* conf
SIGIR
Kyoung-Mi Lee, W. Nick Street
2000 J jnl
Evol. Comput.
Filippo Menczer, Melania Degeratu, W. Nick Street
2000 A* conf
KDD
YongSeog Kim, W. Nick Street, Filippo Menczer
1998 A* conf
ICML
W. Nick Street
1998 J jnl
INFORMS J. Comput.
Paul S. Bradley, Olvi L. Mangasarian, W. Nick Street
1996 conf
NIPS
Paul S. Bradley, Olvi L. Mangasarian, W. Nick Street
1995 A* conf
ICML
W. Nick Street, Olvi L. Mangasarian, William H. Wolberg
1995 J jnl
Oper. Res.
Olvi L. Mangasarian, W. Nick Street, William H. Wolberg
redb/extractors/apk_extractors/apk_native_libs.py
← Index redb/extractors/apk_extractors/apk_native_libs.py python
import fnmatch
import hashlib
import inspect
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.apk_extractor import APKExtractor
from redb.models.dataclasses import APKNativeLib

# Known packer/protector native library names
KNOWN_PACKER_LIBS = {
    # Jiagu (360/Qihoo)
    "libjiagu.so", "libjiagu_a64.so", "libjiagu_x86.so", "libjiagu_x64.so",
    # Bangcle/SecNeo
    "libsecexe.so", "libsecmain.so", "libSecShell.so",
    # Baidu
    "libbaiduprotect.so",
    # Tencent (Legu)
    "libtxAppProtect.so", "libBugly.so",
    # iJiami
    "libexec.so", "libexecmain.so",
    # Alibaba
    "libmobisec.so", "libaliprotect.so",
    # APKProtect
    "libAPKProtect.so",
    # Pangxie (Pangolin)
    "libdexjni.so",
    # DexProtector
    "libdexprotector.so",
    # AppSolid
    "libAppSolid.so",
    # Kiwisec
    "libkwscmm.so",
    # DingXiang
    "libx3g.so",
    # NQ Shield
    "libnqshield.so",
    # Generic / other
    "libprotectClass.so",
    "libDexHelper.so",
    "libdexloader.so",
    "libfdog.so",
}

# Glob-style patterns for packer libs (e.g. libshella-*.so)
KNOWN_PACKER_PATTERNS = [
    "libshella-*.so",
    "libshell-super.*.so",
]


def is_known_packer_lib(filename):
    """Check if a native library filename matches known packer signatures."""
    if filename in KNOWN_PACKER_LIBS:
        return True
    for pattern in KNOWN_PACKER_PATTERNS:
        if fnmatch.fnmatch(filename, pattern):
            return True
    return False


class APKNativeLibExtractor(APKExtractor):

    def __init__(
        self, filepath, log, exporters=None, index_prefix=None,
        known_benign=False, known_malicious=False,
        apk=None,
    ):
        super().__init__(
            filepath, log, exporters, index_prefix,
            known_benign, known_malicious, apk,
        )
        self.native_libs = []
        self.abis = set()
        self.log.debug(inspect.currentframe().f_code.co_name)

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

    def extract(self):
        if not self._is_valid_apk():
            self.log.error(f"Invalid APK for {self.hash.sha256}")
            return None

        self.native_libs = []
        self.abis = set()

        zf = self._get_zip_file()
        if not zf:
            return None

        with zf:
            for info in zf.infolist():
                if not (info.filename.startswith("lib/") and info.filename.endswith(".so")):
                    continue
                parts = info.filename.split("/")
                if len(parts) < 3:
                    continue

                abi = parts[1]
                filename = parts[-1]
                self.abis.add(abi)

                try:
                    data = zf.read(info.filename)
                    lib_sha256 = hashlib.sha256(data).hexdigest()
                except Exception as e:
                    self.log.warning(f"Error reading native lib {info.filename}: {e}")
                    continue

                self.native_libs.append(APKNativeLib(
                    abi=abi,
                    filename=filename,
                    size=info.file_size,
                    sha256=lib_sha256,
                    is_known_packer=is_known_packer_lib(filename),
                ))

        if not self.native_libs:
            return None

        return {
            "native_lib_count": len(self.native_libs),
            "abis": sorted(self.abis),
            "native_libs": self.native_libs,
            "known_packer_libs": [
                lib for lib in self.native_libs if lib.is_known_packer
            ],
        }

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

            current_time = datetime.now(timezone.utc)
            data = []
            for lib in self.native_libs:
                data.append([
                    self.sha256,
                    lib.abi,
                    lib.filename,
                    lib.size,
                    lib.sha256,
                    int(lib.is_known_packer),
                    current_time,
                ])

            column_names = [
                'sha256', 'lib_abi', 'lib_filename', 'lib_size',
                'lib_sha256', 'lib_is_known_packer', 'analysis_date',
            ]

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

            return (data, column_names, column_type_names)

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