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
Author: Jivanmukta
Date: Sun, 10 Feb 2019 15:40
Date: Sun, 10 Feb 2019 15:40
35 lines
2396 bytes
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
Author: Bischoop
Date: Sun, 10 Feb 2019 20:22
Date: Sun, 10 Feb 2019 20:22
6 lines
1260 bytes
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
Author: Jivanmukta
Date: Mon, 11 Feb 2019 03:52
Date: Mon, 11 Feb 2019 03:52
9 lines
1191 bytes
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