Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /** * This file is part of the reliforp/reli-prof package. * * (c) sji <sji@sj-i..
Decoded Output download
<?php
/**
* This file is part of the reliforp/reli-prof package.
*
* (c) sji <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Reli\Lib\Elf\Structure\Elf64;
use Reli\Lib\Integer\UInt64;
final class Elf64DynamicStructure
{
public const DT_NULL = 0;
public const DT_NEEDED = 1;
public const DT_PLTRELSZ = 2;
public const DT_PLTGOT = 3;
public const DT_HASH = 4;
public const DT_STRTAB = 5;
public const DT_SYMTAB = 6;
public const DT_RELA = 7;
public const DT_RELASZ = 8;
public const DT_RELAENT = 9;
public const DT_STRSZ = 10;
public const DT_SYMENT = 11;
public const DT_INIT = 12;
public const DT_FINI = 13;
public const DT_SONAME = 14;
public const DT_RPATH = 15;
public const DT_SYMBOLIC = 16;
public const DT_REL = 17;
public const DT_RELSZ = 18;
public const DT_RELENT = 19;
public const DT_PLTREL = 20;
public const DT_DEBUG = 21;
public const DT_TEXTREL = 22;
public const DT_JMPREL = 23;
public const DT_BIND_NOW = 24;
public const DT_INIT_ARRAY = 25;
public const DT_FINI_ARRAY = 26;
public const DT_INIT_ARRAYSZ = 27;
public const DT_FINI_ARRAYSZ = 28;
public const DT_RUNPATH = 29;
public const DT_FLAGS = 30;
public const DT_ENCODINGS = 31;
public const DT_PREINIT_ARRAY = 32;
public const DT_PREINIT_ARRAYSZ = 33;
public const DT_LOOS = 0x6000000d;
public const DT_HIOS = 0x6ffff000;
public const DT_RELACOUNT = 0x6ffffff9;
public const DT_GNU_HASH = 0x6ffffef5;
public const DT_FLAGS_1 = 0x6ffffffb;
public const DT_VERNEED = 0x6ffffffe;
public const DT_VERNEEDNUM = 0x6fffffff;
public const DT_VERSYM = 0x6ffffff0;
public const DT_LOPROC = 0x70000000;
public const DT_HIPROC = 0x7fffffff;
public const DF_ORIGIN = 1;
public const DF_SYMBOLIC = 2;
public const DF_TEXTREL = 4;
public const DF_BIND_NOW = 8;
public function __construct(
public int $offset,
public int $v_addr,
public UInt64 $d_tag,
public UInt64 $d_un
) {
}
public function isEnd(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_NULL;
}
public function isPltGot(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_PLTGOT;
}
public function isHashTable(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_HASH;
}
public function isGnuHashTable(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_GNU_HASH;
}
public function isStringTable(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_STRTAB;
}
public function isStringTableSize(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_STRSZ;
}
public function isSymbolTable(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_SYMTAB;
}
public function isSymbolTableEntrySize(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_SYMENT;
}
public function isDebug(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_DEBUG;
}
}
?>
Did this file decode correctly?
Original Code
<?php
/**
* This file is part of the reliforp/reli-prof package.
*
* (c) sji <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Reli\Lib\Elf\Structure\Elf64;
use Reli\Lib\Integer\UInt64;
final class Elf64DynamicStructure
{
public const DT_NULL = 0;
public const DT_NEEDED = 1;
public const DT_PLTRELSZ = 2;
public const DT_PLTGOT = 3;
public const DT_HASH = 4;
public const DT_STRTAB = 5;
public const DT_SYMTAB = 6;
public const DT_RELA = 7;
public const DT_RELASZ = 8;
public const DT_RELAENT = 9;
public const DT_STRSZ = 10;
public const DT_SYMENT = 11;
public const DT_INIT = 12;
public const DT_FINI = 13;
public const DT_SONAME = 14;
public const DT_RPATH = 15;
public const DT_SYMBOLIC = 16;
public const DT_REL = 17;
public const DT_RELSZ = 18;
public const DT_RELENT = 19;
public const DT_PLTREL = 20;
public const DT_DEBUG = 21;
public const DT_TEXTREL = 22;
public const DT_JMPREL = 23;
public const DT_BIND_NOW = 24;
public const DT_INIT_ARRAY = 25;
public const DT_FINI_ARRAY = 26;
public const DT_INIT_ARRAYSZ = 27;
public const DT_FINI_ARRAYSZ = 28;
public const DT_RUNPATH = 29;
public const DT_FLAGS = 30;
public const DT_ENCODINGS = 31;
public const DT_PREINIT_ARRAY = 32;
public const DT_PREINIT_ARRAYSZ = 33;
public const DT_LOOS = 0x6000000d;
public const DT_HIOS = 0x6ffff000;
public const DT_RELACOUNT = 0x6ffffff9;
public const DT_GNU_HASH = 0x6ffffef5;
public const DT_FLAGS_1 = 0x6ffffffb;
public const DT_VERNEED = 0x6ffffffe;
public const DT_VERNEEDNUM = 0x6fffffff;
public const DT_VERSYM = 0x6ffffff0;
public const DT_LOPROC = 0x70000000;
public const DT_HIPROC = 0x7fffffff;
public const DF_ORIGIN = 1;
public const DF_SYMBOLIC = 2;
public const DF_TEXTREL = 4;
public const DF_BIND_NOW = 8;
public function __construct(
public int $offset,
public int $v_addr,
public UInt64 $d_tag,
public UInt64 $d_un
) {
}
public function isEnd(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_NULL;
}
public function isPltGot(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_PLTGOT;
}
public function isHashTable(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_HASH;
}
public function isGnuHashTable(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_GNU_HASH;
}
public function isStringTable(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_STRTAB;
}
public function isStringTableSize(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_STRSZ;
}
public function isSymbolTable(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_SYMTAB;
}
public function isSymbolTableEntrySize(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_SYMENT;
}
public function isDebug(): bool
{
return $this->d_tag->hi === 0 and $this->d_tag->lo === self::DT_DEBUG;
}
}
Function Calls
None |
Stats
MD5 | 18412267954f6b48c3387c221bd37493 |
Eval Count | 0 |
Decode Time | 2712 ms |