🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#232559
From: Tomek
Date: Tue, 11 Aug 2020 06:14
23 lines
2372 bytes
W dniu 10.08.2020 o 08:32, RM pisze:
> 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.

1.
Zapomniałeś o $GLOBALS['x']

2.
Nie prościej pisać to w PHP zamiast w C++?
Technical Details
Message-ID: <5f323734$0$546$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!news.uzoreto.com!aioe.org!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <rgqplt$3efb3$1@portraits.wsisiz.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!news.uzoreto.com!aioe.org!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: jak odróżnić zmienne globalne od
 lokalych przy parsowaniu kodu PHP
Newsgroups: pl.comp.lang.php
References: <rgqplt$3efb3$1@portraits.wsisiz.edu.pl>
From: Tomek <skowtm@wp.xx.pl>
Date: Tue, 11 Aug 2020 08:14:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0
MIME-Version: 1.0
In-Reply-To: <rgqplt$3efb3$1@portraits.wsisiz.edu.pl>
Lines: 23
Message-ID: <5f323734$0$546$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 89.67.164.144
X-Trace: 1597126452 unt-rea-a-02.news.neostrada.pl 546 89.67.164.144:64101
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 2227
X-Received-Body-CRC: 3102943091
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit