php解密源码(php源代码被加密了,请问如何解密)
本文目录
php源代码被加密了,请问如何解密
php源码被使用zend加密,现阶段还没用解密方法。但是好像现在有这样的一个Studio,他们成功地完成了Zend和EAC的decode
不过是收费的
php源码解密
这类帖子我都回累了,就是一句话:把eval改为exit,在控制台运行就能查看那个eval语句等效的PHP代码。
一般的解密方法(步骤):
一、复制一份文件,例如a.php;
二、把a.php文件里面的第一个eval修改为exit;
三、在控制台运行a.php,复制输出的内容,替换eval那一行,例如:
c:\》php a.php 》 1
c:\》notepad 1
这样打开一个记事本,然后全选、复制、关闭窗口,然后在a.php里面选择刚才修改的exit的那个语句,从eval开始到;结束,然后粘贴,保存,关闭。
四、如果文件里面还有eval,跳转到第二步。
过程中注意,里面的_FILE_要修改为原来的文件名字,并且记住增加了多少字节,在fgets的时候要适当调整。
请高手们帮我解密一段php源码
这经过了2次加密。第一次解出来是
eval(str_rot13(’vs( fgefge($_FREIRE[“UGGC_UBFG“], “yhb“.“ur“) || fgefge($UGGC_FREIRE_INEF[“FREIRE_ANZR“], “yhb“.“ur.“) || fgefge($_FREIRE[“UGGC_UBFG“], “thc“.“vnbjnat“) || fgefge($UGGC_FREIRE_INEF[“FREIRE_ANZR“], “thc“.“vnbjnat.“) || fgefge($_FREIRE[“UGGC_UBFG“], “127.0.“.“0.1“) || fgefge($UGGC_FREIRE_INEF[“FREIRE_ANZR“], “127.0.“.“0.1“) || fgefge($_FREIRE[“UGGC_UBFG“], “192“.“.168.“) || fgefge($UGGC_FREIRE_INEF[“FREIRE_ANZR“], “192“.“.168.“) || fgefge($_FREIRE[“UGGC_UBFG“], “ybpnyub“.“fg“) || fgefge($UGGC_FREIRE_INEF[“FREIRE_ANZR“], “ybpnyub“.“fg“)){$pbagrag=bo_trg_pbagragf();bo_raq_pyrna();$_T[“tmvcpbzcerff“]?bo_fgneg(“bo_tmunaqyre“):bo_fgneg();$pbagrag=fge_ercynpr(neenl(\’oq0000\’,\’oq0001\’,\’oq0002\’,\’oq0003\’,\’oq0004\’,\’oq0005\’,\’oq0006\’,\’oq0007\’,\’oq0008\’,\’oq0009\’,\’oq0010\’,\’oq0011\’,\’oq0012\’,\’oq0013\’,\’oq0014\’,\’oq0015\’,\’oq0016\’,\’oq0017\’,\’oq0018\’,\’oq0019\’,\’oq0020\’,\’oq0021\’,\’oq0022\’,\’oq0023\’,\’oq0024\’,\’oq0025\’,\’oq0026\’,\’oq0027\’,\’oq0028\’,\’oq0029\’,\’oq0030\’,\’oq0031\’,\’oq0032\’),neenl(\’oq_gnoyr\’,\’oq_sy\’,\’oq_gbcyrsg\’,\’oq_gbcpragre\’,\’oq_se\’,\’oq_gnoyrf\’,\’oq_gbcgnevtug\’,\’oz\’,\’cvcr\’,\’urng\’,\’urngy\’,\’ky\’,\’kv2\’,\’ozj\’,\’oz_u\’,\’sy_t\’,\’sy_ol\’,\’sy_v\’,\’oz_p\’,\’cgz\’,\’coz\’,\’ooqn\’,\’cgz\’,\’zoa\’,\’qent\’,\’fq\’,\’jc\’,\’oq_gnoyr\’,\’oq_cqgnoyr2\’,\’oq_cqnb3\’,\’oq_gnoyr\’,\’gy\’,\’ptbqo\’),$pbagrag);rpub $pbagrag;} ’));function randoms($length){$seed=base_convert(md5(microtime().$_SERVER[“DOCUMENT_ROOT“]),16,35);$seed=$seed.“zZ“.strtoupper($seed);$hash=““;$max= strlen($seed)-1;for($i=0;$i《$length;$i++){$hash.=$seed{mt_rand(0, $max)};}return $hash;}output();$_biandou=“0iw;nn“.randoms(11856);
然后根据上面的再解密,就是
if( strstr($_SERVER[“HTTP_HOST“], “luo“.“he“) || strstr($HTTP_SERVER_VARS[“SERVER_NAME“], “luo“.“he.“) || strstr($_SERVER[“HTTP_HOST“], “gup“.“iaowang“) || strstr($HTTP_SERVER_VARS[“SERVER_NAME“], “gup“.“iaowang.“) || strstr($_SERVER[“HTTP_HOST“], “127.0.“.“0.1“) || strstr($HTTP_SERVER_VARS[“SERVER_NAME“], “127.0.“.“0.1“) || strstr($_SERVER[“HTTP_HOST“], “192“.“.168.“) || strstr($HTTP_SERVER_VARS[“SERVER_NAME“], “192“.“.168.“) || strstr($_SERVER[“HTTP_HOST“], “localho“.“st“) || strstr($HTTP_SERVER_VARS[“SERVER_NAME“], “localho“.“st“)){$content=ob_get_contents();ob_end_clean();$_G[“gzipcompress“]?ob_start(“ob_gzhandler“):ob_start();$content=str_replace(array(’bd0000’,’bd0001’,’bd0002’,’bd0003’,’bd0004’,’bd0005’,’bd0006’,’bd0007’,’bd0008’,’bd0009’,’bd0010’,’bd0011’,’bd0012’,’bd0013’,’bd0014’,’bd0015’,’bd0016’,’bd0017’,’bd0018’,’bd0019’,’bd0020’,’bd0021’,’bd0022’,’bd0023’,’bd0024’,’bd0025’,’bd0026’,’bd0027’,’bd0028’,’bd0029’,’bd0030’,’bd0031’,’bd0032’),array(’bd_table’,’bd_fl’,’bd_topleft’,’bd_topcenter’,’bd_fr’,’bd_tables’,’bd_toptaright’,’bm’,’pipe’,’heat’,’heatl’,’xl’,’xi2’,’bmw’,’bm_h’,’fl_g’,’fl_by’,’fl_i’,’bm_c’,’ptm’,’pbm’,’bbda’,’ptm’,’mbn’,’drag’,’sd’,’wp’,’bd_table’,’bd_pdtable2’,’bd_pdao3’,’bd_table’,’tl’,’cgodb’),$content);echo $content;}
function randoms($length){$seed=base_convert(md5(microtime().$_SERVER[“DOCUMENT_ROOT“]),16,35);$seed=$seed.“zZ“.strtoupper($seed);$hash=““;$max= strlen($seed)-1;for($i=0;$i《$length;$i++){$hash.=$seed{mt_rand(0, $max)};}return $hash;}output();$_biandou=“0iw;nn“.randoms(11856);
大致看了下,大体上是判断网站的url中有没有特定字符,比如luohe,localhost,127.0.0.1等,如果有就进行下一步的ob输出缓存替换(放行),作用是只准这几个网站能够运行此程序。它把’bd0000’,’bd0001’,’bd0002’,’bd0003’,’bd0004’,’bd0005’,’bd0006’等替换成相应字符。没有就不替换。因此改动判断网址那里是关键。你改成全部放行就行了。
注意这里有个output()函数没有定义,不知道是不是别的文件里引入的。
PHP源码解密
?》《?php get_header(); ?》
《div id=“content“》
《?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?》
《div 《?php if(function_exists(’post_class’)) : ?》《?php post_class(); ?》《?php else : ?》class=“post post-《?php the_ID(); ?》“《?php endif; ?》》
《h3》《a href=“《?php the_permalink() ?》“ rel=“bookmark“ title=“Permanent Link to 《?php the_title_attribute(); ?》“》《?php the_title() ?》《/a》《/h3》
《?php the_content(); ?》
《div class=“clear“》《/div》
《div class=“postmetadata“》
《div class=“date“》《span class=“ui-icon ui-icon-clock“》《/span》 《?php the_time(’l, F jS, Y’) ?》 at 《?php the_time() ?》《/div》 《div class=“categories“》《span class=“ui-icon ui-icon-folder-open“》《/span》 《?php if (the_category(’, ’)) the_category(); ?》 《?php if (get_the_tags()) the_tags(’ | ’); ?》《/div》 《div class=“comment-link“》《span class=“ui-icon ui-icon-comment“》《/span》《?php comments_popup_link(’Leave A Comment »’, ’1 Comment »’, ’% Comments »’); ?》《/div》 《?php edit_post_link(’Edit’, ’| ’, ’’); ?》
《/div》
《/div》
《?php endwhile; else: ?》
《p》《?php _e(’Sorry, no posts matched your criteria.’); ?》《/p》
《?php endif; ?》
《/div》
《?php get_footer(); ?》《?
php 代码解密
其实你可以使用DES进行解密,php中有一个扩展可以支持DES的加密算法,是:extension=php_mcrypt.dll在配置文件中将这个扩展打开还不能够在windows环境下使用需要将PHP文件夹下的 libmcrypt.dll 拷贝到系统的 system32 目录下,这是通过phpinfo可以查看到mcrypt表示这个模块可以正常试用了。
我举例一下吧:
function do_mdecrypt($input, $key)
{
$input = str_replace(““n“, ““, $input);
$input = str_replace(““t“, ““, $input);
$input = str_replace(““r“, ““, $input);
$input = trim(chop(base64_decode($input)));
$td = mcrypt_module_open(’tripledes’, ’’, ’ecb’, ’’);
$key = substr(md5($key), 0, 24);
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$decrypted_data = mdecrypt_generic($td, $input);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return trim(chop($decrypted_data));
}
然后,你用用这个方法,就可以实现代码解密了!
更多文章:
取名大全免费自动(宝宝起名字大全2021出生免费,2021年新生儿男孩取名)
2024年4月18日 20:45
考勤表下载电子表格(从考勤机上下载了考勤,如何生成excel表格)
2024年10月12日 20:55
路由器wifi如何限速?路由器限速设置方法大全,路由器怎么限速
2024年3月9日 04:15