88 * License: GNU/GPLv2
99 * @see LICENSE.txt
1010 *
11- * This file: CLI handler (last modified: 2020.07.10 ).
11+ * This file: CLI handler (last modified: 2020.10.30 ).
1212 */
1313
1414namespace phpMussel \CLI ;
@@ -39,6 +39,7 @@ class CLI
3939 * Construct the loader.
4040 *
4141 * @param \phpMussel\Core\Loader $Loader The instantiated loader object, passed by reference.
42+ * @param \phpMussel\Core\Scanner $Scanner The instantiated scanner object, passed by reference.
4243 */
4344 public function __construct (\phpMussel \Core \Loader &$ Loader , \phpMussel \Core \Scanner &$ Scanner )
4445 {
@@ -334,7 +335,7 @@ private function peMeta(string $File): string
334335 $ Returnable .= $ this ->Loader ->L10N ->getString ('cli_pe2 ' ) . "\n" ;
335336 for ($ PECaret = 0 ; $ PECaret < $ NumberOfSections ; $ PECaret ++) {
336337 $ SectionHead = substr ($ Data , $ Offset + 24 + $ OptHdrSize + ($ PECaret * 40 ), $ NumberOfSections * 40 );
337- $ SectionName = str_ireplace ("\x00 " , '' , substr ($ SectionHead , 0 , 8 ));
338+ $ SectionName = str_ireplace ("\0 " , '' , substr ($ SectionHead , 0 , 8 ));
338339 $ VirtualSize = $ this ->Loader ->unpackSafe ('S ' , substr ($ SectionHead , 8 , 4 ));
339340 $ VirtualSize = $ VirtualSize [1 ];
340341 $ VirtualAddress = $ this ->Loader ->unpackSafe ('S ' , substr ($ SectionHead , 12 , 4 ));
@@ -348,21 +349,21 @@ private function peMeta(string $File): string
348349 $ Returnable .= $ SizeOfRawData . ': ' . $ SHA256 . ': ' . $ SectionName . "\n" ;
349350 }
350351 $ Returnable .= "\n" ;
351- if (strpos ($ Data , "V \x00 a \x00 r \x00 F \x00 i \x00 l \x00 e \x00 I \x00 n \x00 f \x00 o \x00\x00\x00\x00\x00 \x24" ) !== false ) {
352- $ PEParts = $ this ->Loader ->substrAfterLast ($ Data , "V \x00 a \x00 r \x00 F \x00 i \x00 l \x00 e \x00 I \x00 n \x00 f \x00 o \x00\x00\x00\x00\x00 \x24" );
352+ if (strpos ($ Data , "V \0 a \0 r \0 F \0 i \0 l \0 e \0 I \0 n \0 f \0 o \0\0\0\0\0 \x24" ) !== false ) {
353+ $ PEParts = $ this ->Loader ->substrAfterLast ($ Data , "V \0 a \0 r \0 F \0 i \0 l \0 e \0 I \0 n \0 f \0 o \0\0\0\0\0 \x24" );
353354 foreach ([
354- ["F \x00 i \x00 l \x00 e \x00 D \x00 e \x00 s \x00 c \x00 r \x00 i \x00 p \x00 t \x00 i \x00 o \x00 n \x00\x00\x00 " , 'PEFileDescription ' ],
355- ["F \x00 i \x00 l \x00 e \x00 V \x00 e \x00 r \x00 s \x00 i \x00 o \x00 n \x00\x00\x00 " , 'PEFileVersion ' ],
356- ["P \x00 r \x00 o \x00 d \x00 u \x00 c \x00 t \x00 N \x00 a \x00 m \x00 e \x00\x00\x00 " , 'PEProductName ' ],
357- ["P \x00 r \x00 o \x00 d \x00 u \x00 c \x00 t \x00 V \x00 e \x00 r \x00 s \x00 i \x00 o \x00 n \x00\x00\x00 " , 'PEProductVersion ' ],
358- ["L \x00 e \x00 g \x00 a \x00 l \x00 C \x00 o \x00 p \x00 y \x00 r \x00 i \x00 g \x00 h \x00 t \x00\x00\x00 " , 'PECopyright ' ],
359- ["O \x00 r \x00 i \x00 g \x00 i \x00 n \x00 a \x00 l \x00 F \x00 i \x00 l \x00 e \x00 n \x00 a \x00 m \x00 e \x00\x00\x00 " , 'PEOriginalFilename ' ],
360- ["C \x00 o \x00 m \x00 p \x00 a \x00 n \x00 y \x00 N \x00 a \x00 m \x00 e \x00\x00\x00 " , 'PECompanyName ' ],
355+ ["F \0 i \0 l \0 e \0 D \0 e \0 s \0 c \0 r \0 i \0 p \0 t \0 i \0 o \0 n \0\0\0 " , 'PEFileDescription ' ],
356+ ["F \0 i \0 l \0 e \0 V \0 e \0 r \0 s \0 i \0 o \0 n \0\0\0 " , 'PEFileVersion ' ],
357+ ["P \0 r \0 o \0 d \0 u \0 c \0 t \0 N \0 a \0 m \0 e \0\0\0 " , 'PEProductName ' ],
358+ ["P \0 r \0 o \0 d \0 u \0 c \0 t \0 V \0 e \0 r \0 s \0 i \0 o \0 n \0\0\0 " , 'PEProductVersion ' ],
359+ ["L \0 e \0 g \0 a \0 l \0 C \0 o \0 p \0 y \0 r \0 i \0 g \0 h \0 t \0\0\0 " , 'PECopyright ' ],
360+ ["O \0 r \0 i \0 g \0 i \0 n \0 a \0 l \0 F \0 i \0 l \0 e \0 n \0 a \0 m \0 e \0\0\0 " , 'PEOriginalFilename ' ],
361+ ["C \0 o \0 m \0 p \0 a \0 n \0 y \0 N \0 a \0 m \0 e \0\0\0 " , 'PECompanyName ' ],
361362 ] as $ PEVars ) {
362363 if (strpos ($ PEParts , $ PEVars [0 ]) !== false && (
363- $ ThisPEData = trim (str_ireplace ("\x00 " , '' , $ this ->Loader ->substrBeforeFirst (
364+ $ ThisPEData = trim (str_ireplace ("\0 " , '' , $ this ->Loader ->substrBeforeFirst (
364365 $ this ->Loader ->substrAfterLast ($ PEParts , $ PEVars [0 ]),
365- "\x00\x00\x00 "
366+ "\0\0\0 "
366367 )))
367368 )) {
368369 $ Returnable .= sprintf (
0 commit comments