首頁 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');
登入後複製

该工具的核心代码: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);
}
登入後複製

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

揭秘HTTP狀態碼460的出現原因 揭秘HTTP狀態碼460的出現原因 Feb 19, 2024 pm 08:30 PM

解密HTTP狀態碼460:為什麼會出現這個錯誤?引言:在日常的網路使用中,常常會遇到各種各樣的錯誤提示,其中包括HTTP狀態碼。這些狀態碼是HTTP協定定義的一種機制,用來指示請求的處理。在這些狀態碼中,有一種比較罕見的錯誤碼,即460。本文將深入探討這個錯誤碼,並解釋為什麼會出現這個錯誤。 HTTP狀態碼460的定義:首先,我們要先了解HTTP狀態碼的基

word解密怎麼設定 word解密怎麼設定 Mar 20, 2024 pm 04:36 PM

現今的工作環境中,大家的保密意識越來越強了,在使用軟體的時候也常常進行加密操作,對文件進行保護。尤其是重點的文件,保密意識更要增加,時時刻刻將文件的安全性放在首要位置。那麼關於word解密不知道大家理解得怎麼樣,具體該如何操作?今天我們就透過下文的講解為大家實際展示一下關於word解密的過程,需要學習word解密知識的小夥伴不要錯過今天的課程。首先需要進行解密操作來保護文件,這意味著對文件進行了保護文檔處理。在對文件進行此處理後,再次開啟文件會彈出提示。解密檔案的方法是輸入密碼,這樣就可以直接

ThinkPHP6資料加密與解密:保護敏感資料安全 ThinkPHP6資料加密與解密:保護敏感資料安全 Aug 25, 2023 pm 10:52 PM

ThinkPHP6資料加密與解密:保護敏感資料安全概述:隨著網路的快速發展,資料安全問題變得越來越重要。特別是在網路應用開發中,對於一些敏感資料的保護至關重要。 ThinkPHP6框架提供了一套強大的資料加密與解密機制,透過對敏感資料進行加密處理,可以有效提升資料的安全性。使用ThinkPHP6的加密函數ThinkPHP6框架內建了多種加密函數,可依需

Java開發技巧揭秘:實現資料加密與解密功能 Java開發技巧揭秘:實現資料加密與解密功能 Nov 20, 2023 pm 05:00 PM

Java開發技巧揭秘:實現資料加密與解密功能在當前資訊化時代,資料安全成為一個非常重要的議題。為了保護敏感資料的安全性,許多應用程式都會使用加密演算法來加密資料。而Java作為一種非常流行的程式語言,也提供了豐富的加密技術和工具庫。本文將揭秘一些Java開發中實作資料加密和解密功能的技巧,幫助開發者更好地保護資料安全。一、資料加密演算法的選擇Java支援多

PHP加密與解密函數大全:md5、sha1、base64_encode等函數的安全應用方法 PHP加密與解密函數大全:md5、sha1、base64_encode等函數的安全應用方法 Nov 18, 2023 pm 04:18 PM

PHP加密和解密函數大全:md5、sha1、base64_encode等函數的安全應用方法,需要具體程式碼範例在網路應用的開發中,資料的加密和解密是非常重要的。 PHP作為一種流行的伺服器端腳本語言,提供了多種加密和解密函數,本文將介紹常用的函數及其安全應用方法,並提供特定的程式碼範例。 md5函數md5函數是最常見的一種加密函數,可以將任意長度的字串轉換為32位

CentOS中詳細介紹Vim文字的加密與解密方法 CentOS中詳細介紹Vim文字的加密與解密方法 Dec 31, 2023 pm 02:49 PM

CentOS用vim/vi給文件加密和解密一、利用vim/vi加密:優點:加密後,如果不知道密碼,就看不到明文,包括root用戶也看不了;缺點:很明顯讓別人知道加密了,容易讓別人把加密的檔案破壞掉,包括內容破壞和刪除;vi編輯器相信大家都很熟悉了吧,vi裡有一個命令是給文件加密的,舉個例子吧:1)首先在root主目錄/root/下建立一個實驗檔案text.txt:[root@www~]#vim/vitext.txt2)轉到編輯模式,輸入內容後按ESC,然後輸入:X(注意是大寫的X),回車;3)

PHP與XML:如何實現資料的加密與解密 PHP與XML:如何實現資料的加密與解密 Aug 07, 2023 am 09:46 AM

PHP與XML:如何實現資料的加密和解密引言:在現代的網路時代,資料的安全性越來越受到重視。其中,對於敏感資料的加密和解密成為了保護資料安全的重要手段之一。本文將透過使用PHP和XML來實現資料的加密和解密,並提供相關的程式碼範例。加密資料的實作使用PHP的加密函數,可以輕鬆實現對資料的加密。以下是一個使用AES加密演算法對資料進行加密的範例程式碼://待加密

如何透過PHP ZipArchive實現壓縮包的加密和解密操作? 如何透過PHP ZipArchive實現壓縮包的加密和解密操作? Jul 22, 2023 pm 04:36 PM

如何透過PHPZipArchive實現壓縮包的加密和解密操作?概述:PHPZipArchive是一種用於建立、開啟和操作ZIP壓縮檔案的功能強大的類別。儘管ZipArchive類別本身並不會直接提供加密和解密ZIP壓縮檔案的功能,但我們可以利用一些PHP擴充來實現壓縮包的加密和解密操作,例如openssl擴充。在本文中,我們將介紹如何使用PHPZipArc

See all articles