Orion Fausto Reyes-Galaviz

30 papers C 2Journal 11Unranked 13
YearRankTypeTitle / Venue / Authors
2022 J jnl
IEEE Trans. Serv. Comput.
Javier Andreu-Perez, Humberto Pérez Espinosa, Eva Timonet, Mehrin Kiani, Manuel I. Girón-Pérez, Alma B. Benitez-Trinidad, Delaram Jarchi, Alejandro Rosales-Pérez, Nick Gatzoulis, Orion Fausto Reyes-Galaviz, Alejandro Antonio Torres-García, Carlos A. Reyes-García, Zulfiqar Ali, Francisco Rivas
2021 J jnl
CoRR
Javier Andreu-Perez, Humberto Pérez Espinosa, Eva Timonet, Mehrin Kiani, Manuel I. Girón-Pérez, Alma B. Benitez-Trinidad, Delaram Jarchi, Alejandro Rosales-Pérez, Nick Gatzoulis, Orion Fausto Reyes-Galaviz, Alejandro Antonio Torres-García, Carlos A. Reyes-García, Zulfiqar Ali, Francisco Rivas
2021 J jnl
IEEE Trans. Cybern.
Tinghui Ouyang, Witold Pedrycz, Orion Fausto Reyes-Galaviz, Nick J. Pizzi
2017 J jnl
Data Knowl. Eng.
Orion Fausto Reyes-Galaviz, Witold Pedrycz, Ziyue He, Nick J. Pizzi
2017 J jnl
Fuzzy Sets Syst.
Orion Fausto Reyes-Galaviz, Witold Pedrycz
2015 J jnl
Biomed. Signal Process. Control.
Alejandro Rosales-Pérez, Carlos A. Reyes-García, Jesus A. Gonzalez, Orion Fausto Reyes-Galaviz, Hugo Jair Escalante, Silvia Orlandi
2015 J jnl
Neurocomputing
Orion Fausto Reyes-Galaviz, Witold Pedrycz
2015 J jnl
Int. J. Approx. Reason.
Orion Fausto Reyes-Galaviz, Witold Pedrycz
2013 conf
IFSA/NAFIPS
Orion Fausto Reyes-Galaviz, Witold Pedrycz
2011 ch.
Soft Computing for Intelligent Control and Mobile Robotics
Ramón Zatarain, María Lucía Barrón-Estrada, Carlos A. Reyes-García, Orion Fausto Reyes-Galaviz
2010 conf
MICAI (2)
Eugène C. Ezin, Orion Fausto Reyes-Galaviz, Carlos A. Reyes-García
2010 ch.
Soft Computing for Recognition Based on Biometrics
Carlos A. Reyes-García, Orion Fausto Reyes-Galaviz, Sergio Daniel Cano-Ortiz, Daniel I. Escobedo-Becerro, Ramón Zatarain, María Lucía Barrón-Estrada
2009 ch.
Encyclopedia of Artificial Intelligence
Carlos A. Reyes-García, Ramón Zataraín-Cabada, María Lucía Barrón-Estrada, Orion Fausto Reyes-Galaviz
2009 ch.
Encyclopedia of Artificial Intelligence
Carlos A. Reyes-García, Sandra E. Barajas, Esteban Tlelo-Cuautle, Orion Fausto Reyes-Galaviz
2009 conf
ENC
Alberto Chávez-Aragón, José Federico Ramírez-Cruz, Orion Fausto Reyes-Galaviz, Huberto Ayanegui-Santiago, Alberto Portilla
2009 conf
ENC
Luciano García-Bañuelos, Alberto Portilla, Alberto Chávez-Aragón, Orion Fausto Reyes-Galaviz, Huberto Ayanegui-Santiago
2009 conf
MICAI
Orion Fausto Reyes-Galaviz, Carlos A. Reyes-García
2009 conf
MICAI
Huberto Ayanegui-Santiago, Orion Fausto Reyes-Galaviz, Alberto Chávez-Aragón, José Federico Ramírez-Cruz, Alberto Portilla, Luciano García-Bañuelos
2008 J jnl
Res. Comput. Sci.
Carlos Alberto Reyes García, Orion Fausto Reyes-Galaviz, Sergio Daniel Cano-Ortiz
2008 conf
ENC
Orion Fausto Reyes-Galaviz, Sergio Daniel Cano-Ortiz, Carlos A. Reyes-García
2007 J jnl
Res. Comput. Sci.
Luis Andrés Méndez-Ortega, Orion Fausto Reyes-Galaviz
2006 J jnl
Res. Comput. Sci.
Luis Andrés Méndez-Ortega, Orion Fausto Reyes-Galaviz
2006 conf
MICAI
Rocío Quixtiano-Xicohténcatl, Orion Fausto Reyes-Galaviz, Leticia Flores-Pulido, Carlos A. Reyes-García
2006 conf
TSD
Israel Suaste-Rivas, J. Alejandro Díaz Méndez, Carlos A. Reyes-García, Orion Fausto Reyes-Galaviz
2005 conf
MICAI
Orion Fausto Reyes-Galaviz, Carlos A. Reyes-García
2004 C conf
CIARP
Israel Suaste-Rivas, Orion Fausto Reyes-Galaviz, J. Alejandro Díaz Méndez, Carlos A. Reyes-García
2004 conf
Summer School on Neural Networks
Orion Fausto Reyes-Galaviz, Antonio Verduzco-Mendoza, Emilio Arch Tirado, Carlos A. Reyes-García
2004 C conf
ICCHP
Orion Fausto Reyes-Galaviz, Emilio Arch Tirado, Carlos A. Reyes-García
2004 conf
IBERAMIA
Israel Suaste-Rivas, Orion Fausto Reyes-Galaviz, J. Alejandro Díaz Méndez, Carlos A. Reyes-García
2004 conf
MICAI
Orion Fausto Reyes-Galaviz, Carlos A. Reyes-García
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"