Cam-Hao Hua

34 papers B 6Misc 3Journal 17Unranked 8
YearRankTypeTitle / Venue / Authors
2023 J jnl
Sensors
Muhammad Asif Razzaq, Jamil Hussain, Jaehun Bang, Cam-Hao Hua, Fahad Ahmed Satti, Ubaid Ur Rehman, Hafiz Syed Muhammad Bilal, Seong Tae Kim, Sungyoung Lee
2023 conf
AICCC
Tri D. T. Nguyen, Cam-Hao Hua, Ubaid Ur Rehman, Musarrat Hussain, Sungyoung Lee
2021 J jnl
Appl. Intell.
Mugahed A. Al-antari, Cam-Hao Hua, Jaehun Bang, Sungyoung Lee
2021 J jnl
IEEE Commun. Lett.
Thien Huynh-The, Cam-Hao Hua, Van-Sang Doan, Quoc-Viet Pham, Dong-Seong Kim
2021 J jnl
IEEE Wirel. Commun. Lett.
Thien Huynh-The, Van-Sang Doan, Cam-Hao Hua, Quoc-Viet Pham, Toan-Van Nguyen, Dong-Seong Kim
2021 J jnl
IEEE J. Biomed. Health Informatics
Cam-Hao Hua, Kiyoung Kim, Thien Huynh-The, Jong In You, Seung-Young Yu, Thuong Le-Tien, Sung-Ho Bae, Sungyoung Lee
2021 J jnl
IEEE Internet Things J.
Thien Huynh-The, Cam-Hao Hua, Nguyen Anh Tu, Dong-Seong Kim
2020 conf
IMCOM
Thien Huynh-The, Cam-Hao Hua, Nguyen Anh Tu, Jae-Woo Kim, Seung-Hwan Kim, Dong-Seong Kim
2020 B conf
GLOBECOM
Thien Huynh-The, Van-Sang Doan, Cam-Hao Hua, Quoc-Viet Pham, Dong-Seong Kim
2020 J jnl
CoRR
Thien Huynh-The, Van-Sang Doan, Cam-Hao Hua, Quoc-Viet Pham, Dong-Seong Kim
2020 conf
IMCOM
Cam-Hao Hua, Thien Huynh-The, Hyunseok Seo, Sungyoung Lee
2020 J jnl
Inf. Sci.
Cam-Hao Hua, Thien Huynh-The, Sung-Ho Bae, Sungyoung Lee
2020 conf
EMBC
Cam-Hao Hua, Thien Huynh-The, Sungyoung Lee
2020 conf
ICTC
Thien Huynh-The, Cam-Hao Hua, Van-Sang Doan, Quoc-Viet Pham, Toan-Van Nguyen, Dong-Seong Kim
2020 J jnl
IEEE Trans. Ind. Informatics
Thien Huynh-The, Cam-Hao Hua, Dong-Seong Kim
2020 B conf
WCNC
Thien Huynh-The, Cam-Hao Hua, Jae-Woo Kim, Seung-Hwan Kim, Dong-Seong Kim
2020 J jnl
Inf. Sci.
Thien Huynh-The, Cam-Hao Hua, Trung-Thanh Ngo, Dong-Seong Kim
2020 J jnl
Neurocomputing
Thien Huynh-The, Cam-Hao Hua, Nguyen Anh Tu, Dong-Seong Kim
2020 B conf
GLOBECOM
Van-Sang Doan, Thien Huynh-The, Cam-Hao Hua, Quoc-Viet Pham, Dong-Seong Kim
2020 J jnl
CoRR
Van-Sang Doan, Thien Huynh-The, Cam-Hao Hua, Quoc-Viet Pham, Dong-Seong Kim
2020 Misc conf
ICASSP
Thien Huynh-The, Cam-Hao Hua, Nguyen Anh Tu, Dong-Seong Kim
2020 J jnl
IEEE Commun. Lett.
Thien Huynh-The, Cam-Hao Hua, Quoc-Viet Pham, Dong-Seong Kim
2020 Misc conf
DICTA
Thien Huynh-The, Cam-Hao Hua, Nguyen Anh Tu, Dong-Seong Kim
2019 J jnl
Int. J. Medical Informatics
Cam-Hao Hua, Thien Huynh-The, Kiyoung Kim, Seung-Young Yu, Thuong Le-Tien, Gwang Hoon Park, Jae Hun Bang, Wajahat Ali Khan, Sung-Ho Bae, Sungyoung Lee
2019 B conf
SAS
Thien Huynh-The, Cam-Hao Hua, Dong-Seong Kim
2019 J jnl
IEEE Access
Thien Huynh-The, Cam-Hao Hua, Nguyen Anh Tu, Dong-Seong Kim
2019 conf
EMBC
Cam-Hao Hua, Thien Huynh-The, Sungyoung Lee
2019 Misc conf
DICTA
Thien Huynh-The, Cam-Hao Hua, Nguyen Anh Tu, Dong-Seong Kim
2019 conf
EMBC
Thien Huynh-The, Cam-Hao Hua, Dong-Seong Kim
2018 B conf
SMC
Cam-Hao Hua, Thien Huynh-The, Sungyoung Lee
2018 J jnl
Inf. Sci.
Thien Huynh-The, Cam-Hao Hua, Nguyen Anh Tu, Tae Ho Hur, Jae Hun Bang, Dohyeong Kim, Muhammad Bilal Amin, Byeong Ho Kang, Hyonwoo Seung, Soo-Yong Shin, Eun-Soo Kim, Sungyoung Lee
2018 J jnl
Inf. Sci.
Thien Huynh-The, Cam-Hao Hua, Nguyen Anh Tu, Tae Ho Hur, Jae Hun Bang, Dohyeong Kim, Muhammad Bilal Amin, Byeong Ho Kang, Hyonwoo Seung, Sungyoung Lee
2017 B conf
AVSS
Thien Huynh-The, Sungyoung Lee, Cam-Hao Hua
2017 conf
IMCOM
Thien Huynh-The, Cam-Hao Hua, Sungyoung Lee
Dockerfile
← Index Dockerfile dockerfile
FROM python:3.12-slim

# Prevent interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive

# Install system dependencies (build tools will be removed after pip install).
# curl + ca-certificates + gnupg are needed to add the NodeSource repository
# for the JS analysis toolchain (webcrack + @nodesecure/js-x-ray).
RUN apt-get update && apt-get install -y \
    git \
    gcc \
    g++ \
    build-essential \
    libmagic1 \
    file \
    libqt5core5a \
    libqt5gui5 \
    libqt5widgets5 \
    default-jre-headless \
    curl \
    ca-certificates \
    gnupg \
    && rm -rf /var/lib/apt/lists/*

# Install Node.js 22 LTS (needed by webcrack and @nodesecure/js-x-ray). Pinning
# to 22.x because that's the active LTS — bumping to a future major is a
# deliberate Dockerfile change, not a silent upgrade on rebuild.
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
    apt-get install -y nodejs && \
    rm -rf /var/lib/apt/lists/*

# webcrack is the deobfuscator (CLI on PATH). Pinned to 2.16.0 — released
# 2026-04-25, last verified working with our subprocess invocation. Bumping
# this is a deliberate change so a future regression in webcrack does not
# show up as a silent JSDeobfuscation behaviour shift on image rebuild.
RUN npm install -g webcrack@2.16.0

# Create application directory
WORKDIR /app

# Copy requirements and install Python dependencies
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt

# Remove build dependencies to reduce image size. curl + gnupg are kept —
# curl is widely useful and gnupg is small. Node.js stays.
RUN apt-get remove -y gcc g++ build-essential git && \
    apt-get autoremove -y && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# Copy application code (explicit files to help debug .dockerignore issues)
COPY redb/ ./redb/
COPY start.py .
COPY scripts/ ./scripts/

# Install @nodesecure/js-x-ray locally next to its bundled Node bridge so the
# Python wrapper's `node_modules/@nodesecure/js-x-ray` existence check passes
# without any runtime configuration. Version is pinned in the package.json.
# The npm install also triggers the `postinstall: patch-package` hook which
# re-applies the local patch in scripts/patches/ — currently a one-line fix
# for a `from "repl"` → `from "module"` import in [email protected] that breaks
# on Node 22 patches above ~22.10. Drop the patch when js-x-ray ships a fix.
RUN cd /app/redb/extractors/js_extractors/scripts && npm install --omit=dev

# Set up logging path and create logs directory
ENV LOG_FILE_PATH="/app/logs/"
RUN mkdir -p /app/logs

# Environment variables for tools (snapshot-style paths)
ENV CAPA_PATH="/usr/bin/capa"
ENV DIE_PATH="/usr/bin/nfdc"
ENV GORESYM_PATH="/usr/bin/GoReSym"
ENV JADX_PATH="/opt/deploy/jadx/bin/jadx"
ENV APKTOOL_PATH="/usr/local/bin/apktool"
ENV MALCONTENT_PATH="/usr/local/bin/mal"
ENV PATH="/usr/bin:/opt/binaryninja:${PATH}"
ENV PYTHONPATH="/opt/binaryninja/python"

# Tool timeouts
ENV CAPA_TIMEOUT="300"
ENV DIE_TIMEOUT="180"
ENV MALCONTENT_TIMEOUT="300"
ENV JADX_TIMEOUT="600"
ENV BINJA_TIMEOUT="1200"
ENV DECOMPILE_EXTRACTOR_TIMEOUT="2580"

ENV MALCONTENT_FORMATS=pebin,elf,macho,apk,javascript

# JS analysis toolchain. webcrack is on PATH from the global npm install;
# js-x-ray's Python wrapper finds the bundled Node bridge at the default
# location (no env needed). Override these in .env / Nomad if you swap tools.
ENV JS_DEOBFUSCATOR_PATH="webcrack"
ENV JS_DEOBFUSCATE_TIMEOUT="60"
ENV JS_XRAY_TIMEOUT="60"

# Copy the Binary Ninja setup script
COPY scripts/setup-and-run.sh /usr/local/bin/setup-and-run.sh
RUN chmod +x /usr/local/bin/setup-and-run.sh

# Create non-root user for security
RUN useradd -m -u 1000 analyzer
RUN chown -R analyzer:analyzer /app /app/logs
USER analyzer

# Set entrypoint to setup script for Binary Ninja installation (runtime)
ENTRYPOINT ["/usr/local/bin/setup-and-run.sh"]

# Set working directory
WORKDIR /app

# Default command - supports both feature extraction and decompilation
CMD ["python3", "start.py", "--nomad-job"]