Ergebnis 1 bis 6 von 6

Thema: SHELL - finde alle PHP-Variablen in Datei

  1. #1
    Junior
    Registriert
    Aug 2016
    Beiträge
    154
    Gefällt mir!
    152
    Du gefällst: 19

    SHELL - finde alle PHP-Variablen in Datei

    Gibt es mittels 'sed' und 'regex' eine Möglichkeit, alle Variablen (beginnend mit $ bzw $$) in meiner *.txt zu finden?

    Das Problem ist wahrscheinlich die Länge des Variablennamen. Dieser ist natürlich nicht immer gleich lang. Auf der anderen Seite endet eine PHP-Variable doch aber immer mit einem der folgenden Zeichen:
    PHP-Code:
    char[] chars = { ' ''='';''\t'',''.''['']''+''-''*''/''('')' }; 
    Sollte mit dem Beginn einer Variable ($) und dem Ende einer Variable (chars[]) nicht ein Finden jeder Variablen möglich sein trotz unbekannter Länge?

  2. Werbung - Hier werben?
  3. #2
    Senior
    Registriert
    Jan 2018
    Beiträge
    308
    Gefällt mir!
    170
    Du gefällst: 131
    hast du ne text datei mit beispielen? also eingabe und erwartete ausgabedatei?

    PHP-Code:
    ^(\s)*(\${1,2})([a-zA-Z0-9]+)(.*)$ 
    Geändert von masterholdy (27.10.2018 um 09:01 Uhr)

  4. #3
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    561
    Gefällt mir!
    96
    Du gefällst: 573
    Ich befürchte das wird schwer, wenn es wirklich darum geht das ganze komplett korrekt zu machen...
    Vermutlich müsste man dazu den kompletten Syntax parsen können, was komplex werden dürfte.


    Mir fällt da ganz spontan folgender Fall ein:

    Code:
    echo "Test $var123";
    Hier ist $var123 eine Variable

    Code:
    echo 'Test $noVar123';
    Hier ist $noVar123 keine Variable.


    Für die Benennung gibt es in der PHP-Dokumentation bereits einen Reg-Ex, auf dem man Aufbauen könnte.

  5. #4
    Junior
    THEMENSTARTER


    Registriert
    Aug 2016
    Beiträge
    154
    Gefällt mir!
    152
    Du gefällst: 19
    also eingabe und erwartete ausgabedatei?
    also ne ausgabedatei hab ich nicht. ist aber nicht ganz so wichtig. könnte ja zur not alles in eine test.txt umgeleitet werden. Dort würde dann zeilenweise je eine erkannt Variable stehen. Das sehe ich nicht als Prob. Das Prob wird sein, erstmal alle Variablen mit $ und $$ zu erkennen, bzw das Ende des Variablennamen

    Ich befürchte das wird schwer, wenn es wirklich darum geht das ganze komplett korrekt zu machen...
    Japp, ich sitze leider schon viele Stunden an dem Problem. Dein "echo-Problem" ist nicht das einzige.

    In dem Bsp. reicht es leider nicht aus, die $-Variablen zu finden. Hier muss ebenfalls 'a' und 'b' gefunden werden, da die ja $a und $b entsprechen -.-
    Code:
    <?php
    $a= 5;
    $b= 10;
    
    function myTest1() {
        $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
    }
    
    myTest1();
    echo $b; // outputs 15
    ?>

    oder das "echo $this->var;" mit dem var ohne $
    Code:
    <?php
    class SimpleClass
    	 {
    		//erster Kommentar
    		 public $var = 'ein Standardwert';
    		 
    		//zweiter Kommentar 
    		 public function displayVar() {
    		 echo $this->var;
    		 echo $this->$var;
    	 }
    }
    ?>

    naja, oder die vielen kleinen anderen Dinge wie feste Variablen in PHP
    Code:
    {"$_GET","$_POST","$_SESSION", "$_GLOBALS", "$GLOBALS", "Superglobals","$_SERVER","$_FILES","$_REQUEST","$_ENV","$_COOKIE","$php_errormsg","$HTTP_RAW_POST_DATA","$http_response_header","$argc","$argv","$this","$integer","$string","$float","$bool","$double"};
    Mhh, da hab ich nicht nachgedacht, als ich mir dachte, dass kann ich locker in SHELL lösen :(

  6. #5
    Senior
    Registriert
    Jun 2015
    Beiträge
    663
    Gefällt mir!
    208
    Du gefällst: 395
    Was ist da eigentlich der Anwendungsfall? Deobfuscate?

  7. #6
    Junior
    THEMENSTARTER


    Registriert
    Aug 2016
    Beiträge
    154
    Gefällt mir!
    152
    Du gefällst: 19
    Vordergründig Obfuscate, japp (nicht deobfuscaten). Dahinter steckt dann aber noch n bissi mehr. Aber erstmal muss obfuscaten laufen, damit der Rest kommen kann.

Ähnliche Themen

  1. (BASH) - Arbeiten mit Timestamp MySQL / Shell
    Von syrius im Forum Entwicklung / Programmierung
    Antworten: 3
    Letzter Beitrag: 12.10.2019, 13:32
  2. Wo finde ich dieses Tool?
    Von Vezh im Forum IntelligeN
    Antworten: 1
    Letzter Beitrag: 21.05.2019, 17:41
  3. (BASH) - QR-Code per Shell/CMD auslesen
    Von syrius im Forum Entwicklung / Programmierung
    Antworten: 5
    Letzter Beitrag: 18.01.2019, 16:42
  4. Intelligen 129 finde bei boerse.sx nichts mehr
    Von Narkose im Forum IntelligeN
    Antworten: 12
    Letzter Beitrag: 08.09.2017, 14:33
  5. Antworten: 19
    Letzter Beitrag: 16.12.2016, 13:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
SzeneBox.org... im Mittelpunkt der Szene!
© since 2015 szeneBOX.org - All Rights Reserved
Domains: www.szenebox.org