35 lines
587 B
NASM
35 lines
587 B
NASM
BITS 64
|
|
|
|
main: ; Replacement entry point
|
|
push rsi
|
|
|
|
|
|
call GetKernel32ModuleHandle
|
|
mov rsi, rax ; kernel32.dll
|
|
|
|
mov rcx, rax
|
|
call GetAddressOf_GetProcAddress
|
|
|
|
|
|
mov rcx, rsi ; kernel32.dll
|
|
lea rdx, [rel s_LoadLibraryW]
|
|
call rax ; rax = *LoadLibraryW
|
|
|
|
lea rcx, [rel dllPath]
|
|
call rax ; LoadLibraryA(dllPath)
|
|
|
|
|
|
pop rsi
|
|
ret
|
|
|
|
|
|
%include "gpa.asm"
|
|
|
|
|
|
; Strings
|
|
s_LoadLibraryW: db "LoadLibraryW", 0
|
|
|
|
dllPath:
|
|
; This will be filled out by the injector
|
|
; Path to the dll to inject into the launcher
|