【问题标题】:Obfuscate/Encode/Encrypt PHP System Function Names [duplicate]混淆/编码/加密PHP系统函数名称[重复]
【发布时间】:2012-12-08 15:50:34
【问题描述】:

可能重复:
Best solution to protect PHP code without encryption

谁能告诉我在 PHP 中混淆所有函数名是否可以/可以接受?

例如,这似乎可以使用在线工具:

原文:

if(file_exists($file)){chmod($file,0644);echo"good";}

混淆:

$x0c="\143hm\x6f\144"; $x0d="\x66\x69\x6ce\x5f\x65\170\151\x73\164\x73"; 
if($x0d($x0b)){$x0c($x0b,0644);echo"go\x6fd";}?>

我的问题:

  1. 请注意,它不再具有 file_exists 或 chmod 功能,但这适用于任何 PHP 安装设置/版本吗?
  2. 使用此方法,可以完成任何 PHP 函数,例如:file()、eval()、base64_decode()、file_get_contents(); str_rot13(), strpos(), touch(), filemtime() ?
  3. 这是否适用于 windows、linux 等服务器?

【问题讨论】:

  • 写一些邪恶的代码,是吗?请记住,圣诞老人会列出谁是淘气的和谁是好的……;-)

标签: php encryption base64 eval obfuscation


【解决方案1】:
  1. 请注意,它不再具有 file_exists 或 chmod 功能,但这适用于任何 PHP 安装设置/版本吗?
  2. 使用此方法,可以完成任何php函数,例如:file()、eval()、base64_decode()、file_get_contents(); str_rot13(), strpos(), touch(), filemtime() ?
  3. 这是否适用于 windows、linux 等服务器?

是的,是的,是的。

谁能告诉我在 PHP 中混淆所有函数名是否可以/可以接受?

不,不,而且地狱不。

因此,虽然这段代码有效,但存在一些大问题:

  1. 混淆得越多,代码就越慢。简单的生活事实。
  2. 对于高级用户来说,简单地撤消您的所有工作是微不足道的。如果您试图混淆来源以作为反盗版措施,您可以直接不打扰。
  3. 如果您试图混淆源代码以试图做邪恶的事情,请注意这些东西会像拇指酸痛一样突出,因为看起来“错误”,因此很容易删除.
  4. 最后,即使您隐藏了函数的名称,您也无法绕过 PHP 的内置 disable_functions 配置设置。

【讨论】:

  • 人活着,为什么每个人都假设这么多?除了是错误的,这是粗鲁和侮辱!感谢查尔斯的帮助。你能告诉我为什么会这样吗?那个字符编码叫什么,或者它是如何工作的????
  • 你说的是反斜杠编码吗? The PHP manual page on the string type explains how it works。以\x 开头的是一个字节的十六进制编码,而仅以\ 开头然后只包含数字的那些是一个字节的八进制编码。
  • 查尔斯-谢谢!这就是我想知道的!
猜你喜欢
  • 2016-11-21
  • 2014-12-06
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
  • 2018-10-22
  • 1970-01-01
  • 2015-12-14
  • 2017-09-21
相关资源
最近更新 更多