There is no description at this point.
rule win_soul_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2023-12-06" version = "1" description = "Detects win.soul." 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.soul" malpedia_rule_date = "20231130" malpedia_hash = "fc8a0e9f343f6d6ded9e7df1a64dac0cc68d7351" malpedia_version = "20230808" 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 = { 83c404 33f6 897304 8b4304 } // n = 4, score = 400 // 83c404 | je 0xfc // 33f6 | dec eax // 897304 | mov ecx, edi // 8b4304 | inc eax $sequence_1 = { 897304 8b4304 5f 5e 5b } // n = 5, score = 400 // 897304 | dec esp // 8b4304 | mov esp, dword ptr [esp + 0x278] // 5f | dec eax // 5e | mov esi, dword ptr [esp + 0x2a8] // 5b | dec eax $sequence_2 = { 40 803800 75f8 c745fc00000000 90 } // n = 5, score = 400 // 40 | je 0x2c8 // 803800 | test eax, eax // 75f8 | je 0x423 // c745fc00000000 | inc ebp // 90 | mov eax, ebp $sequence_3 = { 75f8 803e00 8bc6 7409 90 fe08 40 } // n = 7, score = 400 // 75f8 | inc eax // 803e00 | cmp byte ptr [eax], 0 // 8bc6 | jne 0xfffffffd // 7409 | mov dword ptr [ebp - 4], 0 // 90 | nop // fe08 | mov edi, eax // 40 | push esi $sequence_4 = { d3e2 8515???????? 7405 e8???????? } // n = 4, score = 400 // d3e2 | shl edx, cl // 8515???????? | // 7405 | je 7 // e8???????? | $sequence_5 = { 8b03 8b36 50 e8???????? 8bf8 } // n = 5, score = 400 // 8b03 | mov ebx, dword ptr [esp + 0x298] // 8b36 | dec eax // 50 | mov ebp, dword ptr [esp + 0x2a0] // e8???????? | // 8bf8 | dec eax $sequence_6 = { 5d c3 57 eb05 85f6 } // n = 5, score = 400 // 5d | movzx ebx, dh // c3 | test eax, eax // 57 | mov esi, 0 // eb05 | cmove ebx, esi // 85f6 | dec eax $sequence_7 = { ff25???????? ff25???????? ff25???????? ff25???????? 48895c2408 4889742410 57 } // n = 7, score = 400 // ff25???????? | // ff25???????? | // ff25???????? | // ff25???????? | // 48895c2408 | dec eax // 4889742410 | mov dword ptr [esp + 8], ebx // 57 | dec eax $sequence_8 = { ff45fc 85f6 7506 837dfc04 7cda } // n = 5, score = 400 // ff45fc | cmp dword ptr [esp + 0x78], 8 // 85f6 | cmp eax, 0x106 // 7506 | jae 0xb // 837dfc04 | inc ebp // 7cda | test edi, edi $sequence_9 = { c745fc00000000 8da42400000000 8b4df8 51 } // n = 4, score = 400 // c745fc00000000 | mov ecx, dword ptr [esp + 0x260] // 8da42400000000 | dec eax // 8b4df8 | xor ecx, esp // 51 | dec eax $sequence_10 = { e9???????? 8b531c c1e002 8bc8 } // n = 4, score = 200 // e9???????? | // 8b531c | sub esp, 0x30 // c1e002 | dec eax // 8bc8 | mov ebx, ecx $sequence_11 = { 6644896c2438 48837f1808 7319 4c8b4710 49ffc0 4d03c0 } // n = 6, score = 200 // 6644896c2438 | dec eax // 48837f1808 | mov dword ptr [esp + 8], ebx // 7319 | dec eax // 4c8b4710 | mov dword ptr [esp + 0x10], esi // 49ffc0 | push edi // 4d03c0 | dec eax $sequence_12 = { 4983fc08 7208 498bcd e8???????? b801000000 488b8db0010000 4833cc } // n = 7, score = 200 // 4983fc08 | inc ecx // 7208 | test byte ptr [esi + 0x10], 4 // 498bcd | je 0x53 // e8???????? | // b801000000 | jne 0xfffffffa // 488b8db0010000 | cmp byte ptr [esi], 0 // 4833cc | mov eax, esi $sequence_13 = { 7475 453bcc 7370 488b5330 4c8b5318 488b7338 } // n = 6, score = 200 // 7475 | lea esp, [esp] // 453bcc | cmp dword ptr [esi + 4], 0 // 7370 | lea ebx, [esi + 4] // 488b5330 | cmp dword ptr [ebp - 4], 4 // 4c8b5318 | jl 0xffffffe0 // 488b7338 | mov dword ptr [ebp - 4], 0 $sequence_14 = { 48895c2420 ff16 85c0 0f85f7000000 488b442420 4885c0 0f84e4000000 } // n = 7, score = 200 // 48895c2420 | dec eax // ff16 | mov ebx, ecx // 85c0 | dec eax // 0f85f7000000 | test ecx, ecx // 488b442420 | dec eax // 4885c0 | mov dword ptr [esp + 8], ebx // 0f84e4000000 | dec eax $sequence_15 = { 4c8bac2470020000 4c8ba42478020000 488bb424a8020000 488b9c2498020000 488bac24a0020000 488b8c2460020000 4833cc } // n = 7, score = 200 // 4c8bac2470020000 | dec eax // 4c8ba42478020000 | mov dword ptr [esp + 8], ebx // 488bb424a8020000 | dec eax // 488b9c2498020000 | mov dword ptr [esp + 0x10], esi // 488bac24a0020000 | push edi // 488b8c2460020000 | dec eax // 4833cc | sub esp, 0x30 $sequence_16 = { 8bc1 c1e805 478d541201 662bc8 } // n = 4, score = 200 // 8bc1 | lea esp, [esp] // c1e805 | shl edx, cl // 478d541201 | je 7 // 662bc8 | xor esi, esi $sequence_17 = { 0f8889000000 7e74 817d0063736de0 7528 48833d????????00 741e 488d0d49ad0000 } // n = 7, score = 200 // 0f8889000000 | je 0x12 // 7e74 | nop // 817d0063736de0 | dec byte ptr [eax] // 7528 | inc eax // 48833d????????00 | // 741e | mov edi, eax // 488d0d49ad0000 | je 0x3e $sequence_18 = { 3d06010000 7309 4585ff 0f84bd020000 85c0 0f8410040000 458bc5 } // n = 7, score = 200 // 3d06010000 | dec eax // 7309 | mov dword ptr [esp + 0x10], esi // 4585ff | push edi // 0f84bd020000 | dec eax // 85c0 | mov dword ptr [esp + 8], ebx // 0f8410040000 | dec eax // 458bc5 | mov dword ptr [esp + 0x10], esi $sequence_19 = { 4883c302 85c0 75ed 85d2 7416 4885ff } // n = 6, score = 200 // 4883c302 | je 6 // 85c0 | inc esp // 75ed | mov dword ptr [eax + 4], ebp // 85d2 | inc ecx // 7416 | test dword ptr [esi + 0x18], 0x200 // 4885ff | je 0x53 $sequence_20 = { 488bcf ff15???????? 400fb6de 85c0 be00000000 0f44de 48837c247808 } // n = 7, score = 200 // 488bcf | mov dword ptr [esp + 0x10], esi // ff15???????? | // 400fb6de | push edi // 85c0 | dec eax // be00000000 | sub esp, 0x30 // 0f44de | dec eax // 48837c247808 | mov dword ptr [esp + 8], ebx $sequence_21 = { 488d4de0 e8???????? 90 4c8d056e310200 488bd0 488d4db8 } // n = 6, score = 200 // 488d4de0 | push edi // e8???????? | // 90 | dec eax // 4c8d056e310200 | sub esp, 0x30 // 488bd0 | inc ecx // 488d4db8 | shr ebp, cl $sequence_22 = { 41d3ed 83ff20 7321 85f6 0f84d30c0000 410fb60424 } // n = 6, score = 200 // 41d3ed | mov dword ptr [esp + 0x10], esi // 83ff20 | push edi // 7321 | dec eax // 85f6 | sub esp, 0x30 // 0f84d30c0000 | dec eax // 410fb60424 | mov ebx, ecx condition: 7 of them and filesize < 1400832 }
If your designated proposal does not fit in any other category, feel free to write a free-text in the comment field below.
Please propose all changes regarding references on the Malpedia library page
Your suggestion will be reviewed before being published. Thank you for contributing!
YYYY-MM-DD
YYYY-MM
YYYY