php混淆加密解密实战
【摘要】 在查看别人的php源码的时候,我们经常会看到加密后的php代码.那么php加密原理是什么呢?怎么解密呢?混淆加密我们从百度随便搜索一个加密网站,例如:http://dezend.qiling.org/encrypt/加密代码:<?php/** * Created by PhpStorm. * User: tioncico * Date: 20-3-28 * Time: 上午9:59 */cl...
在查看别人的php源码的时候,我们经常会看到加密后的php代码.那么php加密原理是什么呢?怎么解密呢?
混淆加密
我们从百度随便搜索一个加密网站,例如:http://dezend.qiling.org/encrypt/
加密代码:
<?php
/**
* Created by PhpStorm.
* User: tioncico
* Date: 20-3-28
* Time: 上午9:59
*/
class Tioncico{
function testEcho(){
echo "仙士可\n";
}
}
$tioncico = new Tioncico();
$tioncico->testEcho();
复制
加密成功后:
成功执行:
那么,这串代码的加密原理是什么呢?能解密吗?
在这串代码中,我们发现了最后有段代码为:eval();(如果你通过打印eval的第一个变量,可以发现这个变量为base64_decode)
很明显,该代码最后通过这串代码执行,通过echo把eval需要执行的代码输出:
可以发现,它又是一个eval包裹,继续输出:
同理,找到最后的eval,输出:
继续:
则得到了加密前的代码.
混淆加密的原理
混淆加密通过不断重复的base64,然后混淆base64_encode,decode函数,最后通过eval 解密执行完成. 只要稍微了解了一点原理,就能解密成功了.
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)