对 PHP 代码进行编码或混淆

发布于 2024-11-08 18:21:09 字数 582 浏览 6 评论 0原文

这个话题在这里被问了很多。
我尝试阅读其中一些内容,但不幸的是我找不到答案。
我想像 byterun 一样创建我自己版本的 PHP 混淆器。
例如:

<?php
echo "Hello World";
?>

into:

<?php $_F=__FILE__;$_X='Pz48P3BocA0KNWNoMiAiSDVsbDIgVzJybGQiOw0KPz4='; 
eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLC
cxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GS
UxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

我不是在寻找如何创建编码的 PHP 代码的工具。我正在寻找如何创建或加密 PHP 代码的过程。至少是我进行研究的起点。
非常感谢任何指导。

谢谢
伊万

This topic has been asked a lot here.
I tried to read some of them, but unluckily i couldn't find the answers.
I would to create my own version of PHP obfuscator like byterun does.
For example:

<?php
echo "Hello World";
?>

into:

<?php $_F=__FILE__;$_X='Pz48P3BocA0KNWNoMiAiSDVsbDIgVzJybGQiOw0KPz4='; 
eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLC
cxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GS
UxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>

I'm not looking for a tools how to create the encoded PHP code. I'm looking for how the process to create or encrypt the PHP code. At least a start point to do my research.
Any guidance is greatly appreciated.

Thanks
Ivan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白首有我共你 2024-11-15 18:21:10

一个非常准系统的版本是

<?php

$po = '<' . '?php';
$pc = '?' . '>';

$input = 'file.php';
$code = file_get_contents($input);

$encoded = base64_encode($code);

$encoded_script = <<<EOL
$po

eval(base64_decode($encoded));

$pc
EOL;

file_put_contents('encoded.php', $encoded_script);

商业混淆器所做的唯一事情就是添加额外的混淆级别 - 将变量重命名为无意义的垃圾。也许改变编码方法,将源脚本分成多个块,并对每个块进行不同的编码,等等……

但最终,这一切都归结为无用的垃圾,可以保护湿厕纸。

A very barebones version would be

<?php

$po = '<' . '?php';
$pc = '?' . '>';

$input = 'file.php';
$code = file_get_contents($input);

$encoded = base64_encode($code);

$encoded_script = <<<EOL
$po

eval(base64_decode($encoded));

$pc
EOL;

file_put_contents('encoded.php', $encoded_script);

The only thing the commercial obfuscators do is add extra levels of obfuscation - rename variables into non-meaningful garbage. Maybe vary the encoding methods, split the source script into multiple chunks and have each one encoded differently, etc...

But in the end, it all boils down to useless garbage that protects about as well as wet toilet paper.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文