🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux.programowanie
3 messages
3 total messages Started by Jivanmukta Sun, 10 Feb 2019 15:40
bash zamienia mi cudzysłowy na apostrofy w skrypcie
#72866
Author: Jivanmukta
Date: Sun, 10 Feb 2019 15:40
35 lines
2396 bytes
Piszę prosty obfuscator PHP przy pomocy bash i php.
Próbuję sprawdzić czy kod źródłowy zawiera zmienne zmiennych (tzn. napis 
$$variable w PHP).
Robię to tak:

preg_match_file() {
   php <$1 >>$2 -r "\$f = fopen('php://stdin', 'r'); while (\$line = 
fgets(\$f)) { while (preg_match('$3', \$line, \$matches)) { if 
(!strstr('$5', \$matches[$4])) echo \$matches[$4]; \$line = 
preg_replace('$3', '', \$line); } } fclose(\$f);"
}

preg_match_file $f /tmp/simplephpobfuscator_error '\$\$(\w|\d|_)+' 1 ""

tzn. przekazuję do funkcji bashowej preg_match_file wyrażenie regularne 
\$\$(\w|\d|_)+
I tu pojawia się problem bo (nie wiem dlaczego bash zamienia mi 
cudzysłowy " na apostrofy '). Tzn jak wywołam mój skrypt:
   bash -x ./simplephpobfuscator.sh 2>stderr.txt
to w stderr.txt mam:

+ preg_match_file rozgloszenia/application/controllers/Admin.php 
/tmp/simplephpobfuscator_error '\$\$(\w|\d|_)+' 1 ''
+ php -r '$f = fopen('\''php://stdin'\'', '\''r'\''); while ($line = 
fgets($f)) { while (preg_match('\''\$\$(\w|\d|_)+'\'', $line, $matches)) 
{ if (!strstr('\'''\'', $matches[1])) echo $matches[1]; $line = 
preg_replace('\''\$\$(\w|\d|_)+'\'', '\'''\'', $line); } } fclose($f);'
PHP Warning:  preg_match(): Delimiter must not be alphanumeric or 
backslash in Command line code on line 1
PHP Stack trace:
PHP   1. {main}() Command line code:0
PHP   2. preg_match() Command line code:1

Nie rozumiem dlaczego bash pozamieniał " na ' i nie wiem jak temu 
zapobiec. Proszę o pomoc.
Re: bash zamienia mi cudzysłowy na apostrofy w skrypcie
#72867
Author: Bischoop
Date: Sun, 10 Feb 2019 20:22
6 lines
1260 bytes
On 2019-02-10, Jivanmukta <jivanmukkta@poczta.onet.pl> wrote:
>
> Nie rozumiem dlaczego bash pozamieniał " na ' i nie wiem jak temu 
> zapobiec. Proszę o pomoc

A dziala?
Re: bash zamienia mi cudzysłowy na apostrofy w skrypcie
#72868
Author: Jivanmukta
Date: Mon, 11 Feb 2019 03:52
9 lines
1191 bytes
W dniu 10.02.2019 o 21:22, Bischoop pisze:
> On 2019-02-10, Jivanmukta <jivanmukkta@poczta.onet.pl> wrote:
>>
>> Nie rozumiem dlaczego bash pozamieniał " na ' i nie wiem jak temu
>> zapobiec. Proszę o pomoc
> 
> A dziala?
> 
nie
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads