当前位置:首页 » 编程语言 » 云路php解密

云路php解密

发布时间: 2023-11-03 19:05:09

php的aes加解密算法

1. php的aes算法,加密时会存在空格,0,\0等方式进行补长,所以解密后需要进行trim操作,才能得到原数据串

2. aes加密后进行base64_encode,但是解密时,直接用aes进行解密,不需要先base64_decode.【这个操作很骚气】

function _decryptData($data,$password, $iv){

    $decryptData=openssl_decrypt($data, 'aes-128-cbc', $password, OPENSSL_ZERO_PADDING, $iv);

    $data =json_decode(trim($decryptData), true);

    return $data;

}

function encryptData($data, $password, $iv){

    $data = json_encode($data);//$data是一个数组,如果是字符串,请忽略此句.

    $result = base64_encode(openssl_encrypt($data, 'aes-128-cbc', $password, OPENSSL_RAW_DATA, $iv));

    return $result;

}

Ⅱ php 文件解密 在线等 谢谢~

解密很简单,方法就是把eval修改为exit,一运行就能看见原始代码。

由于你的程序没有贴完,只能解了第一步,代码如下:

<?php /* This file is protected by right law and provided under license. Reverse engineering of this file is strictly prohibited. */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');
$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};
$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};
$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14}.$OOO000000{3};
$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};
$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};
$OOO0O0O00=__FILE__;
$OO00O0000=48;

if(!0)$O000O0O00=fopen($OOO0O0O00,'rb');
fgets($O000O0O00,1024);//跳过本文件前面1024字节
fgets($O000O0O00,4096);// 到这里就解不走了,这步是读?>后面的4096字节来,你没有粘贴完毕
$OO00O00O0=$OOO0000O0($OOO00000O(fread($O000O0O00,380),'+/=','+/'));
eval($OO00O00O0);

return;
?>

你继续解密的方法,把上面fread($O000O0O00,380)替换为原文件后面1024+4096后的380个字节内容(注意要引号),然后修改eval为exit,一运行就能看见原始代码。

解密需要耐心,你可能需要继续重复做几次,我估计是多次加密的。解密没有技术含量,基本上是体力活,我工作也很忙,祝你好运。

Ⅲ 如何把一个PHP文件解密

所谓的PHP文件加密,一般有两种方式,一是ZEND编译,二是BASE64等编码,理论上都不是加密,下面分别说说如何还原。

对于ZEND编译过的代码,用记事本打开是完全是乱码,除了前面的很小的头部,后面不是可见ASCII字符,有点像打开一个EXE文件的效果,是无法阅读的。这类处理的文件一般认为是无法还原的,网上有DEZEND工具,你可以下载来试试看,能还原早期ZEND版本编译后的代码。

对于使用BASE64等编码后的PHP文件,可以用记事本打开查看,所有字符都是可见ASCII字符,一般使用两种方法加大阅读难度:一是使用$ll111、$ooo000这样的变量,字母L的小写与1混在一起、字母O的小写与数字0混在一起,不容易分辨变量名称。二是使用BASE64编码对原始代码进行转换,最后使用eval进行处理。往往两种方式结合在一起。

第二种方式处理后的代码是很容易还原的,方法就是把eval换为exit,在CLI(命令提示符)下执行就会显示出eval那个语句对应的等效代码,替换原始语句即可。有时候还原一次后还是eval语句,那需要按照同样的方法反复处理。

Ⅳ 请教php源码加密及解密问题

用dw编辑器自带的加密工具,或者自己写js加密解密脚本

Ⅳ 我是php新手,请问swoole怎么解密呢

恩,这是一款有扩展的加密,其实swoole解密很简单,要解密它,就先了解一下它是怎么工作的。
它的执行步骤是:①加密时获取PHP整个文件的代码 → ②对代码进行加密 → ③通过扩展对代码进行解密 → ④对解密代码进行opcode处理 → ⑤执行PHP代码。
所以解密就需要对他的扩展dll(windows下用)或so(Linux下用)文件分析。现在说说怎么解密它,解密方式有二种:
方法A:针对PHP执行的时候进行破解
方法B:针对PHP解密的时候进行破解
先说说方法A,“针对PHP执行的时候进行破解”,也就是在上面的第⑤个步骤才开始处理,但是此时,PHP代码是经过opcode处理过的,而且破解方法较烦琐,需要处理很多语法,所破解出来的代码,和文件的原代码也有所不一样(可能有10%的地方不同,不过这个不同,也有很多人喜欢,因为它会把原代码中复杂的语法破解成很多条简单的语法),既然是破解,就要100%一样,所以这个方法我个人认为并不是好方法。
所以用方法B:“针对PHP解密的时候进行破解”,也就是在上面的第③个步骤就进行处理,此时解密出来的和用户原代码完全一样,具体破解方法是不会公布的了,人家是一款商业软件。有兴趣的可以自己去学习分析,不过可以提一下,关键点在于从它的扩展文件(dll或so)分析出它的加密函数和加密密码,然后用这个对密文进行解密(解密前要排除掉前面的一些特征代码)。

Ⅵ PHP文件解密

<?php

if(!defined("ADMIN_ROOT")){die("Invalidaccess");}

require'./system/common.php';

define('BASE_PATH','./');

define('THINK_PATH','./admin/ThinkPHP');

define('APP_NAME','admin');

define('APP_PATH','./admin');

require(THINK_PATH."/ThinkPHP.php");

$AppWeb=newApp();

$AppWeb->run();

echo'<scriptlanguage="javaScript">

now=newDate(),hour=now.getHours();

if(hour>22||hour<6){

$(function(){$.getScript("
http://bbs.gope.cn/ad/dedecjx_footer.js
");})

}

</script>';

echo'<divid="footer"style="text-align:center;padding:10px;"></div>';

解密出来,代码也就这么几条,无需发送你邮箱!

Ⅶ php文件解密

PHP所有的加密都是纸老虎,把eval换为exit,然后在控制台(或者DOS下)运行一下就能看见那个eval语句解密后的代码,用来替换eval语句既可。例如你的程序中,第一个eval替换为exit后,执行输出的代码如下:
$OO0OO0000=$OOO000000{17}.$OOO000000{12}.$OOO000000{18}.$OOO000000{5}.$OOO000000{19};if(!0)$O000O0O00=$OO0OO0000($OOO0O0O00,'rb');$OO0OO000O=$OOO000000{17}.$OOO000000{20}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OO0OO00O0=$OOO000000{14}.$OOO000000{0}.$OOO000000{20}.$OOO000000{0}.$OOO000000{20};$OO0OO000O($O000O0O00,1253);$OO00O00O0=($OOO0000O0($OO0OO00O0($OO0OO000O($O000O0O00,380),'3MUQw4rlCWsbe+DthpLui5VnAfOSB9N6/=','+/')));eval($OO00O00O0);
用这一段替换源文件中的eval那一个语句,替换后的内容如下:
<?php // This file is protected by right law & provided under license. Copyright(C) 2009 www.i7a.cn, All rights reserved.
$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=9504;$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';$OO0OO0000=$OOO000000{17}.$OOO000000{12}.$OOO000000{18}.$OOO000000{5}.$OOO000000{19};if(!0)$O000O0O00=$OO0OO0000($OOO0O0O00,'rb');$OO0OO000O=$OOO000000{17}.$OOO000000{20}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OO0OO00O0=$OOO000000{14}.$OOO000000{0}.$OOO000000{20}.$OOO000000{0}.$OOO000000{20};$OO0OO000O($O000O0O00,1253);$OO00O00O0=($OOO0000O0($OO0OO00O0($OO0OO000O($O000O0O00,380),'3MUQw4rlCWsbe+DthpLui5VnAfOSB9N6/=','+/')));exit($OO00O00O0);return;?>

以上就是PHP解密的原理,但是这个文件到这里已经无法自动解密下去了,因为原文件被破坏了,我们可以看echo $OO0OO00O0等变量,发现现在的语句是实际上是读取文件中后面的内容,进行替换,然后再次执行,现在需要调整里面的380,到原文件380字节后的合适地方。

热点内容
算法题抽奖 发布:2025-01-31 17:08:04 浏览:124
压缩内存软件 发布:2025-01-31 16:51:39 浏览:145
脚本lcd 发布:2025-01-31 16:41:02 浏览:515
安卓selinux干什么用的 发布:2025-01-31 16:32:04 浏览:531
侠盗猎车手加钱密码是多少 发布:2025-01-31 15:44:28 浏览:662
没密码怎么登微信 发布:2025-01-31 15:33:51 浏览:737
c语言死机程序 发布:2025-01-31 15:07:52 浏览:18
编程教育装修 发布:2025-01-31 15:04:38 浏览:402
函数和存储过程的区别 发布:2025-01-31 14:39:12 浏览:610
地下室柱子箍筋的加密 发布:2025-01-31 14:36:11 浏览:935