Maison php教程 php手册 教你如何解密 “ PHP 神盾解密工具 ”

教你如何解密 “ PHP 神盾解密工具 ”

Jun 13, 2016 am 09:30 AM
解密

其实对神盾解密并没有那么感兴趣,只是看到了作者把工具又加密了,感觉不爽。研究了一下,其实解密没那么复杂。

利用php_apd扩展很轻松地就这把这搞定了。只有四句代码。

<&#63;php
rename_function('gzuncompress','new_gzuncompress');
override_function('gzuncompress', '$arg', 'print(new_gzuncompress($arg)); return new_gzuncompress($arg);');
 
require_once 'decryption.php';
decryption('decryption.php');
Copier après la connexion

该工具的核心代码:decryption.php

<&#63;php
function decryption($fileName) {
  /**
   * 解码函数
   * @param string $str 待解码字符串
   * @param string $flg 是否解析后解码
   * @return string   已解码字符串
   */
  function decode($str, $flg = '') {
    if($flg === '') {
      $ret = $str;
    } else {
      $ret = '&#1775;'; $i = 0; $l = strlen($str);
      while($i++ < $l) {
        $c = ord($str[$i-1]);
        $ret .= $c<245 &#63; ( $c>136 &#63; chr($c/2) : $str[$i-1] ) : "";
      }
    }
    return base64_decode($ret);
  }
   
  $err = '解码遇到错误,请联系教主处理该文件!';
  $str = file_get_contents($fileName);
  $path = pathinfo($fileName);
  $dirname = $path['dirname']; // 文件所在目录
  $baseName = $path['filename']; // 文件名
   
   
  if (preg_match('|IN_DECODE_(\w{32})|s', $str, $arr)) {
    // 防止解密自己,其实方法都已经告诉你了,自己动手解码才快乐
    $arr[1] === '761b5f52db6dff7ce91344e99dcedab7' && die("err: [-1] - 请勿试图用本工具解密本工具!");
  } else {
    die("err: [-1] - 没有发现神盾特征,你确定这是神盾加密?");
  }
   
  // 匹配代码主题部分
  // '';@\$[\x00-\xff]+\(\\'([\x00-\xff]+&#63;)\\'\.\(
  preg_match('|\'\';@\$[\x00-\xff]+\(\\\\\'([\x00-\xff]+&#63;)\\\\\'\.\(|s', $str, $arr) || die("err: [0] - ".$err);
  $code = $arr[1];
 
  // 匹配中间加密部分
  preg_match('|\(\'([\x00-\xff]+)\',\'|s', $code, $arr) || die("err: [1] - ".$err);
  $key = base64_decode(decode($arr[1], "decode"));
 
  $code = preg_replace('|\'\.[\x00-\xff]+\'\)\)\.\'|s', $key, $code);
 
  // 匹配尾部被加密代码
  preg_match('|=\'(x[\x00-\xff]+)\'\)\);|s', $str, $arr) || die("err: [2] - ".$err);
  $core = $arr[1];
 
  // 匹配验证key
  preg_match('|[\w+/=]{59}=|s', $arr[1], $arr) || die("err: [3] - ".$err);
  $key = $arr[0];
 
  $core = str_replace($key, '', $core); // 去除key
  $suffix = gzuncompress($core); // 得到 base64 的末尾部分
 
  // 解码
  $code = gzuncompress(base64_decode($code . $suffix));
 
  // 匹配干净的代码
  if (preg_match('|<!--<\&#63;php endif;\&#63;>(<\&#63;php[\r\n]{1,2}[\x00-\xff]+\&#63;>)<\&#63;php \$GLOBALS\[|s', $code, $arr)) {
    $code = $arr[1];
  }
 
  // 写到文件
  $source = $dirname . DIRECTORY_SEPARATOR . $baseName . "_source.php";
  file_put_contents($source, $code);
  die("解密成功,已经保存为: " . $source);
}
Copier après la connexion

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Révéler les causes du code d'état HTTP 460 Révéler les causes du code d'état HTTP 460 Feb 19, 2024 pm 08:30 PM

Décryptage du code d'état HTTP 460 : pourquoi cette erreur se produit-elle ? Introduction : Lors de l'utilisation quotidienne du réseau, nous rencontrons souvent diverses invites d'erreur, notamment des codes d'état HTTP. Ces codes d'état sont un mécanisme défini par le protocole HTTP pour indiquer le traitement d'une requête. Parmi ces codes d’état, il existe un code d’erreur relativement rare, à savoir le 460. Cet article examinera ce code d'erreur et expliquera pourquoi cette erreur se produit. Définition du code d'état HTTP 460 : Tout d'abord, nous devons comprendre les bases du code d'état HTTP

Cryptage et déchiffrement des données ThinkPHP6 : protection de la sécurité des données sensibles Cryptage et déchiffrement des données ThinkPHP6 : protection de la sécurité des données sensibles Aug 25, 2023 pm 10:52 PM

Cryptage et décryptage des données ThinkPHP6 : Protection de la sécurité des données sensibles Présentation : Avec le développement rapide d'Internet, les problèmes de sécurité des données deviennent de plus en plus importants. En particulier dans le développement d’applications réseau, la protection de certaines données sensibles est cruciale. Le framework ThinkPHP6 fournit un puissant mécanisme de cryptage et de déchiffrement des données, qui peut améliorer efficacement la sécurité des données en chiffrant les données sensibles. Utilisation des fonctions de chiffrement de ThinkPHP6 Le framework ThinkPHP6 possède une variété de fonctions de chiffrement intégrées, qui peuvent être utilisées selon les besoins.

Compétences en développement Java révélées : mise en œuvre de fonctions de cryptage et de décryptage des données Compétences en développement Java révélées : mise en œuvre de fonctions de cryptage et de décryptage des données Nov 20, 2023 pm 05:00 PM

Compétences en développement Java révélées : mise en œuvre de fonctions de cryptage et de décryptage des données À l'ère actuelle de l'information, la sécurité des données est devenue une question très importante. Afin de protéger la sécurité des données sensibles, de nombreuses applications utilisent des algorithmes de chiffrement pour chiffrer les données. En tant que langage de programmation très populaire, Java fournit également une riche bibliothèque de technologies et d’outils de chiffrement. Cet article révélera quelques techniques d'implémentation des fonctions de cryptage et de déchiffrement des données dans le développement Java afin d'aider les développeurs à mieux protéger la sécurité des données. 1. Sélection de l'algorithme de chiffrement des données Java prend en charge de nombreux

Liste complète des fonctions de cryptage et de décryptage PHP : méthodes d'application sécurisées de md5, sha1, base64_encode et autres fonctions Liste complète des fonctions de cryptage et de décryptage PHP : méthodes d'application sécurisées de md5, sha1, base64_encode et autres fonctions Nov 18, 2023 pm 04:18 PM

Liste complète des fonctions de cryptage et de décryptage PHP : méthodes d'application sécurisées de md5, sha1, base64_encode et d'autres fonctions, nécessitant des exemples de code spécifiques. Dans le développement d'applications réseau, le cryptage et le décryptage des données sont très importants. En tant que langage de script côté serveur populaire, PHP fournit une variété de fonctions de cryptage et de déchiffrement. Cet article présentera les fonctions couramment utilisées et leurs méthodes d'application sécurisées, et fournira des exemples de code spécifiques. Fonction md5 La fonction md5 est la fonction de cryptage la plus courante capable de convertir une chaîne de n'importe quelle longueur en 32 bits.

Comment configurer le décryptage de mots Comment configurer le décryptage de mots Mar 20, 2024 pm 04:36 PM

Dans l'environnement de travail actuel, chacun est de plus en plus conscient de la confidentialité et des opérations de cryptage sont souvent effectuées pour protéger les fichiers lors de l'utilisation de logiciels. En particulier pour les documents clés, il convient de sensibiliser davantage à la confidentialité et de donner à tout moment la priorité absolue à la sécurité des documents. Je ne sais donc pas dans quelle mesure tout le monde comprend le décryptage des mots. Comment le faire fonctionner spécifiquement ? Aujourd'hui, nous allons vous montrer le processus de décryptage de mots à travers l'explication ci-dessous. Les amis qui ont besoin d'acquérir des connaissances en décryptage de mots ne devraient pas manquer le cours d'aujourd'hui. Une opération de décryptage est d'abord nécessaire pour protéger le fichier, ce qui signifie que le fichier est traité comme un document de protection. Après avoir effectué cela sur un fichier, une invite apparaît lorsque vous ouvrez à nouveau le fichier. La façon de décrypter le fichier est de saisir le mot de passe, afin que vous puissiez directement

Décrypter les astuces ajoutées par l'interpréteur PyCharm Décrypter les astuces ajoutées par l'interpréteur PyCharm Feb 21, 2024 pm 03:33 PM

Décrypter les astuces ajoutées par l'interpréteur PyCharm PyCharm est l'environnement de développement intégré (IDE) préféré par de nombreux développeurs Python, et il fournit de nombreuses fonctionnalités puissantes pour améliorer l'efficacité du développement. Parmi eux, le paramétrage de l'interpréteur est une partie importante de PyCharm. Un paramétrage correct de l'interpréteur peut aider les développeurs à exécuter le code en douceur et à déboguer le programme. Cet article présentera quelques techniques pour déchiffrer les ajouts de l'interpréteur PyCharm et les combinera avec des exemples de code spécifiques pour montrer comment configurer correctement l'interpréteur. Ajout et sélection d'interprètes dans Py

Introduction détaillée aux méthodes de cryptage et de déchiffrement du texte Vim dans CentOS Introduction détaillée aux méthodes de cryptage et de déchiffrement du texte Vim dans CentOS Dec 31, 2023 pm 02:49 PM

CentOS utilise vim/vi pour crypter et déchiffrer les fichiers 1. Utilisez vim/vi pour crypter : Avantages : Après le cryptage, si vous ne connaissez pas le mot de passe, vous ne pouvez pas voir le texte brut, y compris les utilisateurs root. Inconvénients : Il est évident que les autres ; Connaissez le cryptage, il est facile pour d'autres de détruire les fichiers cryptés, y compris la destruction et la suppression du contenu ; je pense que tout le monde connaît l'éditeur vi. Il existe une commande dans vi pour crypter les fichiers. root master Créez un fichier expérimental text.txt sous le répertoire /root/ : [root@www~]#vim/vitext.txt2) Entrez dans le mode d'édition, appuyez sur ESC après avoir saisi le contenu, puis saisissez : X (notez la majuscule X), Entrez ; 3)

PHP et XML : comment crypter et décrypter des données PHP et XML : comment crypter et décrypter des données Aug 07, 2023 am 09:46 AM

PHP et XML : Comment crypter et décrypter des données Introduction : À l'ère moderne d'Internet, la sécurité des données fait l'objet de plus en plus d'attention. Parmi eux, le cryptage et le décryptage des données sensibles sont devenus l’un des moyens importants pour protéger la sécurité des données. Cet article mettra en œuvre le cryptage et le déchiffrement des données à l'aide de PHP et XML et fournira des exemples de code pertinents. La mise en œuvre de données cryptées utilise la fonction de cryptage de PHP, qui permet de crypter facilement les données. Voici un exemple de code qui utilise l'algorithme de chiffrement AES pour chiffrer les données : //À chiffrer

See all articles