Article View: pl.comp.lang.php
Article #232603mój obfuskator - problem projektowy
From: Jivanmukta
Date: Tue, 11 Oct 2022 12:22
Date: Tue, 11 Oct 2022 12:22
19 lines
2127 bytes
2127 bytes
Napisałem w C++ obfuskator PHP 5/7/8. Obfuskator umożliwia m.in. zaciemnienie projektu wykorzystującego Composera, tzn. katalog vendor. Ponieważ obfuskuję samą aplikację a nie frameworki i biblioteki z katalogu vendor potrzebuję zrobić żeby identifikatory z vendor nie były zastępowane losowymi. W tym celu analizuję kod frameworków i bibliotek z katalogu vendor w poszukiwaniu identyfikatorów (zmiennych, funkcji, metod, właściwości itd.). Problem w tym że jeśli katalog vendor jest duży, tzn. liczy wiele podkatalogów, proces analizy trwa długo, nawet kilka godzin. Żeby nie analizować katalogu vendor wielokrotnie (przy każdej obfuskacji projektu) zapamiętuje znalezione w vendor identyfikatory w cache'u (pliku xml-owym). Modyfikacja katalogu vendor (np. dodanie Composerem nowej biblioteki lub update) nie powoduje u mnie ponownego parsowania całego vendor bo zapamiętuję timestampy podkatalogów vendor. Czy takie rozwiązanie jest do przyjęcia, tzn. że pierwsza obfuskacja może trwać nawet kilka godzin, ale późniejsze już w minutach? Jeśli nie, to czy ktoś mógłby mi rzucić pomysł jak rozwiązać ten problem? Chcę żeby mój obfuskator był uniwersalny, tzn. potrafił zaciemnić projekt wykorzystujący różne frameworki i różne biblioteki.
Technical Details
Message-ID:
<ti3n61$3ifng$1@portraits.wsisiz.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED.2a01:110f:1505:4500:7223:5886:8318:edba!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!.POSTED.2a01:110f:1505:4500:7223:5886:8318:edba!not-for-mail From: Jivanmukta <jivanmukta@poczta.onet.pl> Newsgroups: pl.comp.lang.php Subject: mój obfuskator - problem projektowy Date: Tue, 11 Oct 2022 14:22:21 +0200 Organization: http://www.wit.edu.pl Message-ID: <ti3n61$3ifng$1@portraits.wsisiz.edu.pl> Mime-Version: 1.0 Injection-Date: Tue, 11 Oct 2022 12:22:25 -0000 (UTC) Injection-Info: portraits.wsisiz.edu.pl; posting-host="2a01:110f:1505:4500:7223:5886:8318:edba"; logging-data="3751664"; mail-complaints-to="abuse@wsisiz.edu.pl" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit