There is no description at this point.
rule win_confucius_auto { meta: author = "Felix Bilstein - yara-signator at cocacoding dot com" date = "2026-09-17" version = "1" description = "Detects win.confucius." 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.confucius" 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 = { 51 52 55 ffd7 85c0 7cb3 b920000000 } // n = 7, score = 100 // 51 | push ecx // 52 | push edx // 55 | push ebp // ffd7 | call edi // 85c0 | test eax, eax // 7cb3 | jl 0xffffffb5 // b920000000 | mov ecx, 0x20 $sequence_1 = { 56 8b742408 57 8b06 8b887c850000 8b410c 85c0 } // n = 7, score = 100 // 56 | push esi // 8b742408 | mov esi, dword ptr [esp + 8] // 57 | push edi // 8b06 | mov eax, dword ptr [esi] // 8b887c850000 | mov ecx, dword ptr [eax + 0x857c] // 8b410c | mov eax, dword ptr [ecx + 0xc] // 85c0 | test eax, eax $sequence_2 = { 8d45d8 50 ff15???????? 8d45d8 50 ff15???????? 8d45d8 } // n = 7, score = 100 // 8d45d8 | lea eax, [ebp - 0x28] // 50 | push eax // ff15???????? | // 8d45d8 | lea eax, [ebp - 0x28] // 50 | push eax // ff15???????? | // 8d45d8 | lea eax, [ebp - 0x28] $sequence_3 = { 85f6 750a b9???????? e8???????? 33c0 668906 33db } // n = 7, score = 100 // 85f6 | test esi, esi // 750a | jne 0xc // b9???????? | // e8???????? | // 33c0 | xor eax, eax // 668906 | mov word ptr [esi], ax // 33db | xor ebx, ebx $sequence_4 = { 88869c140000 e9???????? ff7570 ff15???????? 85c0 7515 895d70 } // n = 7, score = 100 // 88869c140000 | mov byte ptr [esi + 0x149c], al // e9???????? | // ff7570 | push dword ptr [ebp + 0x70] // ff15???????? | // 85c0 | test eax, eax // 7515 | jne 0x17 // 895d70 | mov dword ptr [ebp + 0x70], ebx $sequence_5 = { 8d85fcfbffff 50 e8???????? 50 e8???????? 84c0 7571 } // n = 7, score = 100 // 8d85fcfbffff | lea eax, [ebp - 0x404] // 50 | push eax // e8???????? | // 50 | push eax // e8???????? | // 84c0 | test al, al // 7571 | jne 0x73 $sequence_6 = { 2bfb 51 8b08 57 52 68???????? 51 } // n = 7, score = 100 // 2bfb | sub edi, ebx // 51 | push ecx // 8b08 | mov ecx, dword ptr [eax] // 57 | push edi // 52 | push edx // 68???????? | // 51 | push ecx $sequence_7 = { 0f8434010000 8bfd 83c9ff f2ae f7d1 49 81f9ff000000 } // n = 7, score = 100 // 0f8434010000 | je 0x13a // 8bfd | mov edi, ebp // 83c9ff | or ecx, 0xffffffff // f2ae | repne scasb al, byte ptr es:[edi] // f7d1 | not ecx // 49 | dec ecx // 81f9ff000000 | cmp ecx, 0xff $sequence_8 = { 33d2 66891448 894f04 8d8dc8f3ffff e8???????? 5e 5b } // n = 7, score = 100 // 33d2 | xor edx, edx // 66891448 | mov word ptr [eax + ecx*2], dx // 894f04 | mov dword ptr [edi + 4], ecx // 8d8dc8f3ffff | lea ecx, [ebp - 0xc38] // e8???????? | // 5e | pop esi // 5b | pop ebx $sequence_9 = { 53 8d4408f0 53 50 8d8dc8f3ffff e8???????? } // n = 6, score = 100 // 53 | push ebx // 8d4408f0 | lea eax, [eax + ecx - 0x10] // 53 | push ebx // 50 | push eax // 8d8dc8f3ffff | lea ecx, [ebp - 0xc38] // e8???????? | $sequence_10 = { 83d000 89452c 8b44242c 8b4c2424 8b11 03d0 85ed } // n = 7, score = 100 // 83d000 | adc eax, 0 // 89452c | mov dword ptr [ebp + 0x2c], eax // 8b44242c | mov eax, dword ptr [esp + 0x2c] // 8b4c2424 | mov ecx, dword ptr [esp + 0x24] // 8b11 | mov edx, dword ptr [ecx] // 03d0 | add edx, eax // 85ed | test ebp, ebp $sequence_11 = { 53 6a00 6aff 50 b301 e8???????? 83c40c } // n = 7, score = 100 // 53 | push ebx // 6a00 | push 0 // 6aff | push -1 // 50 | push eax // b301 | mov bl, 1 // e8???????? | // 83c40c | add esp, 0xc $sequence_12 = { 50 ff7508 8bce e8???????? 83f8ff 7502 8bc7 } // n = 7, score = 100 // 50 | push eax // ff7508 | push dword ptr [ebp + 8] // 8bce | mov ecx, esi // e8???????? | // 83f8ff | cmp eax, -1 // 7502 | jne 4 // 8bc7 | mov eax, edi $sequence_13 = { 57 ffd6 ff35???????? 6a66 57 ffd6 33c0 } // n = 7, score = 100 // 57 | push edi // ffd6 | call esi // ff35???????? | // 6a66 | push 0x66 // 57 | push edi // ffd6 | call esi // 33c0 | xor eax, eax $sequence_14 = { 740d 8b07 6a00 50 e8???????? 83c408 8d8fb8020000 } // n = 7, score = 100 // 740d | je 0xf // 8b07 | mov eax, dword ptr [edi] // 6a00 | push 0 // 50 | push eax // e8???????? | // 83c408 | add esp, 8 // 8d8fb8020000 | lea ecx, [edi + 0x2b8] $sequence_15 = { 83c10e 50 51 e8???????? 89868c000000 8a8d51020000 83c40c } // n = 7, score = 100 // 83c10e | add ecx, 0xe // 50 | push eax // 51 | push ecx // e8???????? | // 89868c000000 | mov dword ptr [esi + 0x8c], eax // 8a8d51020000 | mov cl, byte ptr [ebp + 0x251] // 83c40c | add esp, 0xc condition: 7 of them and filesize < 598016 }
If your designated proposal does not fit in any other category, feel free to write a free-text in the comment field below. Changes regarding references should be proposed on the Malpedia library page.
Your suggestion will be reviewed before being published. Thank you for contributing!
YYYY-MM-DD
YYYY-MM
YYYY