如何反转 php 混淆代码?
how to reverse php obfuscated code?
我解码了我的一些 ionCube 编码的 PHP 页面,但它包含带有混淆的 PHP 函数名称的代码:
示例:
_obfuscate_DRYWMSUQDzIXCSohIQMqCz0NJiIUBSIÿ("Location: error.php");
这是 header 函数的代码。
header("Location: error.php");
谁能解释一下如何对这段代码进行去混淆处理吗?
混淆是设计不可逆的 - 如果有一种方法可以轻松逆转混淆,那么使用混淆将毫无意义。将其视为对函数名称进行哈希处理——尽管可能会暴力破解原始名称,但您必须付出一些认真的努力,包括:
- 找出使用了哪种哈希算法
- 获取使用的混淆密钥(在编码时指定)
- 暴力破解每个函数名,从
a()
到my_function_name_that_does_something()
正如评论中所指出的,您获取原始源代码的唯一现实机会是与原始开发人员联系。您不会期望从 C 代码编译的二进制文件中获得原始源代码吧?
我解码了我的一些 ionCube 编码的 PHP 页面,但它包含带有混淆的 PHP 函数名称的代码:
示例:
_obfuscate_DRYWMSUQDzIXCSohIQMqCz0NJiIUBSIÿ("Location: error.php");
这是 header 函数的代码。
header("Location: error.php");
谁能解释一下如何对这段代码进行去混淆处理吗?
混淆是设计不可逆的 - 如果有一种方法可以轻松逆转混淆,那么使用混淆将毫无意义。将其视为对函数名称进行哈希处理——尽管可能会暴力破解原始名称,但您必须付出一些认真的努力,包括:
- 找出使用了哪种哈希算法
- 获取使用的混淆密钥(在编码时指定)
- 暴力破解每个函数名,从
a()
到my_function_name_that_does_something()
正如评论中所指出的,您获取原始源代码的唯一现实机会是与原始开发人员联系。您不会期望从 C 代码编译的二进制文件中获得原始源代码吧?