Wayne Kelly

46 papers A 1B 2C 6Misc 5Journal 14Unranked 16
YearRankTypeTitle / Venue / Authors
2025 J jnl
Intell. Syst. Appl.
Thennakoon Mudiyanselage Anupama Udayangani Gunathilaka, Prabhashrini Dhanushika Manage, Jinglan Zhang, Yuefeng Li, Wayne Kelly
2025 J jnl
J. Community Informatics
S. Ashleigh Weeden, Wayne Kelly, Sarah Breen
2023 J jnl
PLoS Comput. Biol.
Adrianne L. Jenner, Wayne Kelly, Michael Dallaston, Robyn Araujo, Isobelle Parfitt, Dominic Steinitz, Pantea Pooladvand, Peter S. Kim, Samantha J. Wade, Kara L. Vine
2023 J jnl
J. Libr. Inf. Sci.
Wayne Kelly, Brian E. McGrath, Danielle Hubbard
2022 conf
HICSS
Hamish Sadler, Alistair Barros, Wayne Kelly
2020 Misc conf
DICTA
Connor Mclaughlin, Alan Woodley, Shlomo Geva, Timothy Chappell, Wayne Kelly, Wageeh W. Boles, Lance De Vine, Holly Hutson
2019 Misc conf
DICTA
Connor Mclaughlin, Holly Hutson, Lance De Vine, Alan Woodley, Shlomo Geva, Timothy Chappell, Wayne Kelly, Wageeh W. Boles, Dimitri Perrin
2019 C conf
IGARSS
Alan Woodley, Connor Mclaughlin, Holly Hutson, Shlomo Geva, Timothy Chappell, Wayne Kelly, Dimitri Perrin, Wageeh W. Boles, Lance De Vine
2018 J jnl
IEEE Trans. Parallel Distributed Syst.
Johannes Ax, Gregor Sievers, Julian Daberkow, Martin Flasskamp, Marten Vohrmann, Thorsten Jungeblut, Wayne Kelly, Mario Porrmann, Ulrich Rückert
2018 J jnl
CoRR
Christian Klarhorst, Martin Flasskamp, Johannes Ax, Thorsten Jungeblut, Wayne Kelly, Mario Porrmann, Ulrich Rückert
2018 J jnl
IEEE Softw.
Andrei Furda, Colin J. Fidge, Olaf Zimmermann, Wayne Kelly, Alistair Barros
2018 J jnl
BMC Bioinform.
Timothy Chappell, Shlomo Geva, James M. Hogan, Flavia Huygens, Irani U. Rathnayake, Stephen Rudd, Wayne Kelly, Dimitri Perrin
2018 C conf
PDP
Neela Gayen, Johannes Ax, Martin Flasskamp, Christian Klarhorst, Thorsten Jungeblut, Maolin Tang, Wayne Kelly
2017 conf
ICONIP (1)
Pramitha Perera, Yu-Chu Tian, Colin J. Fidge, Wayne Kelly
2017 J jnl
Future Gener. Comput. Syst.
Yi-Fan Zhang, Yu-Chu Tian, Wayne Kelly, Colin J. Fidge
2017 conf
BIBM
Timothy Chappell, Shlomo Geva, James M. Hogan, Flavia Huygens, Wayne Kelly, Dimitri Perrin
2016 J jnl
J. Parallel Distributed Comput.
Yi-Fan Zhang, Yu-Chu Tian, Colin J. Fidge, Wayne Kelly
2016 conf
RAPIDO@HiPEAC
Martin Flasskamp, Gregor Sievers, Johannes Ax, Christian Klarhorst, Thorsten Jungeblut, Wayne Kelly, Michael Thies, Mario Porrmann
2015 conf
ICONIP (3)
Yi-Fan Zhang, Yu-Chu Tian, Wayne Kelly, Colin J. Fidge, Jing Gao
2015 conf
MCSoC
Gregor Sievers, Julian Daberkow, Johannes Ax, Martin Flasskamp, Wayne Kelly, Thorsten Jungeblut, Mario Porrmann, Ulrich Rückert
2015 C conf
IECON
Yi-Fan Zhang, Yu-Chu Tian, Wayne Kelly, Colin J. Fidge
2015 C conf
ISCAS
Gregor Sievers, Johannes Ax, Nils Kucza, Martin Flasskamp, Thorsten Jungeblut, Wayne Kelly, Mario Porrmann, Ulrich Rückert
2015 conf
NoCArc@MICRO
Johannes Ax, Gregor Sievers, Martin Flasskamp, Wayne Kelly, Thorsten Jungeblut, Mario Porrmann
2014 conf
ISSoC
Wayne Kelly, Martin Flasskamp, Gregor Sievers, Johannes Ax, Jianing Chen, Christian Klarhorst, Christoph Ragg, Thorsten Jungeblut, Andrew Sorensen
2014 C conf
IECON
Yi-Fan Zhang, Yu-Chu Tian, Wayne Kelly, Colin J. Fidge
2014 Misc conf
AusDM
Lawrence Buckingham, James M. Hogan, Shlomo Geva, Wayne Kelly
2013 B conf
e-Science
James M. Hogan, Wayne Kelly, Felicity Newell
2013 C conf
CIBCB
Anaththa P. D. Krishnajith, Wayne Kelly, Ross Hayward, Yu-Chu Tian
2010 B conf
CC
Andrew Craik, Wayne Kelly
2009 ed.
AusGrid
Paul Roe, Wayne Kelly
2008 conf
ACSC
Wayne Reid, Wayne Kelly, Andrew Craik
2008 conf
ACSC
Wayne Kelly, K. John Gough
2008 ed.
AusGrid
Wayne Kelly, Paul Roe
2007 conf
ACSC
Richard Mason, Wayne Kelly
2005 conf
ACSW
Richard Mason, Wayne Kelly
2005 conf
ICPADS (2)
Wayne Kelly, Jiro Sumitomo
2003 Misc conf
PDPTA
Wayne Kelly, Paul Roe, Jiro Sumitomo
2003 conf
INEX
Wayne Kelly, Shlomo Geva, Tony Sahama, Wengkai Loke
2002 Misc conf
PDPTA
Wayne Kelly, Paul Roe, Jiro Sumitomo
1996 J jnl
SIGACT News
William I. Gasarch, Wayne Kelly, William W. Pugh
1996 A conf
International Conference on Supercomputing
Wayne Kelly, William W. Pugh
1996 J jnl
Int. J. Parallel Program.
Wayne Kelly, William W. Pugh, Evan Rosser, Tatiana Shpeisman
1995 conf
LCPC
Wayne Kelly, William W. Pugh, Evan Rosser, Tatiana Shpeisman
1995 J jnl
Int. J. Parallel Program.
Wayne Kelly, William W. Pugh
1994 conf
LCPC
Wayne Kelly, William W. Pugh
1994 J jnl
Parallel Process. Lett.
Wayne Kelly, William W. Pugh
redb/extractors/pe_extractor.py
← Index redb/extractors/pe_extractor.py python
import logging
from abc import ABCMeta, abstractmethod
import inspect

import magic
import pefile
from dotnetfile import DotNetPE

from redb.extractors.extractor import Extractor

logger = logging.getLogger(__name__)


@abstractmethod
class PEExtractor(Extractor, metaclass=ABCMeta):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        pe=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters,
            index_prefix,
            elastic_index,
            known_benign,
            known_malicious
        )
        self.pe = pe if pe else self._generate_pefile_object()
        self.dotnet = None

    def _generate_pefile_object(self):
        pe = None
        try:
            pe = pefile.PE(self.filepath)
            if not pe:
                raise pefile.PEFormatError("Empty file?")
        except pefile.PEFormatError as e:
            self.log.error(f"Format error {self.hash.sha256} Full error : {e}")
        return pe

    def _generate_dotnetfile_object(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        dotnet = None
        error = None
        try:
            dotnet = DotNetPE(self.filepath)
            if not dotnet:
                raise Exception("Empty file?")
        except Exception as e:
            self.log.error(
                f"Format error dotnet file {self.hash.sha256} Full error : {e}"
            )
            error = e
        return dotnet, error

    def _check_dotnet(self):
        try:
            file_type = magic.from_buffer(self.binary)
            if ".Net" in file_type:
                return True
            for entry in self.pe.OPTIONAL_HEADER.DATA_DIRECTORY:
                # IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR is typically 14
                if (
                    entry.name == "IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR"
                    and entry.Size > 0
                ):
                    return True
            return False
        except AttributeError as e:
            self.log.error(
                f"AttributeError error dotnet file {self.hash.sha256} Full error : {e}"
            )
            return False

    def _is_signed(self):
        address = self.pe.OPTIONAL_HEADER.DATA_DIRECTORY[
            pefile.DIRECTORY_ENTRY["IMAGE_DIRECTORY_ENTRY_SECURITY"]
        ].VirtualAddress
        if address == 0:
            return False
        return True

    def _has_overlay(self):
        return bool(self.pe.get_overlay())