🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #232558

jak odróżnić zmienne globalne od lokalych przy parsowaniu kodu PHP

#232558
From: RM
Date: Mon, 10 Aug 2020 06:32
16 lines
2340 bytes
Piszę obfuskator PHP w C++. Chciałbym, żeby obfuskator działał z 
dowolnym frameworkiem PHP. W tym celu potrzebuję prasować framework, 
żeby wyodrębnić identifkatory zarezerwowane przez framework (żeby tych 
nie zamieniać na losowe - generowane przez obfuskator). Przy czy istotne 
jest rozróżnienie zmiennych globalnych i lokalnych we frameworku, bo 
globalne nie mogą być zastępowane w generowanym kodzie PHP (jeśli 
framework zawiera np. tablicę globalną $config to wygenerowanym kodzie 
ta nazwa musi być zarezerowana ni zamieniana na losowy, generowany ciąg 
znaków). Powstaje więc pytanie jak przy parsowaniu frameworka (robię to 
wyrażeniami regularnymi) odróżnić zmienne globalne od lokalnych. Nie 
każda zmienna globalna $x musi mieć deklarację "global $x;" w jakieś 
funkcji frameworka, więc jest to problem.
Jeśli w aplikacji PHP występuje użycie zmiennej globalnej frameworka o 
nazwie $config to nie powinno ono być obfuskowane, a jeśli występuje 
użycie zmiennej nieglobalnej (lokalnej lub paramtru) o nazwie $x, to to 
powinno być obfuskowane.
Technical Details
Message-ID: <rgqplt$3efb3$1@portraits.wsisiz.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!ecngs!feeder2.ecngs.de!78.46.58.241.MISMATCH!weretis.net!feeder7.news.weretis.net!usenet.goja.nl.eu.org!aioe.org!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!wsisiz.edu.pl!.POSTED.user-5-173-128-224.play-internet.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!ecngs!feeder2.ecngs.de!78.46.58.241.MISMATCH!weretis.net!feeder7.news.weretis.net!usenet.goja.nl.eu.org!aioe.org!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!wsisiz.edu.pl!.POSTED.user-5-173-128-224.play-internet.pl!not-for-mail
From: RM <robert_magdziarz@wp.pl>
Newsgroups: pl.comp.lang.php
Subject: jak odróżnić zmienne globalne od lokalych
 przy parsowaniu kodu PHP
Date: Mon, 10 Aug 2020 08:32:24 +0200
Organization: http://www.wit.edu.pl
Message-ID: <rgqplt$3efb3$1@portraits.wsisiz.edu.pl>
Mime-Version: 1.0
Injection-Date: Mon, 10 Aug 2020 06:32:29 -0000 (UTC)
Injection-Info: portraits.wsisiz.edu.pl; posting-host="user-5-173-128-224.play-internet.pl:5.173.128.224"; logging-data="3620195"; mail-complaints-to="abuse@wsisiz.edu.pl"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.1
X-Mozilla-News-Host: news://news.icp.pl:119
X-Received-Bytes: 2063
X-Received-Body-CRC: 2790427744
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit