今天工作中某合作商拿过来代码让检查安全,一看代码加密了,比较汗,类似下面代码:
- <?php
- $OOO0O0O00=__FILE__;$OOO000000=urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');$OO00O0000=28;$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$O0O0000O0='OOO0000O0';eval(($$O0O0000O0('JE9PME9PMDAwMD0kT09PMDAwMDAwezE3fS4kT09PMDAwMDAwezEyfS4kT09PMDAwMDAwezE4fS4kT09PMDAwMDAwezV9LiRPT08wMDAwMDB7MTl9O2lmKCEwKSRPMDAwTzBPMDA9JE9PME9PMDAwMCgkT09PME8wTzAwLCdyYicpOyRPTzBPTzAwME89JE9PTzAwMDAwMHsxN30uJE9PTzAwMDAwMHsyMH0uJE9PTzAwMDAwMHs1fS4kT09PMDAwMDAwezl9LiRPT08wMDAwMDB7MTZ9OyRPTzBPTzAwTzA9JE9PTzAwMDAwMHsxNH0uJE9PTzAwMDAwMHswfS4kT09PMDAwMDAwezIwfS4kT09PMDAwMDAwezB9LiRPT08wMDAwMDB7MjB9OyRPTzBPTzAwME8oJE8wMDBPME8wMCwxMjU5KTskT08wME8wME8wPSgkT09PMDAwME8wKCRPTzBPTzAwTzAoJE9PME9PMDAwTygkTzAwME8wTzAwLDM4MCksJ0VudGVyeW91d2toUkhZS05XT1VUQWFCYkNjRGRGZkdnSWlKakxsTW1QcFFxU3NWdlh4WnowMTIzNDU2Nzg5Ky89JywnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycpKSk7ZXZhbCgkT08wME8wME8wKTs=')));return;?>
- kr9NHenNHenNHe1zfukgFMaXdoyjcUImb19oUAxyb18mRtwmwJ4LT09NHr8XTzEXRJwmwJXPkr9NTzEXHenNHtILT08XT08XHr8XhtONTznNTzEXHr8Pkr8XHenNHr8XHtXLT08XHr8XHeEXhUXmOB50cbk5d3a3D2iUUylRTlfNaaOnCAkJW2YrcrcMO2fkDApQToxYdanXAbyTF1c2BuiDGjExHjH0YTC3KeLqRz0mRtfnWLYrOAcuUrlhU0xYTL9WAakTayaBa1icBMyJC2OlcMfPDBpqdo1Vd3nxFmY0fbc3Gul6HerZHzW1YjF4KUSvkZLphUL7cMYSd3YlhtONHeEXTznNHeEpK2a2CBXPkr9NHenNHenNHtL7eWplC2ivwunPFolVcM8PhTSYtI==
很明显,是使用了某种PHP代码混淆工具混淆了下,Google一把,原来是使用的微盾PHP脚本加密专家加密的,网上搜了下,没找到免费的解密工具,于是乎,自己就研究了下,写了个解密算法,share下,给遇到同样问题的朋友一个方便。
另外需要说明的是,我测试,本地解密出来的代码可以阅读的,由于代码混淆过,可能还原出来的有些地方和原代码有出入,有需要可自行修改之。
更新:
2009-09-16
添加了自动获取要截取的字符串长度,更通用了。
- <?php
-
-
-
-
-
-
- $filename="play-js.php";
- $lines = file($filename);
-
-
- $content="";
- if(preg_match("/O0O0000O0\('.*'\)/",$lines[1],$y))
- {
- $content=str_replace("O0O0000O0('","",$y[0]);
- $content=str_replace("')","",$content);
- $content=base64_decode($content);
- }
-
- $decode_key="";
- if(preg_match("/\),'.*',/",$content,$k))
- {
- $decode_key=str_replace("),'","",$k[0]);
- $decode_key=str_replace("',","",$decode_key);
- }
-
- $str_length="";
- if(preg_match("/,\d*\),/",$content,$k))
- {
- $str_length=str_replace("),","",$k[0]);
- $str_length=str_replace(",","",$str_length);
- }
-
- $Secret=substr($lines[2],$str_length);
-
-
-
- echo "<?php\n".base64_decode(strtr($Secret,$decode_key,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'))."?>";
-
- ?>
分享到:
相关推荐
微盾PHP脚本加密专家解密算法.txt
威盾PHP加密专家解密算法 By:Neeao ,碰到使用威盾PHP加密专家加密的代码,可以用下面的代码查看源文件。
des加密算法(js+java)加密与解密结果相同 包含三个文件 : des.js des.html ,用于实现前端脚本的加密与... des.java 用于后台的加密解密操作; 项目中正好用到,已经过验证,两个加密解密结果相同,分享给大家!
des加密算法(js+java)加密与解密结果相同 包含三个文件 : des.js des.html ,用于实现前端脚本的加密与... des.java 用于后台的加密解密操作; 项目中正好用到,已经过验证,两个加密解密结果相同,分享给大家!
可以用ASP,PHP等脚本调用 已经把加密后的结果生成字符串,可以方便存储数据库或者是网页打印出来 des算法是从网上找的,里面有作者名称。 这里只说明PHP用法,ASP等其他用法雷同,不再复述。 $str="加密前字符串";...
学习shell脚本,了解linux知识。
用于还原Script Encoder加密后的script代码,用过asp的人应该知道,微软提供的脚本保护技术很弱,本人在csdn 发布过aspDecoder,以前也发布过几个版本,最近得到该源码(来源不记得了),发觉代码的算法很棒,速度也...
解密希尔密码
压缩包内有两个C语言程序代码,分别是加解密和已知明文攻击,还有三个文本文档,是代码实现过程中的输入与输出文档。实现2阶Hill密码在已知明文攻击场景...基于C语言实现 密钥矩阵随机生成、加密、解密和已知明文攻击。
加密bmp文件,利用bmp最低有效位,将图像加密处理。直白的说: LSB信息隐藏算法,就是通常把信息隐藏在图像像素的最后一位
易语言调用JSEncrypt实现RSA加密解密。Tags:JSEncryptRSA加密解密。
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。 该压缩包中包括aes加密算法的c++实现代码。
利用java编写的加解密集成工具,集成了凯撒,base64,html等多种编解码,加解密,支持自定义python脚本。CTF比赛实战工具,简明易用。
加密算法的工具加,可以解决透明加解密的问题
682.5.1 注册表编辑器Regedit 682.5.2 注册表监控工具Regsnap 712.5.3 注册表数据库监视软件Regmon 732.5.4 注册表静态比较工具RegShot 742.6 专家点拨:常见问题解答 75第3章 不同的加密解密算法 763.1 数据加密的...
常见问题解答 75第3章 不同的加密解密算法 763.1 数据加密的缘由 773.1.1 数据加密技术概述 773.1.2 为什么要进行数据加密 773.1.3 数据加密的原理 773.1.4 加密技术与密码分析 793.2 Hash算法基础 813.2.1 CRC32...
魔兽争霸地图加密,魔兽争霸地图算法加密辅助工具,亲测好用,欢迎看魔兽争霸地图加密教程
栅栏密码加密/解密算法传统型的栅栏密码加密/解密算法的变种,称为W型。网站有在线脚本,但在线下比赛时,会用到此脚本,自动分栏,比对结果
由于杀软的原因使得“加密/解密VBS脚本”版不能正常使用,于是修改了一下加密函数逃避杀软,但同 1.0版一样由宿主解释执行脚本的特性注定了这种加密是可逆并非常脆弱的,WScript.Echo 一下Execute 后的内容即可显示...