Nayoung Kim

37 papers A* 4A 1B 1C 1Misc 1Journal 23Unranked 6
YearRankTypeTitle / Venue / Authors
2026 J jnl
NeuroImage
Nayoung Kim, Jin Yong Jeon, Jongwoo Seo, Yunjin Lee, Hee-jin Kim, June Sic Kim
2026 conf
CHI Extended Abstracts
Nayoung Kim, Yotam Sechayk, Zhongyi Zhou, Takeo Igarashi
2026 J jnl
CoRR
Nayoung Kim, Yotam Sechayk, Zhongyi Zhou, Takeo Igarashi
2025 J jnl
CoRR
Hyungyu Shin, Jingyu Tang, Yoonjoo Lee, Nayoung Kim, Hyunseung Lim, Ji Yong Cho, Hwajung Hong, Moontae Lee, Juho Kim
2025 J jnl
Trans. Mach. Learn. Res.
Nayoung Kim, Minsu Kim, Sungsoo Ahn, Jinkyoo Park
2025 J jnl
CoRR
Nayoung Kim, Seongsu Kim, Sungsoo Ahn
2025 J jnl
CoRR
Seongsu Kim, Nayoung Kim, Dongwoo Kim, Sungsoo Ahn
2025 conf
ICAIF
Nayoung Kim, Jangwook Lee, Yuncheol Kang
2025 A* conf
ICLR
Nayoung Kim, Seongsu Kim, Minsu Kim, Jinkyoo Park, Sungsoo Ahn
2025 A* conf
EMNLP
Hyungyu Shin, Jingyu Tang, Yoonjoo Lee, Nayoung Kim, Hyunseung Lim, Ji Yong Cho, Hwajung Hong, Moontae Lee, Juho Kim
2025 J jnl
AI Mag.
Myke C. Cohen, Nayoung Kim, Yang Ba, Anna Pan, Shawaiz Bhatti, Pouria Salehi, James Sung, Erik Blasch, Mickey V. Mancenido, Erin K. Chiou
2025 J jnl
ACM Trans. Multim. Comput. Commun. Appl.
Nayoung Kim, Jung-Kyung Lee, Je-Won Kang
2024 J jnl
CoRR
Nayoung Kim, Minsu Kim, Jinkyoo Park
2024 A* conf
CHI
Yeonsun Yang, Ahyeon Shin, Nayoung Kim, Huidam Woo, John Joon Young Chung, Jean Y. Song
2024 A conf
IROS
Nayoung Kim, Sonya S. Kwak
2024 J jnl
CoRR
Nayoung Kim, Seongsu Kim, Minsu Kim, Jinkyoo Park, Sungsoo Ahn
2024 J jnl
CoRR
Nayoung Kim, Myke C. Cohen, Yang Ba, Anna Pan, Shawaiz Bhatti, Pouria Salehi, James Sung, Erik Blasch, Michelle V. Mancenido, Erin K. Chiou
2024 conf
ASONAM (2)
Nayoung Kim, David Mosallanezhad, Lu Cheng, Michelle V. Mancenido, Huan Liu
2024 J jnl
J. Artif. Intell. Res.
Pouria Salehi, Yang Ba, Nayoung Kim, Ahmadreza Mosallanezhad, Anna Pan, Myke C. Cohen, Yixuan Wang, Jieqiong Zhao, Shawaiz Bhatti, James Sung, Erik Blasch, Michelle V. Mancenido, Erin K. Chiou
2023 J jnl
NeuroImage
Nayoung Kim, Keith Jamison, Abhishek Jaywant, Jacob Garetti, Emily Blunt, Arindam Roychoudhury, Tracy Butler, Kristen Dams-O'Connor, Shahenda Khedr, Chun-cheng Chen, Teena Shetty, Robert J. Winchell, N. Jeremy Hill, Nicholas D. Schiff, Amy Kuceyeski, Sudhin A. Shah
2023 conf
HCI (45)
Nayoung Kim
2023 J jnl
CoRR
Pouria Salehi, Yang Ba, Nayoung Kim, Ahmadreza Mosallanezhad, Anna Pan, Myke C. Cohen, Yixuan Wang, Jieqiong Zhao, Shawaiz Bhatti, James Sung, Erik Blasch, Michelle V. Mancenido, Erin K. Chiou
2023 J jnl
IEEE Access
Jung Kyung Lee, Nayoung Kim, Je-Won Kang
2023 J jnl
CoRR
Nayoung Kim, David Mosallanezhad, Lu Cheng, Michelle V. Mancenido, Huan Liu
2023 J jnl
IEEE Trans. Instrum. Meas.
Chang Hyun Park, Seong-Woo Woo, Nayoung Kim, Hansol Jang, Hyung-Hoi Kim, Yeong Jin Kim, Young-Min Lee, Keum-Shik Hong, Chang-Seok Kim
2022 J jnl
CoRR
Nayoung Kim, Ahmadreza Mosallanezhad, Lu Cheng, Baoxin Li, Huan Li
2022 J jnl
IEEE Commun. Lett.
Nayoung Kim, Minhae Kwon, Hyunggon Park
2022 B conf
COLING
Lu Cheng, Nayoung Kim, Huan Liu
2022 J jnl
CoRR
Lu Cheng, Nayoung Kim, Huan Liu
2022 J jnl
Manag. Sci.
Chun-Yu Ho, Nayoung Kim, Ying Rong, Xin Tian
2021 A* conf
ICCV
Nayoung Kim, Seong Jong Ha, Je-Won Kang
2018 J jnl
BMC Syst. Biol.
Yourae Hong, Choa Park, Nayoung Kim, Juyeon Cho, Sung Ung Moon, Jongmin Kim, Euna Jeong, Sukjoon Yoon
2018 conf
BCI
Nayoung Kim, Chang S. Nam
2017 conf
SIGGRAPH Talks
Wanho Choi, Nayoung Kim, Julie Jang, Sanghun Kim, Dohyun Yang
2015 J jnl
Bioinform.
Euna Jeong, Ningning He, Hyerin Park, Mee Song, Nayoung Kim, Seong Joon Lee, Sukjoon Yoon
2014 C conf
WISTP
Ju-Sung Kang, Nayoung Kim, Wangho Ju, Okyeon Yi
2014 Misc conf
CHI PLAY
Marco Filipe Ganança Vieira, Hao Fu, Chong Hu, Nayoung Kim, Sudhanshu Aggarwal
redb/utils/sort_files_by_type.py
← Index redb/utils/sort_files_by_type.py python
import os
import sys
from collections import defaultdict
import tempfile
from magika import Magika
import py7zr
import pyzipper
import shutil

"""
This script is used to sort files by their type. 
It reads all the files in the provided directory and splits them into different 
directories based on their type. Mainly, it classifies the files into the following types:
- PE Binaries
- Mach-O Binaries
- ELF Binaries
- APK 
- Other Files

It outputs the count of files for each file extension and file type.

Command line example:
nohup python3 sort_files_by_type.py /mnt/samples/consilience/malware/vx-bazaar-expanded/Bazaar.2020.12 \
    /mnt/samples/consilience/malware/_sorted_samples/vx-bazaar/2020/ > \
    /mnt/samples/consilience/malware/ops-logs/20241014-SORT_FILES-bazaar_2020.12.output.log 2>&1 &
"""


def process_zip_file(filepath):
    print(f"[INFO] - Processing zip file: {filepath}")
    with tempfile.TemporaryDirectory() as temp_dir:
        try:
            with pyzipper.AESZipFile(filepath) as zf:
                zf.pwd = b"infected"
                filename = zf.namelist()[0]
                zf.extractall(temp_dir)
                extracted_zip_path = os.path.join(temp_dir, filename)
                return process_binary_file(extracted_zip_path)
        except Exception as e:
            print(f"[ERR] - Error processing zip file {filepath}: {str(e)}")
            return None


def process_7z_file(filepath):
    print(f"[INFO] - Processing 7z file: {filepath}")
    with tempfile.TemporaryDirectory() as temp_dir:
        try:
            with py7zr.SevenZipFile(filepath, mode="r", password="infected") as z:
                z.extractall(path=temp_dir)
                for root, _, files in os.walk(temp_dir):
                    for file in files:
                        extracted_file_path = os.path.join(root, file)
                        return process_binary_file(extracted_file_path)
        except Exception as e:
            print(f"[ERR] - Error processing 7z file {filepath}: {str(e)}")
            return None


def process_binary_file(filepath):
    print(f"[INFO] - Processing binary file: {filepath}")
    try:
        with open(filepath, "rb") as f:
            data = f.read(512 * 1024)  # 512KB
        return Magika().identify_bytes(data).output.ct_label
    except Exception as e:
        print(f"[ERR] - Error processing binary file {filepath}: {str(e)}")
        return "ERROR"


def count_file_extensions(path, dest_dir):
    # A defaultdict to store file extension counts
    extension_count = defaultdict(int)
    filetype_count = defaultdict(int)
    tot_files = 0

    # Walk through the directory
    for root, dirs, files in os.walk(path):
        for file in files:
            if file.startswith("."):
                continue

            tot_files += 1
            # Split the file extension from the file name
            _, ext = os.path.splitext(file)
            ext = ext.lower()

            # Count the extensions
            extension_count[ext] += 1
            filepath = os.path.join(root, file)
            filetype = ""

            if ext == ".7z":
                filetype = process_7z_file(filepath)
            elif ext == ".zip":
                filetype = process_zip_file(filepath)
            else:
                filetype = process_binary_file(filepath)

            filetype_count[filetype] += 1

            if filetype == "pebin":
                dest = os.path.join(dest_dir, "pebin")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            elif filetype == "macho":
                dest = os.path.join(dest_dir, "macho")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            elif filetype == "elf":
                dest = os.path.join(dest_dir, "elf")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            elif filetype == "apk":
                dest = os.path.join(dest_dir, "apk")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            else:
                dest = os.path.join(dest_dir, "other")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            print(f"[STATUS] - Progres: {tot_files}/{len(files)} files processed")

    # Print the results
    # print("- File Extension Statistics:")
    # for ext, count in extension_count.items():
    #     if ext:  # To exclude files with no extension
    #         print(f"\t{ext}: {count} files")

    # if "" in extension_count:
    #     print(f'\t{extension_count[""]} files with no extension')

    print(f"- Total Number of Files: {tot_files}")
    print("\n- File Type Statistics:")
    for filetype, count in sorted(filetype_count.items()):
        print(f"\t{filetype:<15}{count:>8}")


if __name__ == "__main__":
    # Check if the path was passed as a command-line argument
    if len(sys.argv) != 3:
        print("Usage: python3 script.py <input_path> <dest_dir>")
        sys.exit(1)

    # Get the path from the command-line arguments
    input_path = sys.argv[1]
    dest_dir = sys.argv[2]

    # Check if the provided path is valid
    if not os.path.isdir(input_path):
        print(f"The path '{input_path}' is not a valid directory.")
        sys.exit(1)

    # Call the function to count file extensions
    count_file_extensions(input_path, dest_dir)