如何破解这段PHP代码!<?php //
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何破解这段PHP代码!<?php //相关的知识,希望对你有一定的参考价值。
<?php //
eval(base64_decode('JElJSUlJSUkxMUkxbD0naXNfZmlsZSc7JElJSUlJSUkxbDFsMT0naW50dmFsJzskSUlJSUlJSUlsSTFJPSdwcmVnX21hdGNoX2FsbCc7JElJSUlJSUlJMUkxbD0nYmFzZW5hbWUnOyRJSUlJSUlJSWxJSTE9J3N0cnN0cic7JElJSUlJSUkxbGxsMT0nZXJlZ2knOyRJSUlJSUlJMWxJMWw9J2NlaWwnOyRJSUlJSUlJMWxJSWw9J2lzX3dyaXRhYmxlJzskSUlJSUlJSTFsSUlJPSdjaG1vZCc7JElJSUlJSUkxSTExMT0nZnRydW5jYXRlJzskSUlJSUlJSTFJMTFsPSdmcHV0cyc7JElJSUlJSUkxSTExST0ndG91Y2gnOyRJSUlJSUlJMUkxSTE9J2ZpbGVzaXplJzskSUlJSUlJSTFJMUlsPSdmcmVhZCc7JElJSUlJSUkxSWwxMT0nZmxvY2snOyRJSUlJSUlJMUlsMWw9J2ZvcGVuJzskSUlJSUlJSTFJbElJPSdmY2xvc2UnOyRJSUlJSUlJMUlJMTE9J2ZnZXRzJzskSUlJSUlJSTFJSTFJPSdmZW9mJzskSUlJSUlJSTFJSWwxPSdmd3JpdGUnOyRJSUlJSUlJMUlJSUk9J2Zzb2Nrb3Blbic7JElJSUlJSUlsMTFsbD0ncGFyc2VfdXJsJzskSUlJSUlJSUlsSTExPSdlcmVnJzskSUlJSUlJSWwxMWxJPSdzdHJ0b3VwcGVyJzskSUlJSUlJSUlsMWwxPSd0cmltJzskSUlJSUlJSWwxbDFJPSdwcmVnX21hdGNoJzskSUlJSUlJSWxJMWxsPSdjb3B5JzskSUlJSUlJSUlJbDExPSdpbXBsb2RlJzskSUlJSUlJSWwxbGxsPSdmaWxlJzskSUlJSUlJSUkxSUkxPSdzdWJzdHInOyRJSUlJSUlJbDFsSTE9J3N0cnBvcyc7JElJSUlJSUlJbDExbD0ncHJlZ19yZXBsYWNlJzskSUlJSUlJSUlJbGxsPSdleHBsb2RlJzskSUlJSUlJSWwxSWwxPSdyYW5kJzskSUlJSUlJSWwxSUkxPSdhcnJheV9yYW5kJzs='));
$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=14932;$OOO0000O0=$OOO0000004.$OOO0000009.$OOO0000003.$OOO0000005;$OOO0000O0.=$OOO0000002.$OOO00000010.$OOO00000013.$OOO00000016;$OOO0000O0.=$OOO0000O03.$OOO00000011.$OOO00000012.$OOO0000O07.$OOO0000005;$O0O0000O0='OOO0000O0';
eval(($$O0O0000O0('JE9PME9PMDAwMD0kT09PMDAwMDAwezE3fS4kT09PMDAwMDAwezEyfS4kT09PMDAwMDAwezE4fS4kT09PMDAwMDAwezV9LiRPT08wMDAwMDB7MTl9O2lmKCEwKSRPMDAwTzBPMDA9JE9PME9PMDAwMCgkT09PME8wTzAwLCdyYicpOyRPTzBPTzAwME89JE9PTzAwMDAwMHsxN30uJE9PTzAwMDAwMHsyMH0uJE9PTzAwMDAwMHs1fS4kT09PMDAwMDAwezl9LiRPT08wMDAwMDB7MTZ9OyRPTzBPTzAwTzA9JE9PTzAwMDAwMHsxNH0uJE9PTzAwMDAwMHswfS4kT09PMDAwMDAwezIwfS4kT09PMDAwMDAwezB9LiRPT08wMDAwMDB7MjB9OyRPTzBPTzAwME8oJE8wMDBPME8wMCwyMzY2KTskT08wME8wME8wPSgkT09PMDAwME8wKCRPTzBPTzAwTzAoJE9PME9PMDAwTygkTzAwME8wTzAwLDM4MCksJ3YxRzBucElraTg2QjdBT0N5VVFqTWN0TndyZmREUy9MZTVxWFRaNEVsekhLYjkyYW91eFdnM0ZScytQbUpoWVY9JywnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycpKSk7ZXZhbCgkT08wME8wME8wKTs=')));
return;?>
$IIIIIII11I1l=\'is_file\';$IIIIIII1l1l1=\'intval\';$IIIIIIIIlI1I=\'preg_match_all\';$IIIIIIII1I1l=\'basename\';$IIIIIIIIlII1=\'strstr\';$IIIIIII1lll1=\'eregi\';$IIIIIII1lI1l=\'ceil\';$IIIIIII1lIIl=\'is_writable\';$IIIIIII1lIII=\'chmod\';$IIIIIII1I111=\'ftruncate\';$IIIIIII1I11l=\'fputs\';$IIIIIII1I11I=\'touch\';$IIIIIII1I1I1=\'filesize\';$IIIIIII1I1Il=\'fread\';$IIIIIII1Il11=\'flock\';$IIIIIII1Il1l=\'fopen\';$IIIIIII1IlII=\'fclose\';$IIIIIII1II11=\'fgets\';$IIIIIII1II1I=\'feof\';$IIIIIII1IIl1=\'fwrite\';$IIIIIII1IIII=\'fsockopen\';$IIIIIIIl11ll=\'parse_url\';$IIIIIIIIlI11=\'ereg\';$IIIIIIIl11lI=\'strtoupper\';$IIIIIIIIl1l1=\'trim\';$IIIIIIIl1l1I=\'preg_match\';$IIIIIIIlI1ll=\'copy\';$IIIIIIIIIl11=\'implode\';$IIIIIIIl1lll=\'file\';$IIIIIIII1II1=\'substr\';$IIIIIIIl1lI1=\'strpos\';$IIIIIIIIl11l=\'preg_replace\';$IIIIIIIIIlll=\'explode\';$IIIIIIIl1Il1=\'rand\';$IIIIIIIl1II1=\'array_rand\';
用上面的内容替换第一个eval语句,把第二个eval替换为exit,运行后显示出的等效代码如下:
$OO0OO0000=$OOO00000017.$OOO00000012.$OOO00000018.$OOO0000005.$OOO00000019;if(!0)$O000O0O00=$OO0OO0000($OOO0O0O00,\'rb\');$OO0OO000O=$OOO00000017.$OOO00000020.$OOO0000005.$OOO0000009.$OOO00000016;$OO0OO00O0=$OOO00000014.$OOO0000000.$OOO00000020.$OOO0000000.$OOO00000020;$OO0OO000O($O000O0O00,2366);$OO00O00O0=($OOO0000O0($OO0OO00O0($OO0OO000O($O000O0O00,380),\'v1G0npIki86B7AOCyUQjMctNwrfdDS/Le5qXTZ4ElzHKb92aouxWg3FRs+PmJhYV=\',\'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\')));eval($OO00O00O0);
现在,大部分已经“解密”了,接下来可能有一点难度的是剩下的这两句:
$OO00O00O0=($OOO0000O0($OO0OO00O0($OO0OO000O($O000O0O00,380),\'v1G0npIki86B7AOCyUQjMctNwrfdDS/Le5qXTZ4ElzHKb92aouxWg3FRs+PmJhYV=\',\'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\')));
eval($OO00O00O0);
要明白最后一个eval的内容,不能直接简单的exit,需要输出$OOO0000O0等变量的值,一下就明白是fgets从本文件里面读取,现在内容修改了,会失败的,处理方法:先把原始PHP文件复制一份,比如名字叫做xxx.php,那么下面一行要修改:
$OOO0O0O00=__FILE__;
改为:
$OOO0O0O00=\'xxx.php\';
现在就可以再次替换最后的eval为exit显示原始代码了(你没有粘贴文件的最后一部分,我无法代劳,你就当课堂练习吧)。追问
能否帮忙帮我破解两个文件
追答你按照上面的做了吗?你做遇到什么问题了?
参考技术A 其实这个有专门的破解软件如何将 html 风格化表与 php 和 sql 连接起来
【中文标题】如何将 html 风格化表与 php 和 sql 连接起来【英文标题】:How to concatenate html stylized table with php and sql 【发布时间】:2019-01-06 23:37:39 【问题描述】:所以,我有这段代码可以返回一个简单的表,其中包含正确的 db 值:
<?php
echo "<table border='1'>
<tr>
<th>Código</th>
<th>Nome</th>
<th>Indicou</th>
</tr>";
while($coluna_bd_tabela = mysqli_fetch_array($sql_indicador_resul))
echo "<tr>";
echo "<td>" . $coluna_bd_tabela['usu_codigo'] . "</td>";
echo "<td>" . $coluna_bd_tabela['usu_nome'] . "</td>";
echo "<td>" . $coluna_bd_tabela['usu_indicador_codigo'] . "</td>";
echo "</tr>";
echo "</table>";
?>
这是一个程式化的表格,没有查询工作:
<table class="table table-striped projects">
<thead>
<tr>
<th style="width: 1%">#</th>
<th style="width: 20%">Nome</th>
<th>Membros Recentes</th>
<th>Project Progress</th>
<th>Status</th>
<th style="width: 20%">#Edit</th>
</tr>
</thead>
<tbody>
<tr>
<td>echo $coluna_bd_tabela['usu_codigo']</td>
<td>
<a> echo $coluna_bd_tabela['usu_nome']</a>
<br />
<small>echo $coluna_bd_tabela['usu_indicou']</small>
</td>
<td>
<ul class="list-inline">
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
</ul>
</td>
<td class="project_progress">
<div class="progress progress_sm">
<div class="progress-bar bg-green" role="progressbar" data-transitiongoal="57"></div>
</div>
<small>57% Complete</small>
</td>
<td>
<button type="button" class="btn btn-success btn-xs">Success</button>
</td>
<td>
<a href="#" class="btn btn-primary btn-xs"><i class="fa fa-folder"></i> View </a>
<a href="#" class="btn btn-info btn-xs"><i class="fa fa-pencil"></i> Edit </a>
<a href="#" class="btn btn-danger btn-xs"><i class="fa fa-trash-o"></i> Delete </a>
</td>
</tr>
</tbody>
我想显示带有查询值的程式化表格,但这正在摧毁我。数据库连接很好,这些是包含连接上的查询,它们也可以正常工作,如简单表所示:
$sql_indicador = "SELECT * FROM esc_usuarios WHERE usu_indicador_codigo = '" . $_SESSION['codigo'] . "'";
$sql_indicador_resul = mysqli_query($conexao, $sql_indicador);
【问题讨论】:
^ 那也是。我实际上很困惑您所说的实际上是按您的喜好工作,而哪个不起作用。您可能只需要那些打开/关闭 php 标记...然后用while
包裹在您的 tbody
中。
如果我错了,请忽略我,但不能使用某些浏览器插件更改 $_SESSION 变量吗?在这种情况下,我建议您转义您在 MySQL 查询中使用的会话变量。
是的,我知道,但它只会显示许多用户中的一个,我想生成数据库中存在的尽可能多的用户
【参考方案1】:
提供完整的解决方案:
<table class="table table-striped projects">
<thead>
<tr>
<th style="width: 1%">#</th>
<th style="width: 20%">Nome</th>
<th>Membros Recentes</th>
<th>Project Progress</th>
<th>Status</th>
<th style="width: 20%">#Edit</th>
</tr>
</thead>
<?php while($coluna_bd_tabela = mysqli_fetch_array($sql_indicador_resul)) ?>
<tbody>
<tr>
<td><?php echo $coluna_bd_tabela['usu_codigo']; ?></td>
<td>
<a><?php echo $coluna_bd_tabela['usu_nome']; ?></a>
<br />
<small><?php echo $coluna_bd_tabela['usu_indicou']; ?></small>
</td>
<td>
<ul class="list-inline">
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
<li>
<img src="images/user.png" class="avatar" >
</li>
</ul>
</td>
<td class="project_progress">
<div class="progress progress_sm">
<div class="progress-bar bg-green" role="progressbar" data-transitiongoal="57"></div>
</div>
<small>57% Complete</small>
</td>
<td>
<button type="button" class="btn btn-success btn-xs">Success</button>
</td>
<td>
<a href="#" class="btn btn-primary btn-xs"><i class="fa fa-folder"></i> View </a>
<a href="#" class="btn btn-info btn-xs"><i class="fa fa-pencil"></i> Edit </a>
<a href="#" class="btn btn-danger btn-xs"><i class="fa fa-trash-o"></i> Delete </a>
</td>
</tr>
</tbody>
<?php ?>
</table>
您忘记在 echo 语句周围使用 <?php
和 ?>
开始和结束标记。此外,您错过了每个语句末尾的;
。我还将表格的开头和结尾从 PHP 的 echo
中移出,因为我相信这样看起来更清晰。
【讨论】:
已进行编辑。就个人而言,我建议也将<tbody>
移出它。如果它始终只是数据库中的一行,我建议完全摆脱 whileloop 并简单地使用$coluna_bd_tabela = mysqli_fetch_array($sql_indicador_result);
。
您可能会争辩说<tbody>
应该在while 之外......但在html 规范中,在单个<table>
中包含多个<tbody>
是完全可以的。所以不管怎样都行。甚至可以添加一个独特的 id="block_x"
到那些更容易 javascript 操作。
感谢您的建议,我删除了
@confetti 完成了这项工作,我做了一些更改,并且效果很好,太棒了!
以上是关于如何破解这段PHP代码!<?php //的主要内容,如果未能解决你的问题,请参考以下文章