🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

mój obfuskator - problem projektowy

#232603
From: Jivanmukta
Date: Tue, 11 Oct 2022 12:22
19 lines
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-mail

Show 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