Veeraruna Kavitha

109 papers A* 3A 1B 15C 6Misc 4Journal 47Unranked 32
YearRankTypeTitle / Venue / Authors
2026 J jnl
Games Econ. Behav.
Tushar Shankar Walunj, Shiksha Singhal, Veeraruna Kavitha, Jayakrishnan Nair
2026 J jnl
Dyn. Games Appl.
Tushar Shankar Walunj, Shiksha Singhal, Jayakrishnan Nair, Veeraruna Kavitha
2025 conf
GAMENETS
Khushboo Agarwal, Konstantin Avrachenkov, Veeraruna Kavitha, Raghupati Vyas
2025 conf
CDC
Konstantin Avrachenkov, Madhu Dhiman, Veeraruna Kavitha
2025 J jnl
Public Transp.
M. Venkateswararao Koppisetti, Veeraruna Kavitha
2025 conf
CDC
Gurkirat Wadhwa, Akansh Verma, Veeraruna Kavitha, Priyank Sinha
2025 J jnl
IEEE Control. Syst. Lett.
Madhu Dhiman, Atul Maurya, Veeraruna Kavitha, Priyank Sinha
2025 conf
CDC
Konstantin Avrachenkov, Kousik Das, Veeraruna Kavitha, Vartika Singh
2025 J jnl
CoRR
Konstantin Avrachenkov, Kousik Das, Veeraruna Kavitha, Vartika Singh
2025 J jnl
Perform. Evaluation
Tushar Shankar Walunj, Veeraruna Kavitha, Jayakrishnan Nair, Priyank Agarwal
2025 conf
SIGMETRICS (Abstracts)
Khushboo Agarwal, Konstantin Avrachenkov, Raghupati Vyas, Veeraruna Kavitha
2025 J jnl
Proc. ACM Meas. Anal. Comput. Syst.
Khushboo Agarwal, Konstantin Avrachenkov, Raghupati Vyas, Veeraruna Kavitha
2025 conf
ECC
Gurkirat Wadhwa, Veeraruna Kavitha
2024 J jnl
CoRR
Khushboo Agarwal, Konstantin Avrachenkov, Veeraruna Kavitha, Raghupati Vyas
2024 C conf
ACC
Vartika Singh, Veeraruna Kavitha
2024 conf
CDC
Riya Sultana, Veeraruna Kavitha
2024 J jnl
CoRR
Riya Sultana, Veeraruna Kavitha
2024 J jnl
Dyn. Games Appl.
Vartika Singh, Veeraruna Kavitha
2024 C conf
ICORES
Gurkirat Wadhwa, Tushar Shankar Walunj, Veeraruna Kavitha
2024 J jnl
Ann. Oper. Res.
Indrajit Saha, Veeraruna Kavitha
2024 J jnl
SIGMETRICS Perform. Evaluation Rev.
Khushboo Agarwal, Veeraruna Kavitha
2024 Misc conf
COMSNETS
Shiksha Singhal, Veeraruna Kavitha, Vidya Shankar
2024 J jnl
Dyn. Games Appl.
Vartika Singh, Veeraruna Kavitha
2023 J jnl
Eur. J. Oper. Res.
Uday Kumar M, Sanjay P. Bhat, Veeraruna Kavitha, Nandyala Hemachandra
2023 J jnl
ACM Trans. Model. Perform. Evaluation Comput. Syst.
Kiran Chaudhary, Veeraruna Kavitha, Jayakrishnan Nair
2023 C conf
ACC
Vartika Singh, Veeraruna Kavitha
2023 C conf
ACC
Madhu Dhiman, Chen Peng, Veeraruna Kavitha, Quanyan Zhu
2023 J jnl
CoRR
Shiksha Singhal, Veeraruna Kavitha, Jayakrishnan Nair
2023 J jnl
IEEE Control. Syst. Lett.
Uday Kumar M, Veeraruna Kavitha, Sanjay P. Bhat, Nandyala Hemachandra
2023 ed.
VALUETOOLS
Esa Hyytiä, Veeraruna Kavitha
2023 J jnl
CoRR
Khushboo Agarwal, Veeraruna Kavitha
2023 J jnl
Perform. Evaluation
Khushboo Agarwal, Veeraruna Kavitha
2023 C conf
ACC
Khushboo Agarwal, Veeraruna Kavitha
2023 J jnl
CoRR
Shiksha Singhal, Veeraruna Kavitha, Vidya Shankar
2023 J jnl
Dyn. Games Appl.
Indrajit Saha, Veeraruna Kavitha
2023 J jnl
Comput. Commun.
Ranbir Dhounchak, Veeraruna Kavitha, Eitan Altman
2022 J jnl
SIGMETRICS Perform. Evaluation Rev.
Shiksha Singhal, Veeraruna Kavitha
2022 conf
Allerton
Tushar Shankar Walunj, Shiksha Singhal, Veeraruna Kavitha, Jayakrishnan Nair
2022 conf
CDC
Khushboo Agarwal, Veeraruna Kavitha
2021 B conf
Networking
Khushboo Agarwal, Veeraruna Kavitha
2021 conf
CDC
Shiksha Singhal, Veeraruna Kavitha, Jayakrishnan Nair
2021 J jnl
CoRR
Shiksha Singhal, Veeraruna Kavitha, Jayakrishnan Nair
2021 J jnl
Perform. Evaluation
Shiksha Singhal, Veeraruna Kavitha
2021 C conf
ACC
Suyog Kapsikar, Indrajit Saha, Khushboo Agarwal, Veeraruna Kavitha, Quanyan Zhu
2021 J jnl
IEEE Control. Syst. Lett.
Suyog Kapsikar, Indrajit Saha, Khushboo Agarwal, Veeraruna Kavitha, Quanyan Zhu
2021 conf
VALUETOOLS
Vartika Singh, Khushboo Agarwal, Shubham, Veeraruna Kavitha
2021 conf
CDC
Richa Dhingra, Hansraj Satyam Verma, Alexandre Reiffers-Masson, Veeraruna Kavitha
2020 conf
CDC
Vartika Singh, Veeraruna Kavitha
2020 J jnl
CoRR
Khushboo Agarwal, Veeraruna Kavitha
2020 J jnl
CoRR
Suyog Kapsikar, Indrajit Saha, Khushboo Agarwal, Veeraruna Kavitha, Quanyan Zhu
2020 conf
NetGCooP
Veeraruna Kavitha, Eitan Altman
2020 J jnl
CoRR
Shiksha Singhal, Veeraruna Kavitha
2020 conf
NetGCooP
M. Venkateswararao Koppisetti, Veeraruna Kavitha
2020 conf
NetGCooP
Indrajit Saha, Veeraruna Kavitha
2020 J jnl
CoRR
Guanze Peng, Veeraruna Kavitha, Quanyan Zhu
2020 B conf
WiOpt
Rudrabhotla Sri Prakash, Nikhil Karamchandani, Veeraruna Kavitha, Sharayu Moharir
2019 conf
Allerton
Veeraruna Kavitha, Mayank Maheshwari, Eitan Altman
2019 J jnl
CoRR
Veeraruna Kavitha, Mayank Maheshwari, Eitan Altman
2019 conf
Allerton
Yunhan Huang, Veeraruna Kavitha, Quanyan Zhu
2019 J jnl
CoRR
Yunhan Huang, Veeraruna Kavitha, Quanyan Zhu
2019 B conf
WiOpt
Kiran Chaudhary, Veeraruna Kavitha, Jayakrishnan Nair
2019 J jnl
CoRR
Kiran Chaudhary, Veeraruna Kavitha, Jayakrishnan Nair
2019 B conf
WiOpt
Veeraruna Kavitha, Eitan Altman, Sreenath Ramanath
2019 J jnl
Comput. Commun.
Veeraruna Kavitha, Nandyala Hemachandra, Mayur Zambre
2019 J jnl
Ann. Oper. Res.
Veeraruna Kavitha, Jayakrishnan Nair, Raman Kumar Sinha
2019 J jnl
Comput. Commun.
Veeraruna Kavitha, Manu K. Gupta, Véronique Capdevielle, Rahul Kishor, Majed Haddad
2019 conf
VALUETOOLS
Uday Kumar M, Sanjay P. Bhat, Veeraruna Kavitha, Nandyala Hemachandra
2018 Misc conf
COMSNETS
M. Venkateswararao Koppisetti, Veeraruna Kavitha, Urtzi Ayesta
2018 J jnl
CoRR
Veeraruna Kavitha, Eitan Altman, Indrajit Saha
2018 conf
CDC
Veeraruna Kavitha, Indrajit Saha, Sandeep Juneja
2018 J jnl
CoRR
Veeraruna Kavitha, Manu K. Gupta, Véronique Capdevielle, Rahul Kishor, Majed Haddad
2018 conf
COMSNETS (Extended Selected Papers)
Salman Memon, Veeraruna Kavitha, Manjesh Kumar Hanawal, Eitan Altman, R. Devanand
2018 Misc conf
COMSNETS
Veeraruna Kavitha, Salman Memon, Manjesh Kumar Hanawal, Eitan Altman, R. Devanand
2017 conf
ITC PhD Workshop
Ranbir Dhounchak, Veeraruna Kavitha, Eitan Altman
2017 J jnl
CoRR
Ranbir Dhounchak, Veeraruna Kavitha, Eitan Altman
2017 conf
VALUETOOLS
Veeraruna Kavitha, Raman Kumar Sinha
2015 conf
CDC
Atul Kumar, Veeraruna Kavitha, Nandyala Hemachandra
2015 B conf
WiOpt
Veeraruna Kavitha, K. M. Venkateswara Rao
2015 B conf
WiOpt
Atul Kumar, Veeraruna Kavitha, Nandyala Hemachandra
2015 A* conf
INFOCOM
Malhar Mehta, Veeraruna Kavitha, Nandyala Hemachandra
2014 J jnl
IEEE/ACM Trans. Netw.
Veeraruna Kavitha, Eitan Altman, Rachid El Azouzi, Rajesh Sundaresan
2014 B conf
WiOpt
Deeksha Sinha, Veeraruna Kavitha, Abhay Karandikar
2014 B conf
WiOpt
Ayush Rawal, Veeraruna Kavitha, Manu K. Gupta
2013 conf
Allerton
Veeraruna Kavitha, Nandyala Hemachandra, Debayan Das
2013 J jnl
CoRR
Veeraruna Kavitha, Richard Combes
2013 J jnl
Perform. Evaluation
Veeraruna Kavitha, Richard Combes
2013 B conf
WiOpt
Veeraruna Kavitha, Tejas Bodas, D. Manjunath
2013 J jnl
Comput. Commun.
Veeraruna Kavitha, Sreenath Ramanath, Mérouane Debbah
2013 conf
Allerton
Veeraruna Kavitha, Véronique Capdevielle, Manu K. Gupta
2012 B conf
WiOpt
Veeraruna Kavitha, Sreenath Ramanath, Eitan Altman
2012 J jnl
Ann. Oper. Res.
Veeraruna Kavitha, Eitan Altman
2012 J jnl
IEEE Trans. Inf. Theory
Veeraruna Kavitha, Eitan Altman, Rachid El Azouzi, Rajesh Sundaresan
2012 B conf
WiOpt
Veeraruna Kavitha, Sreenath Ramanath, Mérouane Debbah
2011 conf
VALUETOOLS
Veeraruna Kavitha
2011 J jnl
IEEE Trans. Wirel. Commun.
Taposh Banerjee, Vinod Sharma, Veeraruna Kavitha, ArunKumar Jayaprakasam
2011 B conf
WiOpt
Sreenath Ramanath, Veeraruna Kavitha, Eitan Altman
2011 A* conf
INFOCOM
Eitan Altman, Veeraruna Kavitha, Francesco De Pellegrini, Vijay Kamble, Vivek S. Borkar
2011 B conf
WiOpt
Sreenath Ramanath, Veeraruna Kavitha, Mérouane Debbah
2011 J jnl
Perform. Evaluation
Veeraruna Kavitha, Sreenath Ramanath, Eitan Altman
2010 conf
GameSec
Eitan Altman, Tamer Basar, Veeraruna Kavitha
2010 B conf
WiOpt
Veeraruna Kavitha, Eitan Altman
2010 A* conf
INFOCOM
Veeraruna Kavitha, Eitan Altman, Rachid El Azouzi, Rajesh Sundaresan
2010 conf
MobiOpp
Veeraruna Kavitha, Eitan Altman
2010 B conf
WiOpt
Sreenath Ramanath, Veeraruna Kavitha, Eitan Altman
2009 conf
CDC
Veeraruna Kavitha, Eitan Altman, Rachid El Azouzi, Rajesh Sundaresan
2009 A conf
ITC
Veeraruna Kavitha, Eitan Altman
2009 conf
VALUETOOLS
Essaid Sabir, Rachid El Azouzi, Veeraruna Kavitha, Yezekael Hayel, El-Houssine Bouyakhf
2008 Misc conf
ICASSP
Taposh Banerjee, Veeraruna Kavitha, Vinod Sharma
2005 conf
ICASSP (3)
Veeraruna Kavitha, Vinod Sharma
redb/extractors/macho_extractors/macho_exports.py
← Index redb/extractors/macho_extractors/macho_exports.py python
import inspect
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.macho_extractor import MachOExtractor
from redb.models.dataclasses import MachOExport


class MachOExportExtractor(MachOExtractor):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        macho=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters,
            index_prefix,
            elastic_index,
            known_benign,
            known_malicious,
            macho,
        )
        self.elastic_index = self.index_prefix + "-macho_exports"
        self.log.debug(inspect.currentframe().f_code.co_name)

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

    def _extract_exports(self, arch_name=None):
        """Extract export information from the MachO binary for a specific architecture."""
        self.log.debug(inspect.currentframe().f_code.co_name)

        if not self.macho:
            return None

        try:
            # Get exported symbols using new API for specific architecture
            exported_symbols = self.macho.get_exported_symbols(arch=arch_name)

            # Extract all exported symbols (may be empty for some binaries)
            # Handle None or empty dict
            if not exported_symbols:
                exported_symbols = {}
            all_symbols = []
            for dylib_name, symbols in exported_symbols.items():
                # Process symbol names
                for symbol in symbols:
                    if isinstance(symbol, bytes):
                        symbol = symbol.decode('utf-8', errors='replace')
                    all_symbols.append(symbol)

            # Create export dataclass
            macho_export = MachOExport(
                macho_exports_total=len(all_symbols),
                macho_export_symbols=all_symbols  # Empty list is fine, but None is not allowed for Array type
            )

            return macho_export

        except Exception as e:
            self.log.error(f"Error extracting MachO exports for arch {arch_name}: {e}")
            return None

    def extract(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        try:
            # Get architectures (macho is already parsed in base class)
            architectures = self.macho.get_architectures()
            if len(architectures) > 1:
                # FAT binary - return list of exports for each architecture
                results = []
                for arch_name in architectures:
                    exports = self._extract_exports(arch_name)
                    if exports:
                        exports.arch_identifier = arch_name
                        results.append(exports)
                return results
            else:
                # Single architecture - return single result
                return self._extract_exports(architectures[0] if architectures else None)
        except Exception as e:
            self.log.error(f"Error extracting MachO exports: {e}")
            return None

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

            # Get architectures (macho is already parsed in base class)
            try:
                architectures = self.macho.get_architectures()
                is_fat = len(architectures) > 1
            except Exception as e:
                self.log.error(f"Could not get architectures: {e}")
                return None

            data = []
            current_time = datetime.now(timezone.utc)

            # Loop through each architecture (1 for single, multiple for FAT)
            for arch_name in architectures:
                # Get architecture-specific sha256
                try:
                    arch_general_info = self.macho.get_general_info(arch=arch_name)
                    arch_header_raw = self.macho.get_macho_header(arch=arch_name)
                    arch_sha256 = arch_general_info.get('SHA256', self.sha256)
                    arch_cputype_raw = arch_header_raw.get('cputype', 0) if arch_header_raw else 0
                except Exception as e:
                    self.log.warning(f"Could not get arch-specific data for {arch_name}: {e}")
                    arch_sha256 = self.sha256
                    arch_cputype_raw = 0

                # Get exports for this architecture
                macho_export = self._extract_exports(arch_name)
                if not macho_export:
                    continue

                data.append([
                    arch_sha256,                          # sha256 (arch-specific)
                    macho_export.macho_exports_total,     # macho_exports_total
                    macho_export.macho_export_symbols,    # macho_export_symbols (keep as array!)
                    current_time,                         # analysis_date
                ])

            column_names = [
                'sha256',
                'macho_exports_total', 'macho_export_symbols',
                'analysis_date'
            ]

            if not data:
                return None

            column_type_names = [
                'FixedString(64)',
                'UInt32', 'Array(Nullable(String))',
                'DateTime64(3, \'UTC\')'
            ]

            return (data, column_names, column_type_names)

        return None

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