Esaitong暗号化ファイルの復号化方法

Esaitong暗号化ファイルの復号化方法

多くの小さなパートナーは、Esaitong Encryption System 5.0を見ると、頭痛の種になるはずです。Excel、Word、PPTファイルはすべて暗号化され、赤いロックがかけられます。今日は、Esaitong暗号化システムファイルを復号化する方法を共有します。ローカルコンピュータ!このメソッドで使用されるツールはPython言語であり、使用される3番目のパッケージはDjangoです。

ここに画像の説明を挿入
ここに画像の説明を挿入

必要なツール

1. Python
2. Python的第三方包 Django

復号化プロセス

ここでDjangoを使用する目的は、URLモデルをすばやく構築することです。この部分の構築プロセスについては、ここでは詳しく説明しません。

1つは、Djangoモジュールをインストールする

外部ネットワークがある場合は、cmd環境で直接次のコードを実行します。外部ネットワークがない場合は、www.pypi.orgからローカルにDjangoモジュールをダウンロードし、外部ネットワークのないコンピューターに転送して、cmdの下でDjangoモジュールディレクトリにcdします。whlパッケージの場合は、pip install "request packagename"を使用します。タグパッケージ、解凍後、python setup.py installコマンドを使用してインストールします(イントラネットのインストールでは、最初にDjango依存関係パッケージをインストールする必要があります。依存関係パッケージはpytz、sqlparse、asgirefです)

pip install Django

2つ目は、views.pyモジュール作成関数です。

次の関数は2つの部分に分かれており、getリクエストがブラウザで送信された場合、decrypt.htmlページに戻ります(このページは後で作成されます)。それ以外の場合、postリクエストはファイルをアップロードして使用します。 browser.documentを受け取るためのpic変数。「E:/ UnusualWork / DecryptedFiles」フォルダーに渡されたものと同じ名前でsave_path変数で表される空のファイルを作成します。次に、With openメソッドを使用して、作成したばかりの空のファイルを開き、ファイルのchunks()メソッドを使用して、開いたファイルに周期的に書き込みます。最後に、ファイルをアップロードするための新しいページに戻ります。

def decrypt(request):
"""解密文件"""
    if request.method == "GET":
        return render(request, "kpi/decrypt.html")
    else:
        # 获取文件
        pic = request.FILES["pic"]
        # 创建一个文件
        # save_path = "%s/booktest/%s" % (settings.MEDIA_ROOT, pic.name)
        save_path = "E:/不常用工作/已解密文件/%s" % pic.name
        with open(save_path, "wb") as f:
            # 获取上传文件的内容并写入打开的文件
            for content in pic.chunks():
                f.write(content)
        # 返回
        return redirect("/decrypt")

3、decrypt.htmlページの作成

このページはとてもシンプルです。これがファイルをアップロードするためのフォームです

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件系统</title>
</head>
<body>
<h4>文件上传</h4>
<form action="/decrypt" enctype="multipart/form-data" method="post">
   {% csrf_token %}
    上传文件:<br>
    <input type="file" name="pic"> <br>
    <input type="submit" value="上传并解密">
</form>
</body>

レンダリングは次のとおりです。
ここに画像の説明を挿入

4、urls.pyモジュールコードの記述

urls.pyを2つに分割しました。各プロジェクトのURLについて、コードは次のように入力します。つまり、すべてのURLアドレスを照合するために、kpiフォルダーの下のurls.pyファイルを入力して照合します。

from django.contrib import admin
from django.urls import path, include, re_path

urlpatterns = [
path('admin/', admin.site.urls),
re_path(r'^', include('kpi.urls')),
]

kpiファイルの下のurls.py

from django.urls import path, include, re_path
from kpi import views
urlpatterns = [
re_path(r'^decrypt$', views.decrypt),
]

全体的なロジックの概要

PythonおよびDjangoパッケージをインストールし、関連する設定を構成してDjangoを実行した後

1.ブラウザにip + port + / decodeを入力すると、バックグラウンドurls.pyがリクエストを受信し、入力したURLと一致し、kpiでurl.pyを入力して再度一致させます。
2。views.pyの復号化関数がurl.pyに表示され
ます。3。decrpyt関数のロジックを使用してリクエストが処理されます。POSTリクエストの場合、アップロードされたファイルが復号化されます。復号化後、ファイルは「E:/異常に使用された作業/復号化されたファイル/」フォルダに保存され、次の図に示すように、ファイルアイコンのロックが解除されます。

ここに画像の説明を挿入
このプロジェクトはgithubで公開されています。Githubプロジェクトのアドレスは
https://github.com/liliwen365/Pythonです。
パブリックアカウント「PythonSharpSword」をフォローして、復号化の原則を取得してください。
WeChatに私を追加してください:liliwen601029225、一緒にコミュニケーションを取り、「comma next stop bigfamily」とコメントしてください!
公式QRコード

おすすめ

転載: blog.csdn.net/qq_17771109/article/details/111652857