Omar Javed

54 papers A* 11A 6B 4C 1Misc 1Journal 10Unranked 19
YearRankTypeTitle / Venue / Authors
2026 conf
EACL (Industry Track)
Matteo Nulli, Orshulevich Vladimir, Tala Bazazo, Christian Herold, Michael Kozielski, Marcin Mazur, Szymon Tuzel, Cees G. M. Snoek, Seyyed Hadi Hashemi, Omar Javed, Yannick Versley, Shahram Khadivi
2026 J jnl
CoRR
Matteo Nulli, Vladimir Orshulevich, Tala Bazazo, Christian Herold, Michael Kozielski, Marcin Mazur, Szymon Tuzel, Cees G. M. Snoek, Seyyed Hadi Hashemi, Omar Javed, Yannick Versley, Shahram Khadivi
2024 J jnl
J. Log. Comput.
Bart Jacobs, Bram Westerbaan, Omar Javed, Harm van Stekelenburg, Lian Vervoort, Jan den Besten
2022 B conf
IEEE Big Data
Omar Javed, Prashant Singh, Giles Reger, Salman Toor
2022 J jnl
CoRR
Omar Javed, Prashant Singh, Giles Reger, Salman Toor
2021 conf
ICCBDC
Omar Javed, Salman Toor
2021 J jnl
CoRR
Omar Javed, Salman Toor
2020 B conf
RV
Joshua Heneage Dawes, Marta Han, Omar Javed, Giles Reger, Giovanni Franzoni, Andreas Pfeiffer
2020 A* conf
ASE
Omar Javed, Joshua Heneage Dawes, Marta Han, Giovanni Franzoni, Andreas Pfeiffer, Giles Reger, Walter Binder
2019 Misc conf
SAC
Omar Javed, Alex Villazón, Walter Binder
2018 C conf
APSEC
Omar Javed, Walter Binder
2017 A conf
ICST
Haiyang Sun, Andrea Rosà, Omar Javed, Walter Binder
2016 conf
ISoLA (2)
Andrea Rosà, Yudi Zheng, Haiyang Sun, Omar Javed, Walter Binder
2016 A conf
SANER
Yudi Zheng, Andrea Rosà, Luca Salucci, Yao Li, Haiyang Sun, Omar Javed, Lubomír Bulej, Lydia Y. Chen, Zhengwei Qi, Walter Binder
2016 B conf
RV
Omar Javed, Yudi Zheng, Andrea Rosà, Haiyang Sun, Walter Binder
2015 J jnl
CoRR
S. Hussain Raza, Omar Javed, Aveek Das, Harpreet S. Sawhney, Hui Cheng, Irfan A. Essa
2015 conf
ISBA
Ravichandran Subramanian, Sudeep Sarkar, Miguel A. Labrador, Kristina Contino, Christopher Eggert, Omar Javed, Jiejie Zhu, Hui Cheng
2014 A conf
BMVC
Syed Raza, Omar Javed, Aveek Das, Harpreet S. Sawhney, Hui Cheng, Irfan A. Essa
2014 conf
HuEvent@MM
Ishani Chakraborty, Hui Cheng, Omar Javed
2014 A* conf
CVPR
Jiejie Zhu, Omar Javed, Jingen Liu, Qian Yu, Hui Cheng, Harpreet S. Sawhney
2014 J jnl
Mach. Vis. Appl.
Thomas B. Moeslund, Omar Javed, Yu-Gang Jiang, R. Manmatha
2014 conf
ECCV (7)
Dong Zhang, Omar Javed, Mubarak Shah
2013 A* conf
CVPR
Ishani Chakraborty, Hui Cheng, Omar Javed
2013 conf
TRECVID
Jingen Liu, Hui Cheng, Omar Javed, Qian Yu, Ishani Chakraborty, Weiyu Zhang, Ajay Divakaran, Harpreet S. Sawhney, James Allan, R. Manmatha, John Foley, Mubarak Shah, Afshin Dehghan, Michael Witbrock, Jon Curtis, Gerald Friedland
2013 A* conf
CVPR
Dong Zhang, Omar Javed, Mubarak Shah
2013 A conf
WACV
Jingen Liu, Qian Yu, Omar Javed, Saad Ali, Amir Tamrakar, Ajay Divakaran, Hui Cheng, Harpreet S. Sawhney
2012 A* conf
CVPR
Amir Tamrakar, Saad Ali, Qian Yu, Jingen Liu, Omar Javed, Ajay Divakaran, Hui Cheng, Harpreet S. Sawhney
2012 conf
TRECVID
Hui Cheng, Jingen Liu, Saad Ali, Omar Javed, Qian Yu, Amir Tamrakar, Ajay Divakaran, Harpreet S. Sawhney, R. Manmatha, James Allan, Alexander G. Hauptmann, Mubarak Shah, Subhabrata Bhattacharya, Afshin Dehghan, Gerald Friedland, Benjamin Elizalde, Trevor Darrell, Michael Witbrock, Jon Curtis
2011 conf
TRECVID
Hui Cheng, Amir Tamrakar, Saad Ali, Qian Yu, Omar Javed, Jingen Liu, Ajay Divakaran, Harpreet S. Sawhney, Alexander G. Hauptmann, Mubarak Shah, Subhabrata Bhattacharya, Michael Witbrock, Jon Curtis, Gerald Friedland, Robert Mertens, Trevor Darrell, R. Manmatha, James Allan
2010 conf
COM.Geo
Hongli Deng, Mun Wai Lee, Asaad Hakeem, Omar Javed, Weihong Yin, Li Yu, Andrew W. Scanlon, Zeeshan Rasheed, Niels Haering
2010 A* conf
ACM Multimedia
Saad Ali, Omar Javed, Niels Haering, Takeo Kanade
2009 A* conf
ICCV
Yaser Sheikh, Omar Javed, Takeo Kanade
2009 ch.
Multi-Camera Networks
Yaser Sheikh, Omar Javed, Mubarak Shah
2009 A* conf
ACM Multimedia
Asaad Hakeem, Mun Wai Lee, Omar Javed, Niels Haering
2008 book
Omar Javed, Mubarak Shah
2008 conf
ICDSC
Zeeshan Rasheed, Xiaochun Cao, Khurram Shafique, Haiying Liu, Li Yu, Mun Wai Lee, Krishnan Ramnath, Tae Eun Choe, Omar Javed, Niels Haering
2008 J jnl
Comput. Vis. Image Underst.
Omar Javed, Khurram Shafique, Zeeshan Rasheed, Mubarak Shah
2008 A conf
WACV
Khurram Shafique, Asaad Hakeem, Omar Javed, Niels Haering
2007 J jnl
IEEE Multim.
Mubarak Shah, Omar Javed, Khurram Shafique
2006 J jnl
ACM Comput. Surv.
Alper Yilmaz, Omar Javed, Mubarak Shah
2006 J jnl
IEEE Trans. Image Process.
Orkun Alatas, Omar Javed, Mubarak Shah
2005 conf
CVPR (2)
Omar Javed, Khurram Shafique, Mubarak Shah
2005 conf
CVPR (1)
Omar Javed, Saad Ali, Mubarak Shah
2005 conf
ICIP (3)
Orkun Alatas, Omar Javed, Mubarak Shah
2004 B conf
ICIP
Omar Javed, Mubarak Shah, Dorin Comaniciu
2004 conf
ICPR (3)
Orkun Alatas, Omar Javed, Mubarak Shah
2004 conf
ICPR (2)
Imran N. Junejo, Omar Javed, Mubarak Shah
2004 conf
TRECVID
Yun Zhai, Xiaochun Chao, Yunjun Zhang, Omar Javed, Alper Yilmaz, Fahd Rafi, Saad Ali, Orkun Alatas, Saad M. Khan, Mubarak Shah
2003 A conf
ICME
Omar Javed, Zeeshan Rasheed, Orkun Alatas, Mubarak Shah
2003 A* conf
ICCV
Omar Javed, Zeeshan Rasheed, Khurram Shafique, Mubarak Shah
2002 conf
ECCV (4)
Omar Javed, Mubarak Shah
2001 A* conf
ICCV
Omar Javed, Zeeshan Rasheed, Mubarak Shah
2001 A* conf
ICCV
Sohaib Khan, Omar Javed, Zeeshan Rasheed, Mubarak Shah
2000 conf
Workshop on Human Motion
Omar Javed, Sohaib Khan, Zeeshan Rasheed, Mubarak Shah
redb/extractors/elf_extractors/elf_dependencies.py
← Index redb/extractors/elf_extractors/elf_dependencies.py python
import inspect
from datetime import datetime, timezone
from typing import Any, List, Dict

from elftools.elf.elffile import ELFFile
from elftools.common.exceptions import ELFError

from redb.extractors.enum import Tag
from redb.extractors.elf_extractor import ELFExtractor
from redb.models.dataclasses import ELFDependency


class ELFDependencyExtractor(ELFExtractor):

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

    def _map_dependency_type(self, dt_tag_str: str) -> int:
        """Map dynamic tag string to enum value."""
        type_map = {
            'DT_NEEDED': 1,
            'DT_SONAME': 14,
            'DT_RPATH': 15,
            'DT_RUNPATH': 29
        }
        return type_map.get(dt_tag_str, 0)

    def _extract_dynamic_dependencies(self, elf) -> List[Dict]:
        """Extract dependencies from the dynamic section."""
        dependencies = []

        try:
            # Get the dynamic section
            dynamic_section = elf.get_section_by_name('.dynamic')
            if not dynamic_section:
                self.log.debug("No .dynamic section found")
                return dependencies

            # Iterate through dynamic tags
            for tag in dynamic_section.iter_tags():
                dt_tag = tag.entry.d_tag

                # Handle different dependency types
                if dt_tag == 'DT_NEEDED':
                    # Required library
                    dependency_name = tag.needed
                    dependencies.append(ELFDependency(
                        dependency_name=dependency_name,
                        dependency_type=self._map_dependency_type('DT_NEEDED'),
                        dependency_type_str='NEEDED'
                    ))

                elif dt_tag == 'DT_SONAME':
                    # Shared object name
                    dependency_name = tag.soname
                    dependencies.append(ELFDependency(
                        dependency_name=dependency_name,
                        dependency_type=self._map_dependency_type('DT_SONAME'),
                        dependency_type_str='SONAME'
                    ))

                elif dt_tag == 'DT_RPATH':
                    # Runtime library search path
                    dependency_name = tag.rpath
                    dependencies.append(ELFDependency(
                        dependency_name=dependency_name,
                        dependency_type=self._map_dependency_type('DT_RPATH'),
                        dependency_type_str='RPATH'
                    ))

                elif dt_tag == 'DT_RUNPATH':
                    # Runtime library search path (newer)
                    dependency_name = tag.runpath
                    dependencies.append(ELFDependency(
                        dependency_name=dependency_name,
                        dependency_type=self._map_dependency_type('DT_RUNPATH'),
                        dependency_type_str='RUNPATH'
                    ))

        except Exception as e:
            self.log.error(f"Error extracting dynamic dependencies: {e}")

        return dependencies

    def tag(self):
        return Tag.ELF_DEPENDENCIES.value if hasattr(Tag, 'ELF_DEPENDENCIES') else "elf_dependencies"

    def extract(self):
        try:
            self.log.debug(inspect.currentframe().f_code.co_name)

            def extract_data(elf):
                # Extract dependencies - returns list of ELFDependency dataclasses
                dependencies = self._extract_dynamic_dependencies(elf)
                return dependencies

            if not self._is_elf_file():
                return None

            result = self._with_elf_file(extract_data)
            if result is None:
                return None

            self.elf_dependencies = result
            return self.elf_dependencies

        except Exception as e:
            self.log.error(f"Error extracting ELF dependencies {self.hash.sha256}: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        self.log.debug(inspect.currentframe().f_code.co_name)

        if exporter_type == "ElasticsearchExporter":
            return self.elf_dependencies
        elif exporter_type == "ClickHouseExporter":
            try:
                # Return valid empty structure if no dependencies (e.g., statically linked binary)
                # None is reserved for actual errors

                # Prepare data arrays for all dependencies
                data = []
                current_time = datetime.now(timezone.utc)
                for dep in self.elf_dependencies:
                    row = [
                        self.sha256,
                        self.md5,
                        self.sha1,
                        dep.dependency_name,
                        dep.dependency_type,
                        dep.dependency_type_str,
                        current_time
                    ]
                    data.append(row)

                column_names = [
                    'sha256', 'md5', 'sha1',
                    'dependency_name', 'dependency_type', 'dependency_type_str',
                    'analysis_date'
                ]

                if not data:
                    return None

                column_type_names = [
                    'FixedString(64)', 'FixedString(32)', 'FixedString(40)',
                    'LowCardinality(String)',
                    "Enum8('NEEDED'=1, 'SONAME'=14, 'RPATH'=15, 'RUNPATH'=29)",
                    'LowCardinality(String)',
                    'DateTime64(3, \'UTC\')'
                ]

                return (data, column_names, column_type_names)

            except Exception as e:
                self.log.error(f"Error preparing export data: {e}")
                raise

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