【问题标题】:How to make code unreadable?如何使代码不可读?
【发布时间】:2010-11-16 21:34:40
【问题描述】:

就像,我们有这个:

<?php
$titles[3] = 'three'; 
$titles[2] = 'two'; 
$titles[1] = 'one'; 
print_r( $titles); 

foreach ($titles as $t ) { 
print "title=$t "; 
}
?>

如何把它变成这样的东西?

<?php eval(gzinflate(str_rot13(base64_decode('PGRpdiBzdHlsZT0nPGRpdiBzdPGRpdiBzdHlsZT0nHlsZT0nandsoon')))); ?>

完全不明白它是如何完成的。有什么魔力?

请描述一下。

谢谢。

【问题讨论】:

  • 这对我来说很自然 ;-)
  • @mjv 这同时是我在这个网站上看到的最好和最差的评论。

标签: php decode encode


【解决方案1】:

您要查找的术语是“obfuscate”。如果你简单地在谷歌上搜索“php obfuscators”,你会找到可以复制和粘贴代码的软件,它会为你混淆它。

【讨论】:

    【解决方案2】:

    如何让代码不可读?这很简单:将它分配给我在这里共事的一位程序员。

    【讨论】:

    • 无用,但很有趣。 +1
    【解决方案3】:

    尝试使用混淆器:http://www.fopo.com.ar/

    【讨论】:

      【解决方案4】:

      您正在寻找能够混淆代码的东西。

      这是一个开源的 PHP 混淆器:http://www.raizlabs.com/software/phpobfuscator/

      【讨论】:

        【解决方案5】:

        好吧,只要对原文做相反的事情,即按这个顺序,gzdeflate,str_rot13,base64_encode。

        【讨论】:

          【解决方案6】:

          做这样的事情是故意让你的代码需要更长的时间来执行,而不会增加任何好处。由于任何人都可以将这段代码解码为原始代码,因此除了发现 php 的某些功能并能够说“看马!我现在是黑客”之外,它真的没有任何用处

          如果你真的想阻止其他人阅读你的代码,你需要像 Zend 编码器这样的东西,它会让你的代码不可读,但仍然可以作为 php 运行。

          【讨论】:

            【解决方案7】:

            查看http://www.ideone.com/vaAXz 以了解此处发生的情况。

            基本上,使用base64_encodestr_rot13gzdeflate 将您的字符串转换为经过混淆的字符串,然后通过以相反的顺序(gzinflate、@987654331)通过反向函数对其进行去混淆处理@ 再次(它所做的只是*将字符串旋转 13 位,因此 a n、b o 等)和 base64_decode)。然后将未混淆的代码通过eval运行,以便执行。

            这不是实现“安全”代码的特别好方法,如果这就是您想要的,因为通过提供对代码进行反混淆的步骤,您固有地让任何人访问代码将其转换回纯文本。通常,代码混淆器通过将有意义的变量名称替换为 $a$b 等,并通过删除 cmets、空格以及我们通常用来使代码可读的任何其他便利来使您的代码不可读。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-05-20
              • 1970-01-01
              • 1970-01-01
              • 2012-07-02
              • 2017-07-11
              • 2014-10-14
              相关资源
              最近更新 更多