Find

刪除由“愚蠢”Crypt0L0cker 勒索軟體添加的遞歸雙擴展

  • December 14, 2016

我正在嘗試從受“愚蠢”Crypt0L0cker 勒索軟體影響的 Windows 存檔中恢復一些文件。事實上,在快速檢查將文件移動到我自己的系統後,惡意軟體似乎只是在文件中添加了第二個隨機副檔名(是的,我知道“副檔名”並不意味著什麼)。手動重命名文件就可以了。

“2016.doc.irolox 列表”-> 手動重命名 -> “2016.doc 列表”

我想有一些提示來執行這個工作流程:

  • 在給定文件夾的所有子目錄中遞歸循環
  • 文件名稱中包含空格(但它們不包含實名中的點)
  • 一些文件似乎沒有受到影響。規則:如果它們只有一個“副檔名”,則不要考慮它們(因此,如果檢測到 2 個點 -> 文件受到影響)
  • 重命名文件刪除最後一個“副檔名”。

有什麼技巧可以達到這個結果嗎?

首先轉到文件夾存檔,然後執行:

find | awk -F'.' '{if ($3 != "" && $4 != "" ){system("mv "$0" ./"$2"."$3)}}'

這將查找文件夾和子文件夾中的每個文件,如果發現文件具有兩個副檔名,它將僅使用第一個副檔名重命名

例如命令之前的文件夾:

.
./lolo.doc
./soso
./soso/jojo.doc.koko.momo
./kokooiko.doc.soso
./jojo.doc.koko

命令後的文件夾:

.
./lolo.doc
./kokooiko.doc
./jojo.doc
./soso
./soso/jojo.doc

您可以使用變數替換,例如:

MYVAR="List for 2016.doc.irolox"
echo ${MYVAR%.*}

以上從變數值的後端刪除了最短匹配.*

這樣,您可以使用以下命令重命名文件:

mv "${MYVAR}" "${MYVAR%.*}"

引用自:https://unix.stackexchange.com/questions/330023