独创:几十行纯php代码解密goto加密的php单文件[仅供学习]

使用用途

  1.  安全测试:测试你用网络工具加密的代码是否可以被快速解密。

  2.  学习参考:对自己感兴趣的源码解密用于编程学习,或了解加密解密。

  3.  安全评估:解密自己用的第三方源码是否有危险行为,比如后门、间谍行为.

不得用于

  1.  解密出售:请尊重他人劳动成果,不得公开、盗卖他人知识产权等侵权行为。

  2.  黑产:不得用于网络攻击、非法获取网络数据等违反法律法规的用途。

备注说明 可解密大部分加密内容(非全),够你用于网络安全分析及解密思路学习。

<?php
/*
建议用途
1. 安全测试:测试你用网络工具加密的代码是否可以被快速解密。
2. 学习参考:对自己感兴趣的源码解密用于编程学习,或了解加密解密。
3. 安全评估:解密自己用的第三方源码是否有危险行为,比如后门、间谍行为.
不得用于
1. 解密出售:请尊重他人劳动成果,不得公开、盗卖他人知识产权等侵权行为。
2. 黑产:不得用于网络攻击、非法获取网络数据等违反法律法规的用途。
版本说明
1. 适合php单文件完整无错goto加密源码,仅供解密思路参考
*/

$mails = "xxxxxx@126.com";
ini_set('memory_limit', '888M');

//去行首goto+多字母;
function Trimgoto($str,$stra){
$str = Trim($str);
preg_match_all('/goto.+?;/', $str, $goto);
foreach($goto[0] as $tiqu6){
$str = Trim(str_replace("@#@".$tiqu6,"","@#@".$str));
}
return $str;
}
 
//作用:按长度降序 替换 \开头+数字字母的转义符
function Trimziti($str,$stra){
$str = Trim($str);
preg_match_all('/(\\\[a-zA-Z0-9_]{1,6})+/', $str, $ziti);
foreach($ziti[0] as $tiqu6){
$lans = strlen($tiqu6);
$liti[$tiqu6] = $lans;
}
arsort($liti);
foreach($liti as $tiqu6 => $tiqua){
eval("\$tsts = \"{$tiqu6}\";");
$tiqux = addslashes($tiqu6);
$str = str_replace($tiqux,$tsts,$str);
$str = str_replace($tiqu6,$tsts,$str);
}
return $str;
}
 
//去行首 多字母: ;
function Trimgete($str,$stra){
global $mails;
$str = Trim($str);
preg_match_all('/\w+:/', $str, $gete);
$jj=0;
foreach($gete[0] as $tiqu6){
if(stristr("@#@".$str,"@#@".$tiqu6)){
$jj++;
$str = Trim(str_replace("@#@".$tiqu6,"","@#@".$str));
}
}
if($jj>0){return $str;}else{return $mails;}
}

$efile = "code.php.txt"; //要解密的文件 纯goto完整PHP源码
$code = file_get_contents($efile); 
if (strlen($code)>10){
preg_match_all('/goto\s+(\w+);\s*\}\s*goto\s+(\w+);/',$code,$ma3);
foreach($ma3[0] as $s2go){
preg_match_all('/goto\s+[a-zA-Z0-9_-]+;/',$s2go,$ma5);
$str51 = str_replace(array("goto",";"," "),"",$ma5[0][0]);
$str52 = str_replace(array("goto",";"," "),"",$ma5[0][1]);
$code = str_replace($s2go,"goto {$str52};\r\n}\r\ngoto {$str51};",$code);
}
$code1 =str_replace(array('<?php','?>'),"\r\n // < ?php 或 ? > \r\n",$code);
$code1 =str_replace(array('goto '),"\r\ngoto ",$code1);
$codes = "";
$tat0=explode("\r\n",$code1);
foreach($tat0 as $tat1){
$tat1 = Trim($tat1);
if(strlen($tat1)>0 && stristr("@".$tat1,"@goto ")){
$codo1 = Trimgoto($tat1,$stra);
$codo2 = Trimgete($codo1,$stra);
if($codo2==$mails){
$codo3 = "\$chalida .= '" . addslashes($codo1) ."<brbr>';\r\n";
$codel = str_replace($codo1,$codo3,$tat1);
$codes .= $codel."\r\n";
}else{
$codo3 = "\$chalida .= '" . addslashes($codo2) ."<brbr>';\r\n";
$codel = str_replace($codo2,$codo3,$tat1);
$codes .= $codel."\r\n";
}
}else{
$codes .= "\$chalida .= '" . addslashes($tat1) ."<brbr>';\r\n";
}
}
echo "<h3>长度\$codes</h3>".mb_strlen($codes);
eval($codes);
$chalide = $chalida;
$chalide = Trimziti($chalide,"");
$chalide = stripslashes($chalide);
$chalide = str_replace("<brbr>","\r\n",$chalide);
$chalide = str_replace("\r\n} ","\r\n}\r\n",$chalide);
file_put_contents($efile.".V2022.txt",$chalide); //结果写入文件
echo "<h3>执行完成见 $efile.V2022.txt</h3>".$chalide;
}
//经过测试对比,能解大部分,遗漏}和少部分代码 仅供解密思路参考

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YUJIANYUE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值