最近在整理单位购买的源码时,发现源码里好多文件都混淆加密了。虽然不解密也不影响使用,但是心里总觉得有些别扭,便试着将加密的文件解密。

首先,百度了一下,看网上是否有现成的混淆类解密工具,搜到了一个http://www.zhaoyuanma.com/。尝试了一下,这个还真是好用,免费的,解密速度挺快。但是当解到一个比较大的文件时,发现文件上传不上去了,网站提示:文件无法上传。开始以为是不是解密次数多了,网站限制了。隔了一天试了一下,还是不行,后来打开了文件一下打算仔细的看看,觉得文件打开的比较迟钝,硬盘也吱吱的响,这才注意到这个文件的体积还挺大的,都4M多,我说怎么上传不上去。

无法通过工具解密了,就只有自己想办法,试着自己解密试试,结果踩到了一个坑。

先发一个混淆类加密的样式:

$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");
$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};
$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};
$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};eval($O00O0O("JE8wTzAwMD0iZENvVnp1dGtJSnllUVd4VXJxQVNOb*************));

首先 在第一行后插入 echo $O00OO0; die(); 便可输出 urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6****"); 到底是什么字符串了,通过输出发现这一串字符是:

n1zb/ma5\vt0i28-pxuqy*6lrkdg9_ehcswo4+f37j

接着再继续输出  $O00O0O、$OO0O00、 $OO0000 三个变量所表示的字符串了,还是在每一行后面添加 echo $O00OO0; die(); 继续用输出。便可以知道这三个变量表示的是什么含义了。这儿要小心,一不小心,就容易掉到坑里了。

那就是 将第一行要将 $O00OO0=urldecode("%6E1%7A%62%2F%6D%"),这一句变成 $O00OO0=‘n1zb/ma5\vt0i28-pxuqy*6lrkdg9_ehcswo4+f37j’; 而不是

$O00OO0="n1zb/ma5\vt0i28-pxuqy*6lrkdg9_ehcswo4+f37j"; ,要不然就整体都错了一位,调试出的变量所代表的函数就都似乎成了未知函数。(后来想想,$O00OO0=urldecode("%6E1%7A%62%2F%6D%")这行代码可以保持原样不动,就不会踩坑了)

错位后的变量所代表的字符变成了

$O00O0O='bawh';
$O0OO00='w0k0k';
$OO0O00='wqbw0k';
$OO0000='58';
$O00O0O.='bawhl+eghs4gh'

通过正确的输出,便发现加密的函数为:

$O00O0O='base';
$O0OO00='strstr';
$OO0O00='substr';
$OO0000='52';
$O00O0O.='base64_decode'

接下来首先对  eval($O00O0O("JE8wTzAwMD0iZENvVnp1dGtJSnllUVd4VXJxQVNOb*************")); 解密,将 换成 echo ( base64_decode("JE8wTzAwMD0iZENvVnp1dGtJSnllUVd4VXJxQVNOb*************"));便会得到

$O0O000="dCoVzutkIJyeQWxUrqASNlMvwpFPhLRsXTcnbBZaKgHfEODGijYmWHhSVxLTIveKzZCPFpEgQOoUmqunkltfyDNJBjwbXRadAirGscMYnr9mbaEXlehpHsEpIuQLMyv0KgjmBaSJbZ4XIHhXIHhRzajkM2Lkw2PRP21kNJt5HsEpIAjVWZvmMZQFMZWOIujfWZWqBJQGWZ5cWGOUBRhRXs8XHs8pXRhRXsjDBZueWaTRK2k0BZCdWGusBGS9IGw1BYQ0bZ9xIajfWZWqBRhRXRhRXsjPKyjOisERIHERwJSxM3tqB248MJI+HsEpIA5kBZP6IHERIHjhWG1fy3tkMYCOnGvenRhRXsjAMytOisERIHERtYSsIrA3lHEeorEVnGvenRhRXsjzWyvmB3QOisERBZuFwgjkBsjhWG1fIatkMYCOIGweB20RMZ4RMyveMyTRB2MRwGu0MDCsNc4XIHhRPGueMZ1ViRhRXsE8NavOnRhRXsELIGCUB3ERIHERIHERlgjkNJvkKgj0BejfB29mIathNY91w2RXIHhRlgjcB2CVIHERIHERIH0RBJSLMYSeIG9YIGQUBaSLBJofIGQUBZ1kIaQONGueMytOwHjfbyQ0IG9YIGQUBaSLBsjxMZ1ONmhRXsERIHERIHERIHERIHERIHjUNsjkNJvkKgjUwsjcB2C1BZ4RBYuLwyoXIHhRlgjeB3WVIHERIHERIH0RBJSLMYSeIG9YIavUW3oXIHhRlgj0MZvfwS9kWateIH0RWGusBGPRMyt0NYOsWytONmhRXsELIathy2u0WaIRIHERlgj0MZvfwgjhwZuTbZ5JIGu0WavqMJS0wyoRXGueNYu5NejkNYPRM3OcBGSTXzhRXsELIatey2u0WaIRIHERlgj0MZvfwgjeB3NRMyt0NYOsWytONeEhMyveMyOVIGuewgjcKZQfwZzqHsEpIH0RWGtdMyt0NsERIHELIatkMYCOIGQOBGmRMyt0N*******RisEJvVfXdzhXnV4=";eval('?>'.$O00O0O($O0OO00($OO0O00($O0O000,$OO0000*2),$OO0O00($O0O000,$OO0000,$OO0000),$OO0O00($O0O000,0,$OO0000))));

继续将变量替换成  base64_decode(strtr(substr($O0O000,52*2),substr($O0O000,52,52),substr($O0O000,0,52)));便可以得到源码了。

转载于:https://www.cnblogs.com/imustun/p/10158718.html

php简单混淆类加密文件如何解密?相关推荐

  1. qzone.class.php,php简单混淆类加密文件如何解密?

    最近在整理单位购买的源码时,发现源码里好多文件都混淆加密了.虽然不解密也不影响使用,但是心里总觉得有些别扭,便试着将加密的文件解密. 首先,百度了一下,看网上是否有现成的混淆类解密工具,搜到了一个ht ...

  2. PDF加密文件怎么解密,解密的方法有哪些

    很多人在网上下载了PDF文件之后,发现都是加密的,但是又需要用到,该怎么办呢?PDF加密文件怎么解密?今天呢就来给大家说说解密的方法有哪些哦,还在等什么,赶紧来试试吧. 其实解密的方法也比较简单,解除 ...

  3. EPS加密文件与解密

    EPS加密文件与解密 1.新建用户 2.在C盘下创建一个新的文件夹,在文件夹里创建一个空白文本 3.右键新建文件夹,点击高级 4.切换新建的用户,点击新建的文本 发现打不开(说明加密成功) 5.win ...

  4. window环境下AES加密文件无法解密问题记录

    最近在做项目中遇到需要对数据进行AES加密,加密文件用openssl命令行解密. 在linux/unix 环境下测试没有问题,但在windows环境下一直解密失败,由于AES解密数据要求解密数据需16 ...

  5. python AES对称加密文件、解密文件

    咱也不是学计算机的,咱也不是学网络安全的,咱更不是学密码学的,所以东拼西凑一堆代码,能用就行. 该加解密的秘钥是自己输入的密码加电脑固定序列号,包括网卡MAC地址.CPU序列号.硬盘序列号.主板序列号 ...

  6. PDF加密文件的解密和打印

    前言:因为现在网络上下载的PDF文件很多都带有安全性设置,通常的安全设置有:文档打印不允许.更改文档不允许.内容复制或提取不允许等等.在实际运用中,我们通常需要把PDF文件导出,保存为DOC文件(Wo ...

  7. WINDOWS XP SP2 NTFS EFS加密文件的解密案例

       北京一用户,原系统分为3个区,C盘安装WINDOWS XP SP2,D及E盘为用户重要数据区,其中D盘有用户特别重要的几个文件,当初为安全性考虑,设置了NTFS的EFS加密,后系统运行缓慢,重装 ...

  8. WinXP的EFS加密文件如何解密?

    根据网上流传的资料,EFS(Encrypting File System) EFS加密是基于公钥策略的.在使用EFS加密一个文件或文件夹时,系统首先会生成一个由伪随机数组成的FEK(File Encr ...

  9. Python 加密文件与解密文件

    话不多说直接上代码 代码版权归本人所有 转载请注明出处 加密文件 软件下载地址 提取码:97h2 # -*- coding: utf-8 -*- #AES-demo #采用AES对称加密算法 impo ...

  10. 网络安全学习第4篇-使用特征码和MD5对勒索病毒进行专杀,并对加密文件进行解密

    请使用IDA或其它分析工具分析本次的样本文件,写一个简要的行为分析报告,并编写一个针对于这次样本的专杀(恢复)程序. 要求: 1.样本分析只要说明主要行为即可.提示:sub_401320主要用于文件加 ...

最新文章

  1. laravel定时任务
  2. latex二元关系符号
  3. mimemultipart java_最佳实践 – 发送javamail mime multipart电子邮件和gmail
  4. MagicMongoDBTool数据管理工具使用介绍
  5. php批量删除例子,php批量删除数据完整实例代码
  6. 【读书】《当我跑步时,我谈些什么》书评:我跑步时,只是跑着
  7. 处理大数据需要哪些技术
  8. ETL开发工具Kettle下载安装环境搭建及使用教程
  9. mybatis-plus配置(包含分页插件)
  10. 脸部识别是根据什么识别的_我们需要知道面部识别失败的频率
  11. 服务器异常卡顿 无法重装系统,电脑重装系统经常卡死怎么解决
  12. php招生广告语,学校招生广告语大全
  13. Qt 在Excel文件中Chart绘图
  14. 麻城一中2021高考成绩查询,麻城一中隆重举行2021届高考百日誓师大会
  15. 双IRS辅助毫米波MIMO通信信道估计
  16. 支付宝支付成功后要重新登录问题解决小记
  17. 平安科技java_平安科技面试整个过程!
  18. str绑定值的结尾null字符缺失_关于null == 0该如何运用?
  19. Mac快捷键大全(转)
  20. pandas中的get_dummies方法

热门文章

  1. 7z001怎么解压在安卓手机上面_安卓手机怎么设置网易企业邮箱
  2. 汇编学习--7.10--程序编写
  3. rk3288 lvds屏参资料_RK3288四核高性能主板,微型工业主机
  4. mysql集群 hbase_hbase完整分布式集群搭建
  5. clickhouse分布式查询
  6. 你已经是一个成熟的码农了,这些思维习惯你要有!
  7. [Serializable]C#中的对象序列化
  8. 在PS中读取敏感数据
  9. 关于codesmith及其相关资源--破解的
  10. 软件测试——检查代码