SYMBOLCOMMON_NAMEaka. SYNONYMS
win.regretlocker (Back to overview)

RegretLocker

VTCollection    

According to PCrisk, RegretLocker is malicious software classified as ransomware. Systems infected with this malware have their data encrypted and users receive ransom demands for decryption. During the encryption process, all affected files are appended with the ".mouse" extension.

References
2020-11-17 ⋅ Chuongdong blog ⋅ Chuong Dong
RegretLocker
RegretLocker
2020-11-03 ⋅ BleepingComputer ⋅ Lawrence Abrams
New RegretLocker ransomware targets Windows virtual machines
RegretLocker
2020-10-28 ⋅ MalwareHunterTeam
Tweet about RegretLocker from MHT
RegretLocker
Yara Rules
[TLP:WHITE] win_regretlocker_auto (20260917 | Detects win.regretlocker.)
rule win_regretlocker_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2026-09-17"
        version = "1"
        description = "Detects win.regretlocker."
        info = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator v0.6.0"
        signator_config = "callsandjumps;datarefs;binvalue"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.regretlocker"
        malpedia_rule_date = "20260916"
        malpedia_hash = "53a643781c18e08f4a50949af60172d837a0b6f6"
        malpedia_version = "20260917"
        malpedia_license = "CC BY-SA 4.0"
        malpedia_sharing = "TLP:WHITE"

    /* DISCLAIMER
     * The strings used in this rule have been automatically selected from the
     * disassembly of memory dumps and unpacked files, using YARA-Signator.
     * The code and documentation is published here:
     * https://github.com/fxb-cocacoding/yara-signator
     * As Malpedia is used as data source, please note that for a given
     * number of families, only single samples are documented.
     * This likely impacts the degree of generalization these rules will offer.
     * Take the described generation method also into consideration when you
     * apply the rules in your use cases and assign them confidence levels.
     */


    strings:
        $sequence_0 = { 57 68???????? e8???????? 68???????? e8???????? 83c40c eb12 }
            // n = 7, score = 100
            //   57                   | push                edi
            //   68????????           |                     
            //   e8????????           |                     
            //   68????????           |                     
            //   e8????????           |                     
            //   83c40c               | add                 esp, 0xc
            //   eb12                 | jmp                 0x14

        $sequence_1 = { 8bf1 8975ec 8945f0 39450c 741e c706???????? c74610400d4500 }
            // n = 7, score = 100
            //   8bf1                 | mov                 esi, ecx
            //   8975ec               | mov                 dword ptr [ebp - 0x14], esi
            //   8945f0               | mov                 dword ptr [ebp - 0x10], eax
            //   39450c               | cmp                 dword ptr [ebp + 0xc], eax
            //   741e                 | je                  0x20
            //   c706????????         |                     
            //   c74610400d4500       | mov                 dword ptr [esi + 0x10], 0x450d40

        $sequence_2 = { 68???????? 50 e8???????? 59 59 8d8decfdffff e8???????? }
            // n = 7, score = 100
            //   68????????           |                     
            //   50                   | push                eax
            //   e8????????           |                     
            //   59                   | pop                 ecx
            //   59                   | pop                 ecx
            //   8d8decfdffff         | lea                 ecx, [ebp - 0x214]
            //   e8????????           |                     

        $sequence_3 = { 3de8030000 0f84fa000000 83f803 0f84f1000000 83ffff 0f84e8000000 8d45c4 }
            // n = 7, score = 100
            //   3de8030000           | cmp                 eax, 0x3e8
            //   0f84fa000000         | je                  0x100
            //   83f803               | cmp                 eax, 3
            //   0f84f1000000         | je                  0xf7
            //   83ffff               | cmp                 edi, -1
            //   0f84e8000000         | je                  0xee
            //   8d45c4               | lea                 eax, [ebp - 0x3c]

        $sequence_4 = { 8b450c 33d2 53 56 57 6a3c 5f }
            // n = 7, score = 100
            //   8b450c               | mov                 eax, dword ptr [ebp + 0xc]
            //   33d2                 | xor                 edx, edx
            //   53                   | push                ebx
            //   56                   | push                esi
            //   57                   | push                edi
            //   6a3c                 | push                0x3c
            //   5f                   | pop                 edi

        $sequence_5 = { 81ec94010000 56 57 8bf1 68???????? 89b528ffffff e8???????? }
            // n = 7, score = 100
            //   81ec94010000         | sub                 esp, 0x194
            //   56                   | push                esi
            //   57                   | push                edi
            //   8bf1                 | mov                 esi, ecx
            //   68????????           |                     
            //   89b528ffffff         | mov                 dword ptr [ebp - 0xd8], esi
            //   e8????????           |                     

        $sequence_6 = { 2bc8 394de8 8bc1 0f4645e8 3bf9 8945e8 8bc1 }
            // n = 7, score = 100
            //   2bc8                 | sub                 ecx, eax
            //   394de8               | cmp                 dword ptr [ebp - 0x18], ecx
            //   8bc1                 | mov                 eax, ecx
            //   0f4645e8             | cmovbe              eax, dword ptr [ebp - 0x18]
            //   3bf9                 | cmp                 edi, ecx
            //   8945e8               | mov                 dword ptr [ebp - 0x18], eax
            //   8bc1                 | mov                 eax, ecx

        $sequence_7 = { c645fc0e e8???????? 33c9 884d9c ff759c 898d24ffffff 898d28ffffff }
            // n = 7, score = 100
            //   c645fc0e             | mov                 byte ptr [ebp - 4], 0xe
            //   e8????????           |                     
            //   33c9                 | xor                 ecx, ecx
            //   884d9c               | mov                 byte ptr [ebp - 0x64], cl
            //   ff759c               | push                dword ptr [ebp - 0x64]
            //   898d24ffffff         | mov                 dword ptr [ebp - 0xdc], ecx
            //   898d28ffffff         | mov                 dword ptr [ebp - 0xd8], ecx

        $sequence_8 = { 8b75dc 0f4345cc 8b4dec 2bf1 03f0 85f6 7e19 }
            // n = 7, score = 100
            //   8b75dc               | mov                 esi, dword ptr [ebp - 0x24]
            //   0f4345cc             | cmovae              eax, dword ptr [ebp - 0x34]
            //   8b4dec               | mov                 ecx, dword ptr [ebp - 0x14]
            //   2bf1                 | sub                 esi, ecx
            //   03f0                 | add                 esi, eax
            //   85f6                 | test                esi, esi
            //   7e19                 | jle                 0x1b

        $sequence_9 = { 894110 894114 e8???????? 8b4df4 8bc6 5e 64890d00000000 }
            // n = 7, score = 100
            //   894110               | mov                 dword ptr [ecx + 0x10], eax
            //   894114               | mov                 dword ptr [ecx + 0x14], eax
            //   e8????????           |                     
            //   8b4df4               | mov                 ecx, dword ptr [ebp - 0xc]
            //   8bc6                 | mov                 eax, esi
            //   5e                   | pop                 esi
            //   64890d00000000       | mov                 dword ptr fs:[0], ecx

    condition:
        7 of them and filesize < 1021952
}
Download all Yara Rules