Python の例の共有: ウイルスに感染したファイルを素早く見つける
想い
感染していないソース コードと感染している可能性のあるソース コードを準備し、次のスクリプトを実行してどのファイルが感染しているかを調べる必要があります。
その中で、主に 2 つのファイルの md5 値を比較して、感染している可能性のあるファイル (正確には、変更されたファイルである必要があります) をフィルタリングすることに基づいています
Python スクリプト
__author__ = 'Flying'
#coding:utf-8
# Date:2014.6.5
#変更されたファイルの検出
import os,sys,hashlib,datetime
global_DirOld = ""
global_DirNew = ""
global_FilesList = []
# 比較するファイルパスを入力してください
def InputDirPath():
global global_DirOld,global_DirNew
global_DirOld = unicode(raw_input("バックアップ ファイルがあるディレクトリを入力してください: "),"utf- 8")
while not os.path.exists(global_DirOld):
print u"指定されたパスが存在しません。再入力してください"
global_DirOld = unicode(raw_input("次のディレクトリを入力してくださいバックアップ ファイルの場所:"),"utf -8")
global_DirNew = unicode(raw_input("検出するファイルのディレクトリを入力してください: "),"utf-8")
os.path.exists(global_DirNew):
print u "指定されたパスが存在しません。再入力してください。"
global_DirNew = unicode(raw_input("検出するファイルのディレクトリを入力してください:") ,"utf-8")
#データをファイルに保存します
def SaveToFile(filePath,content):
try:
f = open(filePath,"a+")
f.write(content.encode( " utf-8") + "n")
f.close()
Exception,ex:
を除く print "Error:" + str(ex)
#ファイルの MD5 値を計算します
def CalcMD5(filepath):
try:
#open(filepath,'rb') as f: で開きます> md5obj = hashlib.md5()
print "エラー: " + str(ex)
return None
#ディレクトリ内のすべてのファイルを走査します
def GetAllSubFiles():
os.walk(global_DirNew) の dir の global global_FilesList
: dir[2] のファイルの
global_FilesList.append(filePath[len(global_DirNew)+1:])
#新しいファイルと変更されたファイルをリストする
def ListChangedFiles():
global global_DirOld,global_DirNew,global_FilesList
print u"変更されたファイルまたは新しいファイル:"
Global_fileslist のファイル:
Filepathnew = Global_diRNew + OS.SEP + File
OS.Path.exists (FilePat HOLD) または Calcmd5 (FilePathold) = Calcmd5 (Filepathnew) でない場合
SaveToFile("ChangedFiles.txt",content)
if __name__=="__main__":
InputDirPath()
GetAllSubFiles()
ListChangedFiles()

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

Pythonパラメーター注釈の代替使用Pythonプログラミングでは、パラメーターアノテーションは、開発者が機能をよりよく理解して使用するのに役立つ非常に便利な機能です...

Pythonスクリプトは、特定の場所のカーソル位置への出力をどのようにクリアしますか? Pythonスクリプトを書くときは、以前の出力をカーソル位置にクリアするのが一般的です...

なぜ私のコードはAPIによってデータを返しているのですか?プログラミングでは、APIが呼び出すときにヌル値を返すという問題に遭遇することがよくあります。

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

GoまたはRustを使用してPythonスクリプトを呼び出して、真の並列実行を実現する方法は?最近、私はPythonを使用しています...

Pythonバイナリライブラリ(.whl)のダウンロードメソッドは、Windowsシステムに特定のライブラリをインストールする際に多くのPython開発者が遭遇する困難を調査します。一般的な解決策...
