Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sample of codmw's obfuscated data store object usage. ctrl+f ------- to see different parts of this paste. here's a sig to find some of them (for convenience/speed), but read on to see why you'll have to find them by mnemonic sequence or searching for the (likely compile-time random) immediates involved.
- 65 48 8B 04 25 30 00 00 00 41 B9 ? ? ? ? 44 8B 50 60
- __int64 __fastcall sub_7FF6F8319130(__int64 a1)
- {
- __int64 a1_0; // rdi
- int obfs_plusten; // er8
- int obfs_zeroinit; // edx
- unsigned int obfs_state_iterator; // er9
- int obfs_tlsdata; // er10
- signed int obfs_state_iterator_next; // eax
- int v7; // ecx
- char v8; // bl
- signed int v9; // er11
- signed int v10; // xmm1_4
- signed int obfs_result; // xmm0_4
- int v12; // edx
- int v13; // er9
- unsigned int v14; // er8
- int v15; // er10
- signed int v16; // eax
- int v17; // ecx
- int v18; // edx
- int obfs2_result; // xmm0_4
- int v20; // edx
- int v21; // er9
- unsigned int v22; // er8
- int v23; // er10
- int v24; // ecx
- int v25; // edx
- _DWORD *v26; // rcx
- __int64 result; // rax
- a1_0 = a1;
- if ( !*((_BYTE *)g_some_obfs_data + 16) && !*((_BYTE *)g_some_obfs_data + 40) )
- goto label_fail_deobfs;
- obfs_plusten = *((_DWORD *)g_some_obfs_data + 10);
- obfs_zeroinit = 0;
- obfs_state_iterator = 0x28392FE6;
- obfs_tlsdata = *(_DWORD *)(__readgsqword(0x30u) + 96);
- obfs_state_iterator_next = 0x6EA3322F;
- do
- {
- if ( obfs_state_iterator > 0x5112038B )
- {
- switch ( obfs_state_iterator )
- {
- case 0x5810A6C5u:
- v7 = 4776 * obfs_zeroinit + (obfs_tlsdata ^ 0xFFFFD6F6);
- obfs_state_iterator_next = 1462725405;
- break;
- case 0x738CE714u:
- v7 = (obfs_tlsdata ^ 0x1FDB) - 4380 * obfs_zeroinit;
- obfs_state_iterator_next = 1242979282;
- break;
- case 0x80A136DD:
- v7 = (obfs_tlsdata ^ 0xFFFF8B7F) - 32451 * obfs_plusten;
- obfs_state_iterator_next = -793208655;
- obfs_plusten = __ROR4__(obfs_plusten, 16);
- break;
- case 0xC75FB2CA:
- v7 = (obfs_tlsdata ^ 0xFFFFCE42) - 2132 * obfs_zeroinit;
- obfs_state_iterator_next = 129475588;
- break;
- default:
- goto LABEL_26;
- }
- }
- else
- {
- switch ( obfs_state_iterator )
- {
- case 0x5112038Bu:
- obfs_state_iterator_next = 0x1ED675C3;
- obfs_zeroinit = (unsigned __int16)(3288 * obfs_zeroinit + (obfs_tlsdata ^ 0xA3FF));
- obfs_plusten = __ROR4__(obfs_zeroinit ^ __ROL4__(obfs_plusten, 16), 16);
- goto LABEL_26;
- case 0x64A4E0u:
- obfs_zeroinit = (unsigned __int16)obfs_plusten;
- obfs_state_iterator_next = 0x5176A76B;
- goto LABEL_26;
- case 0xF3FCDD8u:
- obfs_state_iterator_next = 0xF5B6938;
- obfs_plusten = obfs_zeroinit ^ __ROL4__(obfs_plusten, 16);
- goto LABEL_26;
- case 0x28392FE6u:
- obfs_state_iterator_next = 0x29FE019;
- obfs_zeroinit = (unsigned __int16)((obfs_tlsdata ^ 0xD066) - 4588 * obfs_plusten);
- obfs_plusten = obfs_zeroinit ^ __ROL4__(obfs_plusten, 16);
- goto LABEL_26;
- case 0x2AA6CFFFu:
- obfs_plusten = (unsigned __int16)(9459 * obfs_plusten + (obfs_tlsdata ^ 0x3514)) ^ __ROR4__(obfs_plusten, 16);
- obfs_state_iterator_next = 0x72B6693A;
- obfs_zeroinit = (unsigned __int16)obfs_plusten;
- goto LABEL_26;
- }
- if ( obfs_state_iterator != 0x32222E70 )
- goto LABEL_26;
- v7 = 2989 * obfs_zeroinit + (obfs_tlsdata ^ 0x7C7B);
- obfs_state_iterator_next = 0xC54910E5;
- }
- obfs_zeroinit = (unsigned __int16)v7;
- LABEL_26:
- obfs_state_iterator ^= obfs_state_iterator_next;
- }
- while ( obfs_state_iterator != 0x4FC47648 );
- if ( (_BYTE)obfs_plusten && !*(_BYTE *)(a1_0 + 1492) )
- {
- v8 = 1;
- goto label_succeed_deobfs;
- }
- label_fail_deobfs:
- v8 = 0;
- label_succeed_deobfs:
- *(_BYTE *)(a1_0 + 10988) = v8; // before obfuscation, v8 here would've simply been *(g_some_obfs_data)
- -------------------------------------------------- disasm of above
- .text:00007FF6F8319130 sub_7FF6F8319130 proc near ; CODE XREF: sub_7FF6F8460D90+1B44↓p
- .text:00007FF6F8319130
- .text:00007FF6F8319130 arg_0 = dword ptr 8
- .text:00007FF6F8319130 arg_8 = qword ptr 10h
- .text:00007FF6F8319130 arg_10 = qword ptr 18h
- .text:00007FF6F8319130
- .text:00007FF6F8319130 48 89 5C 24 10 mov [rsp+arg_8], rbx
- .text:00007FF6F8319135 48 89 7C 24 18 mov [rsp+arg_10], rdi
- .text:00007FF6F831913A ; 30: a1_0 = a1;
- .text:00007FF6F831913A 48 8B 05 37 91 94 0D mov rax, cs:g_some_obfs_data
- .text:00007FF6F8319141 48 8B F9 mov rdi, rcx
- .text:00007FF6F8319144 ; 31: if ( !*((_BYTE *)g_some_obfs_data + 16) && !*((_BYTE *)g_some_obfs_data + 40) )
- .text:00007FF6F8319144 80 78 10 00 cmp byte ptr [rax+10h], 0
- .text:00007FF6F8319148 75 0A jnz short loc_7FF6F8319154
- .text:00007FF6F831914A 80 78 28 00 cmp byte ptr [rax+28h], 0
- .text:00007FF6F831914E ; 32: goto label_fail_deobfs;
- .text:00007FF6F831914E 0F 84 CE 01 00 00 jz loc_7FF6F8319322
- .text:00007FF6F8319154 ; 33: obfs_plusten = *((_DWORD *)g_some_obfs_data + 10);
- .text:00007FF6F8319154
- .text:00007FF6F8319154 loc_7FF6F8319154: ; CODE XREF: sub_7FF6F8319130+18↑j
- .text:00007FF6F8319154 44 8B 40 28 mov r8d, [rax+28h]
- .text:00007FF6F8319158 ; 34: obfs_zeroinit = 0;
- .text:00007FF6F8319158 33 D2 xor edx, edx
- .text:00007FF6F831915A ; 36: obfs_tlsdata = *(_DWORD *)(__readgsqword(0x30u) + 96);
- .text:00007FF6F831915A 65 48 8B 04 25 30 00 00 00 mov rax, gs:30h
- .text:00007FF6F8319163 ; 35: obfs_state_iterator = 0x28392FE6;
- .text:00007FF6F8319163 41 B9 E6 2F 39 28 mov r9d, 28392FE6h
- .text:00007FF6F8319169 44 8B 50 60 mov r10d, [rax+60h]
- .text:00007FF6F831916D ; 37: obfs_state_iterator_next = 0x6EA3322F;
- .text:00007FF6F831916D B8 2F 32 A3 6E mov eax, 6EA3322Fh
- .text:00007FF6F8319172 ; 40: if ( obfs_state_iterator > 0x5112038B )
- .text:00007FF6F8319172
- .text:00007FF6F8319172 loc_7FF6F8319172: ; CODE XREF: sub_7FF6F8319130+1DA↓j
- .text:00007FF6F8319172 41 81 F9 8B 03 12 51 cmp r9d, 5112038Bh
- .text:00007FF6F8319179 0F 87 F7 00 00 00 ja loc_7FF6F8319276
- .text:00007FF6F831917F ; 67: switch ( obfs_state_iterator )
- .text:00007FF6F831917F 0F 84 C8 00 00 00 jz loc_7FF6F831924D
- .text:00007FF6F8319185 41 81 F9 E0 A4 64 00 cmp r9d, 64A4E0h
- .text:00007FF6F831918C 0F 84 AD 00 00 00 jz loc_7FF6F831923F
- .text:00007FF6F8319192 41 81 F9 D8 CD 3F 0F cmp r9d, 0F3FCDD8h
- .text:00007FF6F8319199 0F 84 8F 00 00 00 jz loc_7FF6F831922E
- .text:00007FF6F831919F 41 81 F9 E6 2F 39 28 cmp r9d, 28392FE6h
- .text:00007FF6F83191A6 74 60 jz short loc_7FF6F8319208
- .text:00007FF6F83191A8 41 81 F9 FF CF A6 2A cmp r9d, 2AA6CFFFh
- .text:00007FF6F83191AF 74 28 jz short loc_7FF6F83191D9
- .text:00007FF6F83191B1 ; 93: if ( obfs_state_iterator != 0x32222E70 )
- .text:00007FF6F83191B1 41 81 F9 70 2E 22 32 cmp r9d, 32222E70h
- .text:00007FF6F83191B8 ; 94: goto LABEL_26;
- .text:00007FF6F83191B8 0F 85 42 01 00 00 jnz loc_7FF6F8319300
- .text:00007FF6F83191BE ; 95: v7 = 2989 * obfs_zeroinit + (obfs_tlsdata ^ 0x7C7B);
- .text:00007FF6F83191BE 69 C2 AD 0B 00 00 imul eax, edx, 0BADh
- .text:00007FF6F83191C4 41 8B CA mov ecx, r10d
- .text:00007FF6F83191C7 81 F1 7B 7C 00 00 xor ecx, 7C7Bh
- .text:00007FF6F83191CD 03 C8 add ecx, eax
- .text:00007FF6F83191CF ; 96: obfs_state_iterator_next = 0xC54910E5;
- .text:00007FF6F83191CF B8 E5 10 49 C5 mov eax, 0C54910E5h
- .text:00007FF6F83191D4 E9 24 01 00 00 jmp loc_7FF6F83192FD
- .text:00007FF6F83191D9 ; ---------------------------------------------------------------------------
- .text:00007FF6F83191D9 ; 88: obfs_plusten = (unsigned __int16)(9459 * obfs_plusten + (obfs_tlsdata ^ 0x3514)) ^ __ROR4__(obfs_plusten, 16);
- .text:00007FF6F83191D9
- .text:00007FF6F83191D9 loc_7FF6F83191D9: ; CODE XREF: sub_7FF6F8319130+7F↑j
- .text:00007FF6F83191D9 41 69 C0 F3 24 00 00 imul eax, r8d, 24F3h
- .text:00007FF6F83191E0 41 8B D0 mov edx, r8d
- .text:00007FF6F83191E3 C1 CA 10 ror edx, 10h
- .text:00007FF6F83191E6 41 8B CA mov ecx, r10d
- .text:00007FF6F83191E9 81 F1 14 35 00 00 xor ecx, 3514h
- .text:00007FF6F83191EF 44 8B C2 mov r8d, edx
- .text:00007FF6F83191F2 03 C8 add ecx, eax
- .text:00007FF6F83191F4 0F B7 C1 movzx eax, cx
- .text:00007FF6F83191F7 44 33 C0 xor r8d, eax
- .text:00007FF6F83191FA ; 89: obfs_state_iterator_next = 0x72B6693A;
- .text:00007FF6F83191FA B8 3A 69 B6 72 mov eax, 72B6693Ah
- .text:00007FF6F83191FF ; 90: obfs_zeroinit = (unsigned __int16)obfs_plusten;
- .text:00007FF6F83191FF 41 0F B7 D0 movzx edx, r8w
- .text:00007FF6F8319203 ; 91: goto LABEL_26;
- .text:00007FF6F8319203 E9 F8 00 00 00 jmp loc_7FF6F8319300
- .text:00007FF6F8319208 ; ---------------------------------------------------------------------------
- .text:00007FF6F8319208 ; 84: obfs_zeroinit = (unsigned __int16)((obfs_tlsdata ^ 0xD066) - 4588 * obfs_plusten);
- .text:00007FF6F8319208
- .text:00007FF6F8319208 loc_7FF6F8319208: ; CODE XREF: sub_7FF6F8319130+76↑j
- .text:00007FF6F8319208 41 69 C0 EC 11 00 00 imul eax, r8d, 11ECh
- .text:00007FF6F831920F 41 8B CA mov ecx, r10d
- .text:00007FF6F8319212 81 F1 66 D0 FF FF xor ecx, 0FFFFD066h
- .text:00007FF6F8319218 ; 85: obfs_plusten = obfs_zeroinit ^ __ROL4__(obfs_plusten, 16);
- .text:00007FF6F8319218 41 C1 C0 10 rol r8d, 10h
- .text:00007FF6F831921C 2B C8 sub ecx, eax
- .text:00007FF6F831921E ; 83: obfs_state_iterator_next = 0x29FE019;
- .text:00007FF6F831921E B8 19 E0 9F 02 mov eax, 29FE019h
- .text:00007FF6F8319223 0F B7 D1 movzx edx, cx
- .text:00007FF6F8319226 44 33 C2 xor r8d, edx
- .text:00007FF6F8319229 ; 86: goto LABEL_26;
- .text:00007FF6F8319229 E9 D2 00 00 00 jmp loc_7FF6F8319300
- .text:00007FF6F831922E ; ---------------------------------------------------------------------------
- .text:00007FF6F831922E ; 80: obfs_plusten = obfs_zeroinit ^ __ROL4__(obfs_plusten, 16);
- .text:00007FF6F831922E
- .text:00007FF6F831922E loc_7FF6F831922E: ; CODE XREF: sub_7FF6F8319130+69↑j
- .text:00007FF6F831922E 41 C1 C0 10 rol r8d, 10h
- .text:00007FF6F8319232 ; 79: obfs_state_iterator_next = 0xF5B6938;
- .text:00007FF6F8319232 B8 38 69 5B 0F mov eax, 0F5B6938h
- .text:00007FF6F8319237 44 33 C2 xor r8d, edx
- .text:00007FF6F831923A ; 81: goto LABEL_26;
- .text:00007FF6F831923A E9 C1 00 00 00 jmp loc_7FF6F8319300
- .text:00007FF6F831923F ; ---------------------------------------------------------------------------
- .text:00007FF6F831923F ; 75: obfs_zeroinit = (unsigned __int16)obfs_plusten;
- .text:00007FF6F831923F
- .text:00007FF6F831923F loc_7FF6F831923F: ; CODE XREF: sub_7FF6F8319130+5C↑j
- .text:00007FF6F831923F 41 0F B7 D0 movzx edx, r8w
- .text:00007FF6F8319243 ; 76: obfs_state_iterator_next = 0x5176A76B;
- .text:00007FF6F8319243 B8 6B A7 76 51 mov eax, 5176A76Bh
- .text:00007FF6F8319248 ; 77: goto LABEL_26;
- .text:00007FF6F8319248 E9 B3 00 00 00 jmp loc_7FF6F8319300
- .text:00007FF6F831924D ; ---------------------------------------------------------------------------
- .text:00007FF6F831924D ; 71: obfs_zeroinit = (unsigned __int16)(3288 * obfs_zeroinit + (obfs_tlsdata ^ 0xA3FF));
- .text:00007FF6F831924D
- .text:00007FF6F831924D loc_7FF6F831924D: ; CODE XREF: sub_7FF6F8319130+4F↑j
- .text:00007FF6F831924D 69 C2 D8 0C 00 00 imul eax, edx, 0CD8h
- .text:00007FF6F8319253 41 8B CA mov ecx, r10d
- .text:00007FF6F8319256 81 F1 FF A3 FF FF xor ecx, 0FFFFA3FFh
- .text:00007FF6F831925C ; 72: obfs_plusten = __ROR4__(obfs_zeroinit ^ __ROL4__(obfs_plusten, 16), 16);
- .text:00007FF6F831925C 41 C1 C0 10 rol r8d, 10h
- .text:00007FF6F8319260 03 C8 add ecx, eax
- .text:00007FF6F8319262 ; 70: obfs_state_iterator_next = 0x1ED675C3;
- .text:00007FF6F8319262 B8 C3 75 D6 1E mov eax, 1ED675C3h
- .text:00007FF6F8319267 0F B7 D1 movzx edx, cx
- .text:00007FF6F831926A 44 33 C2 xor r8d, edx
- .text:00007FF6F831926D 41 C1 C8 10 ror r8d, 10h
- .text:00007FF6F8319271 ; 73: goto LABEL_26;
- .text:00007FF6F8319271 E9 8A 00 00 00 jmp loc_7FF6F8319300
- .text:00007FF6F8319276 ; ---------------------------------------------------------------------------
- .text:00007FF6F8319276 ; 42: switch ( obfs_state_iterator )
- .text:00007FF6F8319276
- .text:00007FF6F8319276 loc_7FF6F8319276: ; CODE XREF: sub_7FF6F8319130+49↑j
- .text:00007FF6F8319276 41 81 F9 C5 A6 10 58 cmp r9d, 5810A6C5h
- .text:00007FF6F831927D 74 68 jz short loc_7FF6F83192E7
- .text:00007FF6F831927F 41 81 F9 14 E7 8C 73 cmp r9d, 738CE714h
- .text:00007FF6F8319286 74 47 jz short loc_7FF6F83192CF
- .text:00007FF6F8319288 41 81 F9 DD 36 A1 80 cmp r9d, 80A136DDh
- .text:00007FF6F831928F 74 21 jz short loc_7FF6F83192B2
- .text:00007FF6F8319291 ; 62: goto LABEL_26;
- .text:00007FF6F8319291 41 81 F9 CA B2 5F C7 cmp r9d, 0C75FB2CAh
- .text:00007FF6F8319298 75 66 jnz short loc_7FF6F8319300
- .text:00007FF6F831929A ; 58: v7 = (obfs_tlsdata ^ 0xFFFFCE42) - 2132 * obfs_zeroinit;
- .text:00007FF6F831929A 69 C2 54 08 00 00 imul eax, edx, 854h
- .text:00007FF6F83192A0 41 8B CA mov ecx, r10d
- .text:00007FF6F83192A3 81 F1 42 CE FF FF xor ecx, 0FFFFCE42h
- .text:00007FF6F83192A9 2B C8 sub ecx, eax
- .text:00007FF6F83192AB ; 59: obfs_state_iterator_next = 129475588;
- .text:00007FF6F83192AB B8 04 A4 B7 07 mov eax, 7B7A404h
- .text:00007FF6F83192B0 EB 4B jmp short loc_7FF6F83192FD
- .text:00007FF6F83192B2 ; ---------------------------------------------------------------------------
- .text:00007FF6F83192B2 ; 53: v7 = (obfs_tlsdata ^ 0xFFFF8B7F) - 32451 * obfs_plusten;
- .text:00007FF6F83192B2
- .text:00007FF6F83192B2 loc_7FF6F83192B2: ; CODE XREF: sub_7FF6F8319130+15F↑j
- .text:00007FF6F83192B2 41 69 C0 C3 7E 00 00 imul eax, r8d, 7EC3h
- .text:00007FF6F83192B9 41 8B CA mov ecx, r10d
- .text:00007FF6F83192BC 81 F1 7F 8B FF FF xor ecx, 0FFFF8B7Fh
- .text:00007FF6F83192C2 2B C8 sub ecx, eax
- .text:00007FF6F83192C4 ; 54: obfs_state_iterator_next = -793208655;
- .text:00007FF6F83192C4 B8 B1 98 B8 D0 mov eax, 0D0B898B1h
- .text:00007FF6F83192C9 ; 55: obfs_plusten = __ROR4__(obfs_plusten, 16);
- .text:00007FF6F83192C9 41 C1 C8 10 ror r8d, 10h
- .text:00007FF6F83192CD EB 2E jmp short loc_7FF6F83192FD
- .text:00007FF6F83192CF ; ---------------------------------------------------------------------------
- .text:00007FF6F83192CF ; 49: v7 = (obfs_tlsdata ^ 0x1FDB) - 4380 * obfs_zeroinit;
- .text:00007FF6F83192CF
- .text:00007FF6F83192CF loc_7FF6F83192CF: ; CODE XREF: sub_7FF6F8319130+156↑j
- .text:00007FF6F83192CF 69 C2 1C 11 00 00 imul eax, edx, 111Ch
- .text:00007FF6F83192D5 41 8B CA mov ecx, r10d
- .text:00007FF6F83192D8 81 F1 DB 1F 00 00 xor ecx, 1FDBh
- .text:00007FF6F83192DE 2B C8 sub ecx, eax
- .text:00007FF6F83192E0 ; 50: obfs_state_iterator_next = 1242979282;
- .text:00007FF6F83192E0 B8 D2 5B 16 4A mov eax, 4A165BD2h
- .text:00007FF6F83192E5 EB 16 jmp short loc_7FF6F83192FD
- .text:00007FF6F83192E7 ; ---------------------------------------------------------------------------
- .text:00007FF6F83192E7 ; 45: v7 = 4776 * obfs_zeroinit + (obfs_tlsdata ^ 0xFFFFD6F6);
- .text:00007FF6F83192E7
- .text:00007FF6F83192E7 loc_7FF6F83192E7: ; CODE XREF: sub_7FF6F8319130+14D↑j
- .text:00007FF6F83192E7 69 C2 A8 12 00 00 imul eax, edx, 12A8h
- .text:00007FF6F83192ED 41 8B CA mov ecx, r10d
- .text:00007FF6F83192F0 81 F1 F6 D6 FF FF xor ecx, 0FFFFD6F6h
- .text:00007FF6F83192F6 03 C8 add ecx, eax
- .text:00007FF6F83192F8 ; 46: obfs_state_iterator_next = 1462725405;
- .text:00007FF6F83192F8 B8 1D 6B 2F 57 mov eax, 572F6B1Dh
- .text:00007FF6F83192FD ; 98: obfs_zeroinit = (unsigned __int16)v7;
- .text:00007FF6F83192FD
- .text:00007FF6F83192FD loc_7FF6F83192FD: ; CODE XREF: sub_7FF6F8319130+A4↑j
- .text:00007FF6F83192FD ; sub_7FF6F8319130+180↑j ...
- .text:00007FF6F83192FD 0F B7 D1 movzx edx, cx
- .text:00007FF6F8319300 ; 100: obfs_state_iterator ^= obfs_state_iterator_next;
- .text:00007FF6F8319300
- .text:00007FF6F8319300 loc_7FF6F8319300: ; CODE XREF: sub_7FF6F8319130+88↑j
- .text:00007FF6F8319300 ; sub_7FF6F8319130+D3↑j ...
- .text:00007FF6F8319300 44 33 C8 xor r9d, eax
- .text:00007FF6F8319303 ; 102: while ( obfs_state_iterator != 0x4FC47648 );
- .text:00007FF6F8319303 41 81 F9 48 76 C4 4F cmp r9d, 4FC47648h
- .text:00007FF6F831930A 0F 85 62 FE FF FF jnz loc_7FF6F8319172
- .text:00007FF6F8319310 ; 103: if ( (_BYTE)obfs_plusten && !*(_BYTE *)(a1_0 + 1492) )
- .text:00007FF6F8319310 45 84 C0 test r8b, r8b
- .text:00007FF6F8319313 74 0D jz short loc_7FF6F8319322
- .text:00007FF6F8319315 80 BF D4 05 00 00 00 cmp byte ptr [rdi+5D4h], 0
- .text:00007FF6F831931C 75 04 jnz short loc_7FF6F8319322
- .text:00007FF6F831931E ; 105: v8 = 1;
- .text:00007FF6F831931E B3 01 mov bl, 1
- .text:00007FF6F8319320 ; 106: goto label_succeed_deobfs;
- .text:00007FF6F8319320 EB 02 jmp short loc_7FF6F8319324
- .text:00007FF6F8319322 ; ---------------------------------------------------------------------------
- .text:00007FF6F8319322 ; 109: v8 = 0;
- .text:00007FF6F8319322
- .text:00007FF6F8319322 loc_7FF6F8319322: ; CODE XREF: sub_7FF6F8319130+1E↑j
- .text:00007FF6F8319322 ; sub_7FF6F8319130+1E3↑j ...
- .text:00007FF6F8319322 32 DB xor bl, bl
- .text:00007FF6F8319324 ; 111: *(_BYTE *)(a1_0 + 10988) = v8;
- .text:00007FF6F8319324
- .text:00007FF6F8319324 loc_7FF6F8319324: ; CODE XREF: sub_7FF6F8319130+1F0↑j
- .text:00007FF6F8319324 88 9F EC 2A 00 00 mov [rdi+2AECh], bl
- .text:00007FF6F831932A ; 112: v9 = 0x849F1772;
- .text:00007FF6F831932A 41 BB 72 17 9F 84 mov r11d, 849F1772h
- .text:00007FF6F8319330 ; 113: v10 = 0;
- .text:00007FF6F8319330 0F 57 C9 xorps xmm1, xmm1
- --------------------------------------------------------------
- sample of the beginning of two random opaque predicates. note the registers chosen vary, so a sig for these isn't very useful.
- .text:00007FF6F682740F 8B 41 28 mov eax, [rcx+28h]
- .text:00007FF6F6827412 45 33 C0 xor r8d, r8d
- .text:00007FF6F6827415 65 48 8B 0C 25 30 00 00 00 mov rcx, gs:30h
- .text:00007FF6F682741E 41 B9 E6 2F 39 28 mov r9d, 28392FE6h
- .text:00007FF6F6827424 44 8B 51 60 mov r10d, [rcx+60h]
- .text:00007FF6F6827428 B9 2F 32 A3 6E mov ecx, 6EA3322Fh
- .text:00007FF6F682742D 0F 1F 00 nop dword ptr [rax]
- .text:00007FF6F6827430
- .text:00007FF6F6827430 loc_7FF6F6827430: ; CODE XREF: sub_7FF6F6827400+1C8↓j
- .text:00007FF6F6827430 41 81 F9 8B 03 12 51 cmp r9d, 5112038Bh
- .text:00007FF6F6827437 0F 87 F5 00 00 00 ja loc_7FF6F6827532
- .text:00007FF6F682743D 0F 84 C6 00 00 00 jz loc_7FF6F6827509
- .text:00007FF6F6827443 41 81 F9 E0 A4 64 00 cmp r9d, 64A4E0h
- .text:00007FF6F682744A 0F 84 AB 00 00 00 jz loc_7FF6F68274FB
- .text:00007FF6F6827450 41 81 F9 D8 CD 3F 0F cmp r9d, 0F3FCDD8h
- .text:00007FF6F6827457 0F 84 8E 00 00 00 jz loc_7FF6F68274EB
- .text:00007FF6F682745D 41 81 F9 E6 2F 39 28 cmp r9d, 28392FE6h
- .text:00007FF6F6827464 74 60 jz short loc_7FF6F68274C6
- .text:00007FF6F6827466 41 81 F9 FF CF A6 2A cmp r9d, 2AA6CFFFh
- .text:00007FF6F682746D 74 29 jz short loc_7FF6F6827498
- .text:00007FF6F682746F 41 81 F9 70 2E 22 32 cmp r9d, 32222E70h
- .text:00007FF6F6827476 0F 85 42 01 00 00 jnz loc_7FF6F68275BE
- .text:00007FF6F682747C 41 69 C8 AD 0B 00 00 imul ecx, r8d, 0BADh
- .text:00007FF6F6827483 41 8B D2 mov edx, r10d
- .text:00007FF6F6827486 81 F2 7B 7C 00 00 xor edx, 7C7Bh
- .text:00007FF6F682748C 03 D1 add edx, ecx
- .text:00007FF6F682748E B9 E5 10 49 C5 mov ecx, 0C54910E5h
- .text:00007FF6F6827493 E9 22 01 00 00 jmp loc_7FF6F68275BA
- vs
- .text:00007FF6F695410A 44 8B 40 28 mov r8d, [rax+28h]
- .text:00007FF6F695410E 41 8B D6 mov edx, r14d
- .text:00007FF6F6954111 65 48 8B 04 25 30 00 00 00 mov rax, gs:30h
- .text:00007FF6F695411A 41 B9 E6 2F 39 28 mov r9d, 28392FE6h
- .text:00007FF6F6954120 44 8B 50 60 mov r10d, [rax+60h]
- .text:00007FF6F6954124 B8 2F 32 A3 6E mov eax, 6EA3322Fh
- .text:00007FF6F6954129 0F 1F 80 00 00 00 00 nop dword ptr [rax+00000000h]
- .text:00007FF6F6954130
- .text:00007FF6F6954130 loc_7FF6F6954130: ; CODE XREF: sub_7FF6F69540A0+228↓j
- .text:00007FF6F6954130 41 81 F9 8B 03 12 51 cmp r9d, 5112038Bh
- .text:00007FF6F6954137 0F 87 F7 00 00 00 ja loc_7FF6F6954234
- .text:00007FF6F695413D 0F 84 C8 00 00 00 jz loc_7FF6F695420B
- .text:00007FF6F6954143 41 81 F9 E0 A4 64 00 cmp r9d, 64A4E0h
- .text:00007FF6F695414A 0F 84 AD 00 00 00 jz loc_7FF6F69541FD
- .text:00007FF6F6954150 41 81 F9 D8 CD 3F 0F cmp r9d, 0F3FCDD8h
- .text:00007FF6F6954157 0F 84 8F 00 00 00 jz loc_7FF6F69541EC
- .text:00007FF6F695415D 41 81 F9 E6 2F 39 28 cmp r9d, 28392FE6h
- .text:00007FF6F6954164 74 60 jz short loc_7FF6F69541C6
- .text:00007FF6F6954166 41 81 F9 FF CF A6 2A cmp r9d, 2AA6CFFFh
- .text:00007FF6F695416D 74 28 jz short loc_7FF6F6954197
- .text:00007FF6F695416F 41 81 F9 70 2E 22 32 cmp r9d, 32222E70h
- .text:00007FF6F6954176 0F 85 42 01 00 00 jnz loc_7FF6F69542BE
- .text:00007FF6F695417C 69 C2 AD 0B 00 00 imul eax, edx, 0BADh
- .text:00007FF6F6954182 41 8B CA mov ecx, r10d
- .text:00007FF6F6954185 81 F1 7B 7C 00 00 xor ecx, 7C7Bh
- .text:00007FF6F695418B 03 C8 add ecx, eax
- .text:00007FF6F695418D B8 E5 10 49 C5 mov eax, 0C54910E5h
- .text:00007FF6F6954192 E9 24 01 00 00 jmp loc_7FF6F69542BB
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement