SHARE
TWEET

Untitled

a guest Sep 22nd, 2019 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 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.
  2.  
  3. 65 48 8B 04 25 30 00 00 00 41 B9 ? ? ? ? 44 8B 50 60
  4.  
  5. __int64 __fastcall sub_7FF6F8319130(__int64 a1)
  6. {
  7.  __int64 a1_0; // rdi
  8.  int obfs_plusten; // er8
  9.  int obfs_zeroinit; // edx
  10.  unsigned int obfs_state_iterator; // er9
  11.  int obfs_tlsdata; // er10
  12.  signed int obfs_state_iterator_next; // eax
  13.  int v7; // ecx
  14.  char v8; // bl
  15.  signed int v9; // er11
  16.  signed int v10; // xmm1_4
  17.  signed int obfs_result; // xmm0_4
  18.  int v12; // edx
  19.  int v13; // er9
  20.  unsigned int v14; // er8
  21.  int v15; // er10
  22.  signed int v16; // eax
  23.  int v17; // ecx
  24.  int v18; // edx
  25.  int obfs2_result; // xmm0_4
  26.  int v20; // edx
  27.  int v21; // er9
  28.  unsigned int v22; // er8
  29.  int v23; // er10
  30.  int v24; // ecx
  31.  int v25; // edx
  32.  _DWORD *v26; // rcx
  33.  __int64 result; // rax
  34.  
  35.  a1_0 = a1;
  36.  if ( !*((_BYTE *)g_some_obfs_data + 16) && !*((_BYTE *)g_some_obfs_data + 40) )
  37.    goto label_fail_deobfs;
  38.  obfs_plusten = *((_DWORD *)g_some_obfs_data + 10);
  39.  obfs_zeroinit = 0;
  40.  obfs_state_iterator = 0x28392FE6;
  41.  obfs_tlsdata = *(_DWORD *)(__readgsqword(0x30u) + 96);
  42.  obfs_state_iterator_next = 0x6EA3322F;
  43.  do
  44.  {
  45.    if ( obfs_state_iterator > 0x5112038B )
  46.    {
  47.      switch ( obfs_state_iterator )
  48.      {
  49.        case 0x5810A6C5u:
  50.          v7 = 4776 * obfs_zeroinit + (obfs_tlsdata ^ 0xFFFFD6F6);
  51.          obfs_state_iterator_next = 1462725405;
  52.          break;
  53.        case 0x738CE714u:
  54.          v7 = (obfs_tlsdata ^ 0x1FDB) - 4380 * obfs_zeroinit;
  55.          obfs_state_iterator_next = 1242979282;
  56.          break;
  57.        case 0x80A136DD:
  58.          v7 = (obfs_tlsdata ^ 0xFFFF8B7F) - 32451 * obfs_plusten;
  59.          obfs_state_iterator_next = -793208655;
  60.          obfs_plusten = __ROR4__(obfs_plusten, 16);
  61.          break;
  62.        case 0xC75FB2CA:
  63.          v7 = (obfs_tlsdata ^ 0xFFFFCE42) - 2132 * obfs_zeroinit;
  64.          obfs_state_iterator_next = 129475588;
  65.          break;
  66.        default:
  67.          goto LABEL_26;
  68.      }
  69.    }
  70.    else
  71.    {
  72.      switch ( obfs_state_iterator )
  73.      {
  74.        case 0x5112038Bu:
  75.          obfs_state_iterator_next = 0x1ED675C3;
  76.          obfs_zeroinit = (unsigned __int16)(3288 * obfs_zeroinit + (obfs_tlsdata ^ 0xA3FF));
  77.          obfs_plusten = __ROR4__(obfs_zeroinit ^ __ROL4__(obfs_plusten, 16), 16);
  78.          goto LABEL_26;
  79.        case 0x64A4E0u:
  80.          obfs_zeroinit = (unsigned __int16)obfs_plusten;
  81.          obfs_state_iterator_next = 0x5176A76B;
  82.          goto LABEL_26;
  83.        case 0xF3FCDD8u:
  84.          obfs_state_iterator_next = 0xF5B6938;
  85.          obfs_plusten = obfs_zeroinit ^ __ROL4__(obfs_plusten, 16);
  86.          goto LABEL_26;
  87.        case 0x28392FE6u:
  88.          obfs_state_iterator_next = 0x29FE019;
  89.          obfs_zeroinit = (unsigned __int16)((obfs_tlsdata ^ 0xD066) - 4588 * obfs_plusten);
  90.          obfs_plusten = obfs_zeroinit ^ __ROL4__(obfs_plusten, 16);
  91.          goto LABEL_26;
  92.        case 0x2AA6CFFFu:
  93.          obfs_plusten = (unsigned __int16)(9459 * obfs_plusten + (obfs_tlsdata ^ 0x3514)) ^ __ROR4__(obfs_plusten, 16);
  94.          obfs_state_iterator_next = 0x72B6693A;
  95.          obfs_zeroinit = (unsigned __int16)obfs_plusten;
  96.          goto LABEL_26;
  97.      }
  98.      if ( obfs_state_iterator != 0x32222E70 )
  99.        goto LABEL_26;
  100.      v7 = 2989 * obfs_zeroinit + (obfs_tlsdata ^ 0x7C7B);
  101.      obfs_state_iterator_next = 0xC54910E5;
  102.    }
  103.    obfs_zeroinit = (unsigned __int16)v7;
  104. LABEL_26:
  105.    obfs_state_iterator ^= obfs_state_iterator_next;
  106.  }
  107.  while ( obfs_state_iterator != 0x4FC47648 );
  108.  if ( (_BYTE)obfs_plusten && !*(_BYTE *)(a1_0 + 1492) )
  109.  {
  110.    v8 = 1;
  111.    goto label_succeed_deobfs;
  112.  }
  113. label_fail_deobfs:
  114.  v8 = 0;
  115. label_succeed_deobfs:
  116.  *(_BYTE *)(a1_0 + 10988) = v8;                // before obfuscation, v8 here would've simply been *(g_some_obfs_data)
  117.  
  118.  
  119. -------------------------------------------------- disasm of above
  120.  
  121. .text:00007FF6F8319130                            sub_7FF6F8319130 proc near              ; CODE XREF: sub_7FF6F8460D90+1B44↓p
  122. .text:00007FF6F8319130
  123. .text:00007FF6F8319130                            arg_0       = dword ptr  8
  124. .text:00007FF6F8319130                            arg_8       = qword ptr  10h
  125. .text:00007FF6F8319130                            arg_10      = qword ptr  18h
  126. .text:00007FF6F8319130
  127. .text:00007FF6F8319130 48 89 5C 24 10                         mov     [rsp+arg_8], rbx
  128. .text:00007FF6F8319135 48 89 7C 24 18                         mov     [rsp+arg_10], rdi
  129. .text:00007FF6F831913A                            ; 30:   a1_0 = a1;
  130. .text:00007FF6F831913A 48 8B 05 37 91 94 0D                   mov     rax, cs:g_some_obfs_data
  131. .text:00007FF6F8319141 48 8B F9                               mov     rdi, rcx
  132. .text:00007FF6F8319144                            ; 31:   if ( !*((_BYTE *)g_some_obfs_data + 16) && !*((_BYTE *)g_some_obfs_data + 40) )
  133. .text:00007FF6F8319144 80 78 10 00                            cmp     byte ptr [rax+10h], 0
  134. .text:00007FF6F8319148 75 0A                                  jnz     short loc_7FF6F8319154
  135. .text:00007FF6F831914A 80 78 28 00                            cmp     byte ptr [rax+28h], 0
  136. .text:00007FF6F831914E                            ; 32:     goto label_fail_deobfs;
  137. .text:00007FF6F831914E 0F 84 CE 01 00 00                      jz      loc_7FF6F8319322
  138. .text:00007FF6F8319154                            ; 33:   obfs_plusten = *((_DWORD *)g_some_obfs_data + 10);
  139. .text:00007FF6F8319154
  140. .text:00007FF6F8319154                            loc_7FF6F8319154:                       ; CODE XREF: sub_7FF6F8319130+18↑j
  141. .text:00007FF6F8319154 44 8B 40 28                            mov     r8d, [rax+28h]
  142. .text:00007FF6F8319158                            ; 34:   obfs_zeroinit = 0;
  143. .text:00007FF6F8319158 33 D2                                  xor     edx, edx
  144. .text:00007FF6F831915A                            ; 36:   obfs_tlsdata = *(_DWORD *)(__readgsqword(0x30u) + 96);
  145. .text:00007FF6F831915A 65 48 8B 04 25 30 00 00 00             mov     rax, gs:30h
  146. .text:00007FF6F8319163                            ; 35:   obfs_state_iterator = 0x28392FE6;
  147. .text:00007FF6F8319163 41 B9 E6 2F 39 28                      mov     r9d, 28392FE6h
  148. .text:00007FF6F8319169 44 8B 50 60                            mov     r10d, [rax+60h]
  149. .text:00007FF6F831916D                            ; 37:   obfs_state_iterator_next = 0x6EA3322F;
  150. .text:00007FF6F831916D B8 2F 32 A3 6E                         mov     eax, 6EA3322Fh
  151. .text:00007FF6F8319172                            ; 40:     if ( obfs_state_iterator > 0x5112038B )
  152. .text:00007FF6F8319172
  153. .text:00007FF6F8319172                            loc_7FF6F8319172:                       ; CODE XREF: sub_7FF6F8319130+1DA↓j
  154. .text:00007FF6F8319172 41 81 F9 8B 03 12 51                   cmp     r9d, 5112038Bh
  155. .text:00007FF6F8319179 0F 87 F7 00 00 00                      ja      loc_7FF6F8319276
  156. .text:00007FF6F831917F                            ; 67:       switch ( obfs_state_iterator )
  157. .text:00007FF6F831917F 0F 84 C8 00 00 00                      jz      loc_7FF6F831924D
  158. .text:00007FF6F8319185 41 81 F9 E0 A4 64 00                   cmp     r9d, 64A4E0h
  159. .text:00007FF6F831918C 0F 84 AD 00 00 00                      jz      loc_7FF6F831923F
  160. .text:00007FF6F8319192 41 81 F9 D8 CD 3F 0F                   cmp     r9d, 0F3FCDD8h
  161. .text:00007FF6F8319199 0F 84 8F 00 00 00                      jz      loc_7FF6F831922E
  162. .text:00007FF6F831919F 41 81 F9 E6 2F 39 28                   cmp     r9d, 28392FE6h
  163. .text:00007FF6F83191A6 74 60                                  jz      short loc_7FF6F8319208
  164. .text:00007FF6F83191A8 41 81 F9 FF CF A6 2A                   cmp     r9d, 2AA6CFFFh
  165. .text:00007FF6F83191AF 74 28                                  jz      short loc_7FF6F83191D9
  166. .text:00007FF6F83191B1                            ; 93:       if ( obfs_state_iterator != 0x32222E70 )
  167. .text:00007FF6F83191B1 41 81 F9 70 2E 22 32                   cmp     r9d, 32222E70h
  168. .text:00007FF6F83191B8                            ; 94:         goto LABEL_26;
  169. .text:00007FF6F83191B8 0F 85 42 01 00 00                      jnz     loc_7FF6F8319300
  170. .text:00007FF6F83191BE                            ; 95:       v7 = 2989 * obfs_zeroinit + (obfs_tlsdata ^ 0x7C7B);
  171. .text:00007FF6F83191BE 69 C2 AD 0B 00 00                      imul    eax, edx, 0BADh
  172. .text:00007FF6F83191C4 41 8B CA                               mov     ecx, r10d
  173. .text:00007FF6F83191C7 81 F1 7B 7C 00 00                      xor     ecx, 7C7Bh
  174. .text:00007FF6F83191CD 03 C8                                  add     ecx, eax
  175. .text:00007FF6F83191CF                            ; 96:       obfs_state_iterator_next = 0xC54910E5;
  176. .text:00007FF6F83191CF B8 E5 10 49 C5                         mov     eax, 0C54910E5h
  177. .text:00007FF6F83191D4 E9 24 01 00 00                         jmp     loc_7FF6F83192FD
  178. .text:00007FF6F83191D9                            ; ---------------------------------------------------------------------------
  179. .text:00007FF6F83191D9                            ; 88:           obfs_plusten = (unsigned __int16)(9459 * obfs_plusten + (obfs_tlsdata ^ 0x3514)) ^ __ROR4__(obfs_plusten, 16);
  180. .text:00007FF6F83191D9
  181. .text:00007FF6F83191D9                            loc_7FF6F83191D9:                       ; CODE XREF: sub_7FF6F8319130+7F↑j
  182. .text:00007FF6F83191D9 41 69 C0 F3 24 00 00                   imul    eax, r8d, 24F3h
  183. .text:00007FF6F83191E0 41 8B D0                               mov     edx, r8d
  184. .text:00007FF6F83191E3 C1 CA 10                               ror     edx, 10h
  185. .text:00007FF6F83191E6 41 8B CA                               mov     ecx, r10d
  186. .text:00007FF6F83191E9 81 F1 14 35 00 00                      xor     ecx, 3514h
  187. .text:00007FF6F83191EF 44 8B C2                               mov     r8d, edx
  188. .text:00007FF6F83191F2 03 C8                                  add     ecx, eax
  189. .text:00007FF6F83191F4 0F B7 C1                               movzx   eax, cx
  190. .text:00007FF6F83191F7 44 33 C0                               xor     r8d, eax
  191. .text:00007FF6F83191FA                            ; 89:           obfs_state_iterator_next = 0x72B6693A;
  192. .text:00007FF6F83191FA B8 3A 69 B6 72                         mov     eax, 72B6693Ah
  193. .text:00007FF6F83191FF                            ; 90:           obfs_zeroinit = (unsigned __int16)obfs_plusten;
  194. .text:00007FF6F83191FF 41 0F B7 D0                            movzx   edx, r8w
  195. .text:00007FF6F8319203                            ; 91:           goto LABEL_26;
  196. .text:00007FF6F8319203 E9 F8 00 00 00                         jmp     loc_7FF6F8319300
  197. .text:00007FF6F8319208                            ; ---------------------------------------------------------------------------
  198. .text:00007FF6F8319208                            ; 84:           obfs_zeroinit = (unsigned __int16)((obfs_tlsdata ^ 0xD066) - 4588 * obfs_plusten);
  199. .text:00007FF6F8319208
  200. .text:00007FF6F8319208                            loc_7FF6F8319208:                       ; CODE XREF: sub_7FF6F8319130+76↑j
  201. .text:00007FF6F8319208 41 69 C0 EC 11 00 00                   imul    eax, r8d, 11ECh
  202. .text:00007FF6F831920F 41 8B CA                               mov     ecx, r10d
  203. .text:00007FF6F8319212 81 F1 66 D0 FF FF                      xor     ecx, 0FFFFD066h
  204. .text:00007FF6F8319218                            ; 85:           obfs_plusten = obfs_zeroinit ^ __ROL4__(obfs_plusten, 16);
  205. .text:00007FF6F8319218 41 C1 C0 10                            rol     r8d, 10h
  206. .text:00007FF6F831921C 2B C8                                  sub     ecx, eax
  207. .text:00007FF6F831921E                            ; 83:           obfs_state_iterator_next = 0x29FE019;
  208. .text:00007FF6F831921E B8 19 E0 9F 02                         mov     eax, 29FE019h
  209. .text:00007FF6F8319223 0F B7 D1                               movzx   edx, cx
  210. .text:00007FF6F8319226 44 33 C2                               xor     r8d, edx
  211. .text:00007FF6F8319229                            ; 86:           goto LABEL_26;
  212. .text:00007FF6F8319229 E9 D2 00 00 00                         jmp     loc_7FF6F8319300
  213. .text:00007FF6F831922E                            ; ---------------------------------------------------------------------------
  214. .text:00007FF6F831922E                            ; 80:           obfs_plusten = obfs_zeroinit ^ __ROL4__(obfs_plusten, 16);
  215. .text:00007FF6F831922E
  216. .text:00007FF6F831922E                            loc_7FF6F831922E:                       ; CODE XREF: sub_7FF6F8319130+69↑j
  217. .text:00007FF6F831922E 41 C1 C0 10                            rol     r8d, 10h
  218. .text:00007FF6F8319232                            ; 79:           obfs_state_iterator_next = 0xF5B6938;
  219. .text:00007FF6F8319232 B8 38 69 5B 0F                         mov     eax, 0F5B6938h
  220. .text:00007FF6F8319237 44 33 C2                               xor     r8d, edx
  221. .text:00007FF6F831923A                            ; 81:           goto LABEL_26;
  222. .text:00007FF6F831923A E9 C1 00 00 00                         jmp     loc_7FF6F8319300
  223. .text:00007FF6F831923F                            ; ---------------------------------------------------------------------------
  224. .text:00007FF6F831923F                            ; 75:           obfs_zeroinit = (unsigned __int16)obfs_plusten;
  225. .text:00007FF6F831923F
  226. .text:00007FF6F831923F                            loc_7FF6F831923F:                       ; CODE XREF: sub_7FF6F8319130+5C↑j
  227. .text:00007FF6F831923F 41 0F B7 D0                            movzx   edx, r8w
  228. .text:00007FF6F8319243                            ; 76:           obfs_state_iterator_next = 0x5176A76B;
  229. .text:00007FF6F8319243 B8 6B A7 76 51                         mov     eax, 5176A76Bh
  230. .text:00007FF6F8319248                            ; 77:           goto LABEL_26;
  231. .text:00007FF6F8319248 E9 B3 00 00 00                         jmp     loc_7FF6F8319300
  232. .text:00007FF6F831924D                            ; ---------------------------------------------------------------------------
  233. .text:00007FF6F831924D                            ; 71:           obfs_zeroinit = (unsigned __int16)(3288 * obfs_zeroinit + (obfs_tlsdata ^ 0xA3FF));
  234. .text:00007FF6F831924D
  235. .text:00007FF6F831924D                            loc_7FF6F831924D:                       ; CODE XREF: sub_7FF6F8319130+4F↑j
  236. .text:00007FF6F831924D 69 C2 D8 0C 00 00                      imul    eax, edx, 0CD8h
  237. .text:00007FF6F8319253 41 8B CA                               mov     ecx, r10d
  238. .text:00007FF6F8319256 81 F1 FF A3 FF FF                      xor     ecx, 0FFFFA3FFh
  239. .text:00007FF6F831925C                            ; 72:           obfs_plusten = __ROR4__(obfs_zeroinit ^ __ROL4__(obfs_plusten, 16), 16);
  240. .text:00007FF6F831925C 41 C1 C0 10                            rol     r8d, 10h
  241. .text:00007FF6F8319260 03 C8                                  add     ecx, eax
  242. .text:00007FF6F8319262                            ; 70:           obfs_state_iterator_next = 0x1ED675C3;
  243. .text:00007FF6F8319262 B8 C3 75 D6 1E                         mov     eax, 1ED675C3h
  244. .text:00007FF6F8319267 0F B7 D1                               movzx   edx, cx
  245. .text:00007FF6F831926A 44 33 C2                               xor     r8d, edx
  246. .text:00007FF6F831926D 41 C1 C8 10                            ror     r8d, 10h
  247. .text:00007FF6F8319271                            ; 73:           goto LABEL_26;
  248. .text:00007FF6F8319271 E9 8A 00 00 00                         jmp     loc_7FF6F8319300
  249. .text:00007FF6F8319276                            ; ---------------------------------------------------------------------------
  250. .text:00007FF6F8319276                            ; 42:       switch ( obfs_state_iterator )
  251. .text:00007FF6F8319276
  252. .text:00007FF6F8319276                            loc_7FF6F8319276:                       ; CODE XREF: sub_7FF6F8319130+49↑j
  253. .text:00007FF6F8319276 41 81 F9 C5 A6 10 58                   cmp     r9d, 5810A6C5h
  254. .text:00007FF6F831927D 74 68                                  jz      short loc_7FF6F83192E7
  255. .text:00007FF6F831927F 41 81 F9 14 E7 8C 73                   cmp     r9d, 738CE714h
  256. .text:00007FF6F8319286 74 47                                  jz      short loc_7FF6F83192CF
  257. .text:00007FF6F8319288 41 81 F9 DD 36 A1 80                   cmp     r9d, 80A136DDh
  258. .text:00007FF6F831928F 74 21                                  jz      short loc_7FF6F83192B2
  259. .text:00007FF6F8319291                            ; 62:           goto LABEL_26;
  260. .text:00007FF6F8319291 41 81 F9 CA B2 5F C7                   cmp     r9d, 0C75FB2CAh
  261. .text:00007FF6F8319298 75 66                                  jnz     short loc_7FF6F8319300
  262. .text:00007FF6F831929A                            ; 58:           v7 = (obfs_tlsdata ^ 0xFFFFCE42) - 2132 * obfs_zeroinit;
  263. .text:00007FF6F831929A 69 C2 54 08 00 00                      imul    eax, edx, 854h
  264. .text:00007FF6F83192A0 41 8B CA                               mov     ecx, r10d
  265. .text:00007FF6F83192A3 81 F1 42 CE FF FF                      xor     ecx, 0FFFFCE42h
  266. .text:00007FF6F83192A9 2B C8                                  sub     ecx, eax
  267. .text:00007FF6F83192AB                            ; 59:           obfs_state_iterator_next = 129475588;
  268. .text:00007FF6F83192AB B8 04 A4 B7 07                         mov     eax, 7B7A404h
  269. .text:00007FF6F83192B0 EB 4B                                  jmp     short loc_7FF6F83192FD
  270. .text:00007FF6F83192B2                            ; ---------------------------------------------------------------------------
  271. .text:00007FF6F83192B2                            ; 53:           v7 = (obfs_tlsdata ^ 0xFFFF8B7F) - 32451 * obfs_plusten;
  272. .text:00007FF6F83192B2
  273. .text:00007FF6F83192B2                            loc_7FF6F83192B2:                       ; CODE XREF: sub_7FF6F8319130+15F↑j
  274. .text:00007FF6F83192B2 41 69 C0 C3 7E 00 00                   imul    eax, r8d, 7EC3h
  275. .text:00007FF6F83192B9 41 8B CA                               mov     ecx, r10d
  276. .text:00007FF6F83192BC 81 F1 7F 8B FF FF                      xor     ecx, 0FFFF8B7Fh
  277. .text:00007FF6F83192C2 2B C8                                  sub     ecx, eax
  278. .text:00007FF6F83192C4                            ; 54:           obfs_state_iterator_next = -793208655;
  279. .text:00007FF6F83192C4 B8 B1 98 B8 D0                         mov     eax, 0D0B898B1h
  280. .text:00007FF6F83192C9                            ; 55:           obfs_plusten = __ROR4__(obfs_plusten, 16);
  281. .text:00007FF6F83192C9 41 C1 C8 10                            ror     r8d, 10h
  282. .text:00007FF6F83192CD EB 2E                                  jmp     short loc_7FF6F83192FD
  283. .text:00007FF6F83192CF                            ; ---------------------------------------------------------------------------
  284. .text:00007FF6F83192CF                            ; 49:           v7 = (obfs_tlsdata ^ 0x1FDB) - 4380 * obfs_zeroinit;
  285. .text:00007FF6F83192CF
  286. .text:00007FF6F83192CF                            loc_7FF6F83192CF:                       ; CODE XREF: sub_7FF6F8319130+156↑j
  287. .text:00007FF6F83192CF 69 C2 1C 11 00 00                      imul    eax, edx, 111Ch
  288. .text:00007FF6F83192D5 41 8B CA                               mov     ecx, r10d
  289. .text:00007FF6F83192D8 81 F1 DB 1F 00 00                      xor     ecx, 1FDBh
  290. .text:00007FF6F83192DE 2B C8                                  sub     ecx, eax
  291. .text:00007FF6F83192E0                            ; 50:           obfs_state_iterator_next = 1242979282;
  292. .text:00007FF6F83192E0 B8 D2 5B 16 4A                         mov     eax, 4A165BD2h
  293. .text:00007FF6F83192E5 EB 16                                  jmp     short loc_7FF6F83192FD
  294. .text:00007FF6F83192E7                            ; ---------------------------------------------------------------------------
  295. .text:00007FF6F83192E7                            ; 45:           v7 = 4776 * obfs_zeroinit + (obfs_tlsdata ^ 0xFFFFD6F6);
  296. .text:00007FF6F83192E7
  297. .text:00007FF6F83192E7                            loc_7FF6F83192E7:                       ; CODE XREF: sub_7FF6F8319130+14D↑j
  298. .text:00007FF6F83192E7 69 C2 A8 12 00 00                      imul    eax, edx, 12A8h
  299. .text:00007FF6F83192ED 41 8B CA                               mov     ecx, r10d
  300. .text:00007FF6F83192F0 81 F1 F6 D6 FF FF                      xor     ecx, 0FFFFD6F6h
  301. .text:00007FF6F83192F6 03 C8                                  add     ecx, eax
  302. .text:00007FF6F83192F8                            ; 46:           obfs_state_iterator_next = 1462725405;
  303. .text:00007FF6F83192F8 B8 1D 6B 2F 57                         mov     eax, 572F6B1Dh
  304. .text:00007FF6F83192FD                            ; 98:     obfs_zeroinit = (unsigned __int16)v7;
  305. .text:00007FF6F83192FD
  306. .text:00007FF6F83192FD                            loc_7FF6F83192FD:                       ; CODE XREF: sub_7FF6F8319130+A4↑j
  307. .text:00007FF6F83192FD                                                                    ; sub_7FF6F8319130+180↑j ...
  308. .text:00007FF6F83192FD 0F B7 D1                               movzx   edx, cx
  309. .text:00007FF6F8319300                            ; 100:     obfs_state_iterator ^= obfs_state_iterator_next;
  310. .text:00007FF6F8319300
  311. .text:00007FF6F8319300                            loc_7FF6F8319300:                       ; CODE XREF: sub_7FF6F8319130+88↑j
  312. .text:00007FF6F8319300                                                                    ; sub_7FF6F8319130+D3↑j ...
  313. .text:00007FF6F8319300 44 33 C8                               xor     r9d, eax
  314. .text:00007FF6F8319303                            ; 102:   while ( obfs_state_iterator != 0x4FC47648 );
  315. .text:00007FF6F8319303 41 81 F9 48 76 C4 4F                   cmp     r9d, 4FC47648h
  316. .text:00007FF6F831930A 0F 85 62 FE FF FF                      jnz     loc_7FF6F8319172
  317. .text:00007FF6F8319310                            ; 103:   if ( (_BYTE)obfs_plusten && !*(_BYTE *)(a1_0 + 1492) )
  318. .text:00007FF6F8319310 45 84 C0                               test    r8b, r8b
  319. .text:00007FF6F8319313 74 0D                                  jz      short loc_7FF6F8319322
  320. .text:00007FF6F8319315 80 BF D4 05 00 00 00                   cmp     byte ptr [rdi+5D4h], 0
  321. .text:00007FF6F831931C 75 04                                  jnz     short loc_7FF6F8319322
  322. .text:00007FF6F831931E                            ; 105:     v8 = 1;
  323. .text:00007FF6F831931E B3 01                                  mov     bl, 1
  324. .text:00007FF6F8319320                            ; 106:     goto label_succeed_deobfs;
  325. .text:00007FF6F8319320 EB 02                                  jmp     short loc_7FF6F8319324
  326. .text:00007FF6F8319322                            ; ---------------------------------------------------------------------------
  327. .text:00007FF6F8319322                            ; 109:   v8 = 0;
  328. .text:00007FF6F8319322
  329. .text:00007FF6F8319322                            loc_7FF6F8319322:                       ; CODE XREF: sub_7FF6F8319130+1E↑j
  330. .text:00007FF6F8319322                                                                    ; sub_7FF6F8319130+1E3↑j ...
  331. .text:00007FF6F8319322 32 DB                                  xor     bl, bl
  332. .text:00007FF6F8319324                            ; 111:   *(_BYTE *)(a1_0 + 10988) = v8;
  333. .text:00007FF6F8319324
  334. .text:00007FF6F8319324                            loc_7FF6F8319324:                       ; CODE XREF: sub_7FF6F8319130+1F0↑j
  335. .text:00007FF6F8319324 88 9F EC 2A 00 00                      mov     [rdi+2AECh], bl
  336. .text:00007FF6F831932A                            ; 112:   v9 = 0x849F1772;
  337. .text:00007FF6F831932A 41 BB 72 17 9F 84                      mov     r11d, 849F1772h
  338. .text:00007FF6F8319330                            ; 113:   v10 = 0;
  339. .text:00007FF6F8319330 0F 57 C9                               xorps   xmm1, xmm1
  340.  
  341.  
  342. --------------------------------------------------------------
  343. sample of the beginning of two random opaque predicates. note the registers chosen vary, so a sig for these isn't very useful.
  344.  
  345. .text:00007FF6F682740F 8B 41 28                               mov     eax, [rcx+28h]
  346. .text:00007FF6F6827412 45 33 C0                               xor     r8d, r8d
  347. .text:00007FF6F6827415 65 48 8B 0C 25 30 00 00 00             mov     rcx, gs:30h
  348. .text:00007FF6F682741E 41 B9 E6 2F 39 28                      mov     r9d, 28392FE6h
  349. .text:00007FF6F6827424 44 8B 51 60                            mov     r10d, [rcx+60h]
  350. .text:00007FF6F6827428 B9 2F 32 A3 6E                         mov     ecx, 6EA3322Fh
  351. .text:00007FF6F682742D 0F 1F 00                               nop     dword ptr [rax]
  352. .text:00007FF6F6827430
  353. .text:00007FF6F6827430                            loc_7FF6F6827430:                       ; CODE XREF: sub_7FF6F6827400+1C8↓j
  354. .text:00007FF6F6827430 41 81 F9 8B 03 12 51                   cmp     r9d, 5112038Bh
  355. .text:00007FF6F6827437 0F 87 F5 00 00 00                      ja      loc_7FF6F6827532
  356. .text:00007FF6F682743D 0F 84 C6 00 00 00                      jz      loc_7FF6F6827509
  357. .text:00007FF6F6827443 41 81 F9 E0 A4 64 00                   cmp     r9d, 64A4E0h
  358. .text:00007FF6F682744A 0F 84 AB 00 00 00                      jz      loc_7FF6F68274FB
  359. .text:00007FF6F6827450 41 81 F9 D8 CD 3F 0F                   cmp     r9d, 0F3FCDD8h
  360. .text:00007FF6F6827457 0F 84 8E 00 00 00                      jz      loc_7FF6F68274EB
  361. .text:00007FF6F682745D 41 81 F9 E6 2F 39 28                   cmp     r9d, 28392FE6h
  362. .text:00007FF6F6827464 74 60                                  jz      short loc_7FF6F68274C6
  363. .text:00007FF6F6827466 41 81 F9 FF CF A6 2A                   cmp     r9d, 2AA6CFFFh
  364. .text:00007FF6F682746D 74 29                                  jz      short loc_7FF6F6827498
  365. .text:00007FF6F682746F 41 81 F9 70 2E 22 32                   cmp     r9d, 32222E70h
  366. .text:00007FF6F6827476 0F 85 42 01 00 00                      jnz     loc_7FF6F68275BE
  367. .text:00007FF6F682747C 41 69 C8 AD 0B 00 00                   imul    ecx, r8d, 0BADh
  368. .text:00007FF6F6827483 41 8B D2                               mov     edx, r10d
  369. .text:00007FF6F6827486 81 F2 7B 7C 00 00                      xor     edx, 7C7Bh
  370. .text:00007FF6F682748C 03 D1                                  add     edx, ecx
  371. .text:00007FF6F682748E B9 E5 10 49 C5                         mov     ecx, 0C54910E5h
  372. .text:00007FF6F6827493 E9 22 01 00 00                         jmp     loc_7FF6F68275BA
  373. vs
  374. .text:00007FF6F695410A 44 8B 40 28                            mov     r8d, [rax+28h]
  375. .text:00007FF6F695410E 41 8B D6                               mov     edx, r14d
  376. .text:00007FF6F6954111 65 48 8B 04 25 30 00 00 00             mov     rax, gs:30h
  377. .text:00007FF6F695411A 41 B9 E6 2F 39 28                      mov     r9d, 28392FE6h
  378. .text:00007FF6F6954120 44 8B 50 60                            mov     r10d, [rax+60h]
  379. .text:00007FF6F6954124 B8 2F 32 A3 6E                         mov     eax, 6EA3322Fh
  380. .text:00007FF6F6954129 0F 1F 80 00 00 00 00                   nop     dword ptr [rax+00000000h]
  381. .text:00007FF6F6954130
  382. .text:00007FF6F6954130                            loc_7FF6F6954130:                       ; CODE XREF: sub_7FF6F69540A0+228↓j
  383. .text:00007FF6F6954130 41 81 F9 8B 03 12 51                   cmp     r9d, 5112038Bh
  384. .text:00007FF6F6954137 0F 87 F7 00 00 00                      ja      loc_7FF6F6954234
  385. .text:00007FF6F695413D 0F 84 C8 00 00 00                      jz      loc_7FF6F695420B
  386. .text:00007FF6F6954143 41 81 F9 E0 A4 64 00                   cmp     r9d, 64A4E0h
  387. .text:00007FF6F695414A 0F 84 AD 00 00 00                      jz      loc_7FF6F69541FD
  388. .text:00007FF6F6954150 41 81 F9 D8 CD 3F 0F                   cmp     r9d, 0F3FCDD8h
  389. .text:00007FF6F6954157 0F 84 8F 00 00 00                      jz      loc_7FF6F69541EC
  390. .text:00007FF6F695415D 41 81 F9 E6 2F 39 28                   cmp     r9d, 28392FE6h
  391. .text:00007FF6F6954164 74 60                                  jz      short loc_7FF6F69541C6
  392. .text:00007FF6F6954166 41 81 F9 FF CF A6 2A                   cmp     r9d, 2AA6CFFFh
  393. .text:00007FF6F695416D 74 28                                  jz      short loc_7FF6F6954197
  394. .text:00007FF6F695416F 41 81 F9 70 2E 22 32                   cmp     r9d, 32222E70h
  395. .text:00007FF6F6954176 0F 85 42 01 00 00                      jnz     loc_7FF6F69542BE
  396. .text:00007FF6F695417C 69 C2 AD 0B 00 00                      imul    eax, edx, 0BADh
  397. .text:00007FF6F6954182 41 8B CA                               mov     ecx, r10d
  398. .text:00007FF6F6954185 81 F1 7B 7C 00 00                      xor     ecx, 7C7Bh
  399. .text:00007FF6F695418B 03 C8                                  add     ecx, eax
  400. .text:00007FF6F695418D B8 E5 10 49 C5                         mov     eax, 0C54910E5h
  401. .text:00007FF6F6954192 E9 24 01 00 00                         jmp     loc_7FF6F69542BB
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top