Oliver Lange

35 papers A 2B 4C 2Journal 18Unranked 9
YearRankTypeTitle / Venue / Authors
2022 conf
ICPRAI (1)
Christian Homeyer, Oliver Lange, Christoph Schnörr
2022 J jnl
CoRR
Christian Homeyer, Oliver Lange, Christoph Schnörr
2021 A conf
CIKM
Austin Derrow-Pinion, Jennifer She, David Wong, Oliver Lange, Todd Hester, Luis Perez, Marc Nunkesser, Seongjae Lee, Xueying Guo, Brett Wiltshire, Peter W. Battaglia, Vishal Gupta, Ang Li, Zhongwen Xu, Alvaro Sanchez-Gonzalez, Yujia Li, Petar Velickovic
2021 J jnl
CoRR
Austin Derrow-Pinion, Jennifer She, David Wong, Oliver Lange, Todd Hester, Luis Perez, Marc Nunkesser, Seongjae Lee, Xueying Guo, Brett Wiltshire, Peter W. Battaglia, Vishal Gupta, Ang Li, Zhongwen Xu, Alvaro Sanchez-Gonzalez, Yujia Li, Petar Velickovic
2018 A conf
BMVC
Radek Mackowiak, Philip Lenz, Omair Ghori, Ferran Diego, Oliver Lange, Carsten Rother
2018 J jnl
CoRR
Radek Mackowiak, Philip Lenz, Omair Ghori, Ferran Diego, Oliver Lange, Carsten Rother
2014 C conf
IAS
Jan Erik Stellet, Jan Schumacher, Oliver Lange, Wolfgang Branz, Frank Niewels, Johann Marius Zöllner
2011 conf
WSA
Oliver Lange, Bin Yang
2010 conf
WSA
Oliver Lange, Bin Yang
2010 conf
Computer-Aided Diagnosis
Axel Wismüller, Oliver Lange, Dorothee Auer, Gerda L. Leinsinger
2009 J jnl
Biomed. Signal Process. Control.
Axel Saalbach, Oliver Lange, Tim W. Nattkemper, Anke Meyer-Baese
2009 J jnl
Int. J. Biomed. Imaging
Anke Meyer-Bäse, Thomas Schlossbauer, Oliver Lange, Axel Wismüller
2008 B conf
ICIP
Anke Meyer-Bäse, Oliver Lange, Thomas Schlossbauer, Axel Wismüller
2008 J jnl
Ind. Robot
Oliver Lange, Marcel Erhard, Christian Teutsch, Joerg Sander
2008 J jnl
Eng. Appl. Artif. Intell.
Thorsten Twellmann, Anke Meyer-Bäse, Oliver Lange, Simon Y. Foo, Tim W. Nattkemper
2007 J jnl
IEEE Trans. Inf. Technol. Biomed.
Anke Meyer-Bäse, Oliver Lange, Axel Wismüller, Monica K. Hurdal
2007 conf
AMS
Volker Dürr, André Frank Krause, Matthias Neitzel, Oliver Lange, Bert Reimann
2007 conf
Computer-Aided Diagnosis
Axel Wismüller, Anke Meyer-Baese, Gerda L. Leinsinger, Oliver Lange, Thomas Schlossbauer, Maximilian F. Reiser
2007 J jnl
Biomed. Signal Process. Control.
Anke Meyer-Bäse, Axel Saalbach, Oliver Lange, Axel Wismüller
2006 J jnl
Biomed. Signal Process. Control.
Oliver Lange, Anke Meyer-Baese, Monica K. Hurdal, Simon Y. Foo
2006 conf
ISBI
Axel Wismüller, Anke Meyer-Bäse, Johannes Behrends, Oliver Lange, Miriana Jukic, Maximilian F. Reiser, Dorothee Auer
2006 J jnl
IEEE Trans. Medical Imaging
Axel Wismüller, Anke Meyer-Bäse, Oliver Lange, Maximilian F. Reiser, Gerda L. Leinsinger
2006 J jnl
J. Electronic Imaging
Axel Wismüller, Anke Meyer-Bäse, Oliver Lange, Thomas Schlossbauer, Maria Kallergi, Maximilian F. Reiser, Gerda L. Leinsinger
2005 J jnl
EURASIP J. Adv. Signal Process.
Anke Meyer-Bäse, Monica K. Hurdal, Oliver Lange, Helge J. Ritter
2005 B conf
IJCNN
Oliver Lange, Anke Meyer-Baese, Axel Wismüller
2004 B conf
IJCNN
Anke Meyer-Bäse, Fabian J. Theis, Oliver Lange, Axel Wismüller
2004 J jnl
IEEE Trans. Inf. Technol. Biomed.
Anke Meyer-Bäse, Axel Wismüller, Oliver Lange
2004 J jnl
J. Biomed. Informatics
Axel Wismüller, Anke Meyer-Bäse, Oliver Lange, Dorothee Auer, Maximilian F. Reiser, DeWitt Sumners
2004 J jnl
Int. J. Neural Syst.
Anke Meyer-Bäse, Oliver Lange, Axel Wismüller, Helge J. Ritter
2004 conf
ICA
Anke Meyer-Bäse, Fabian J. Theis, Oliver Lange, Carlos García Puntonet
2003 conf
Bildverarbeitung für die Medizin
Axel Wismüller, Johannes Behrends, Oliver Lange, Miriana Jukic, Klaus Hahn, Maximilian F. Reiser, Dorothee Auer
2002 J jnl
Int. J. Comput. Vis.
Axel Wismüller, Oliver Lange, Dominik R. Dersch, Gerda L. Leinsinger, Klaus Hahn, Benno Pütz, Dorothee Auer
2001 B conf
ESANN
Axel Wismüller, Oliver Lange, Dominik R. Dersch, Klaus Hahn, Gerda L. Leinsinger
2001 C conf
ICANN
Axel Wismüller, Oliver Lange, Dominik R. Dersch, Klaus Hahn, Gerda L. Leinsinger
1999 J jnl
Eur. J. Oper. Res.
Wolfgang Ossadnik, Oliver Lange
redb/extractors/js_extractors/js_content.py
← Index redb/extractors/js_extractors/js_content.py python
"""Persists raw + normalised text into the generic `code_text_content` table.

Reads the raw source and the deobfuscation result directly from the shared
JSContext so no extra compute happens here — both values are computed once
per sample (the source at JSContext construction, the deobfuscation lazily
on first access) and reused by any extractor that needs them.

`text_normalized` is left NULL when the deobfuscation pass produced no
output, so analysts can distinguish "we tried and got nothing" from
"normalisation succeeded".
"""

import inspect
from datetime import datetime, timezone
from typing import Any

from redb.extractors.enum import Tag
from redb.extractors.js_extractor import JSExtractor


class JSContentExtractor(JSExtractor):

    def __init__(
        self, filepath, log, exporters=None, index_prefix=None,
        known_benign=False, known_malicious=False, source=None, context=None,
    ):
        super().__init__(
            filepath, log, exporters, index_prefix,
            known_benign, known_malicious, source, context=context,
        )
        self.content_row = None
        self.log.debug(inspect.currentframe().f_code.co_name)

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

    def extract(self):
        src = self.js_source
        if not src:
            return None

        deobfuscated, normalizer_used = self._context.deobfuscated

        self.content_row = {
            "content_type": self._context.content_type,
            "text_raw": src,
            "text_normalized": deobfuscated,  # may be None
            "normalizer_used": normalizer_used,  # may be None
        }
        return self.content_row

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type != "ClickHouseExporter":
            return None
        if not self.content_row:
            return None

        r = self.content_row
        data = [[
            self.sha256,
            r["content_type"],
            r["text_raw"],
            r["text_normalized"],
            r["normalizer_used"],
            datetime.now(timezone.utc),
        ]]

        column_names = [
            "sha256",
            "content_type",
            "text_raw",
            "text_normalized",
            "normalizer_used",
            "analysis_date",
        ]

        column_type_names = [
            "FixedString(64)",
            "LowCardinality(String)",
            "String",
            "Nullable(String)",
            "Nullable(String)",
            "DateTime64(3, 'UTC')",
        ]

        return (data, column_names, column_type_names)

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