2015-03-31 168 views
-1

我解码我的一些Ioncube公司编码的PHP页面,但它包含的代码与混淆的PHP函数的名称:如何反转php混淆代码?

例子:

_obfuscate_DRYWMSUQDzIXCSohIQMqCz0NJiIUBSIÿ("Location: error.php"); 

这是头功能的代码。

header("Location: error.php"); 

你能请人解释我如何将这种反混淆这个代码?

+1

[解码混淆PHP源代码]可能的重复(http://stackoverflow.com/questions/8020457/decode-obfuscated-php-source-code) – D4V1D 2015-03-31 09:20:09

+0

问谁曾经在第一个地方 – 2015-03-31 09:29:01

+0

这似乎是这样obsficated一个是不同的,因为这没有'\'或数字@ d4v1d:/ – 2015-03-31 09:36:22

回答

0

混淆是设计是不可逆的 - 如果有一种方法可以很容易地反转混淆,那么使用混淆将是毫无意义的。把它看成是散列函数的名称 - 虽然它可能可以猜解原来的名字,你就必须把一些严肃的努力进去,包括:

  • 找出散列算法使用哪种
  • 获取使用加密密钥(这是在编码过程中指定)
  • 猜解每一个函数名,从a()开始my_function_name_that_does_something()

正如在评论中指出的,你唯一现实的机会在检索原始源代码是联系原始开发者。你不会期望从C代码编译的二进制文件中获得原始的源代码,对吗?

+0

呃。那么PHP Processor如何知道这个混淆声明的功能? – 2015-04-08 05:41:49

+0

@SasithMaduranga他们没有 - 项目中的所有函数都被哈希到相同的混淆名称,他们不需要知道实际的函数名称。这会打破诸如变量变量('$$ var')和'eval()'之类的东西,但这些东西不应该以任何方式用于“好代码”中。据我所知,系统功能应该仍然没有被混淆和可读。 – SebiH 2015-04-08 06:18:29