PHP编码和解码



我有一段php编码的代码,但我不知道它是如何编码的编码代码的简单define("x53x54117103113x5f103x48105x43113", false)我的问题是我如何将另一个代码编码成这样,以及它为什么被编码请任何有知识的人告诉我或知道任何建议的工具

我需要更多的信息来辨别实际使用的模糊处理程序,但对于这个特定的字符串,它似乎是十六进制和八进制编码字母的混合

"x53x54117103113x5f103x48105x43113"
  • \xFF-十六进制
  • \000-辛烷

上面的序列编码如下(其中x是十六进制,8是八进制(:xx888x8x8x8

这个序列可能是随机的,也可能是有意的。假设它是随机的,下面的函数可以用于以类似的方式对任何字符串进行编码,使用random_int()来随机选择编码方法。

<?php
function hex_octal_rand_encode($s) {
$result = '';
foreach (str_split($s) as $c) {
$d = ord($c);
// select encoding method at random (0 = hex, 1 = oct)
$result .= (random_int(0, 1) === 0)
? '\x' . dechex($d)
: '\'  . decoct($d);
}
return $result;
}
// Test
$input = "STOCK_CHECK";
$encoded = hex_octal_rand_encode($input);
echo sprintf("Encoded: %sn", $encoded);
$cmd = sprintf('return "%s";', $encoded);
echo sprintf("Decoded: %sn", eval($cmd));
?>

样本输出(注意编码值的变化(:

Encoded: x53x54117103x4b137x43x48x45x43x4b
Decoded: STOCK_CHECK
Encoded: x53124x4fx43113x5fx43110x45x43x4b
Decoded: STOCK_CHECK
Encoded: 123124x4fx43113137x43x48105x43113
Decoded: STOCK_CHECK

最新更新