Article View: pl.comp.lang.php
Article #232573Re: jak odróżnić zmienne globalne od lokalych przy parsowaniu kodu PHP
From: RM
Date: Wed, 12 Aug 2020 13:31
Date: Wed, 12 Aug 2020 13:31
19 lines
2231 bytes
2231 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. Czy mój problem ma w ogóle rozwiązanie?
Technical Details
Message-ID:
<rh0r0h$oonh$1@portraits.wsisiz.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!wsisiz.edu.pl!.POSTED.user-5-173-136-68.play-internet.pl!not-for-mailReferences:
<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!newsfeed.pionier.net.pl!goblin2!goblin3!goblin.stu.neva.ru!wsisiz.edu.pl!.POSTED.user-5-173-136-68.play-internet.pl!not-for-mail From: RM <robert_magdziarz@wp.pl> Newsgroups: pl.comp.lang.php Subject: Re: jak odróżnić zmienne globalne od lokalych przy parsowaniu kodu PHP Date: Wed, 12 Aug 2020 15:31:59 +0200 Organization: http://www.wit.edu.pl Message-ID: <rh0r0h$oonh$1@portraits.wsisiz.edu.pl> References: <rgqplt$3efb3$1@portraits.wsisiz.edu.pl> Mime-Version: 1.0 Injection-Date: Wed, 12 Aug 2020 13:32:01 -0000 (UTC) Injection-Info: portraits.wsisiz.edu.pl; posting-host="user-5-173-136-68.play-internet.pl:5.173.136.68"; logging-data="811761"; 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 In-Reply-To: <rgqplt$3efb3$1@portraits.wsisiz.edu.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit