mirror of
https://github.com/stasenso/SHA256.git
synced 2026-06-26 21:32:43 +03:00
Исправно компилируется в DLL, но нет соглашения о вызовах
This commit is contained in:
+41
-27
@@ -1,35 +1,49 @@
|
||||
.386
|
||||
.model flat,stdcall
|
||||
option casemap:none
|
||||
include include\windows.inc
|
||||
include include\user32.inc
|
||||
include include\kernel32.inc
|
||||
includelib user32
|
||||
includelib kernel32
|
||||
|
||||
OPTION DOTNAME
|
||||
include includes\temphls.inc
|
||||
include includes\win64.inc
|
||||
include includes\user32.inc
|
||||
includelib includes\user32.lib
|
||||
OPTION PROLOGUE:none
|
||||
OPTION EPILOGUE:none
|
||||
.data
|
||||
AppName db "DLL Skeleton",0
|
||||
HelloMsg db "Hello, you're calling a function in this DLL",0
|
||||
LoadMsg db "The DLL is loaded",0
|
||||
UnloadMsg db "The DLL is unloaded",0
|
||||
ThreadCreated db "A thread is created in this process",0
|
||||
ThreadDestroyed db "A thread is destroyed in this process",0
|
||||
SHAMsg db "SHA256 is started",0
|
||||
.code
|
||||
DllEntry proc hInstance:HINSTANCE, reason:DWORD, reserved1:DWORD
|
||||
.if reason==DLL_PROCESS_ATTACH
|
||||
invoke MessageBox,NULL,addr LoadMsg,addr AppName,MB_OK
|
||||
.elseif reason==DLL_PROCESS_DETACH
|
||||
invoke MessageBox,NULL,addr UnloadMsg,addr AppName,MB_OK
|
||||
.elseif reason==DLL_THREAD_ATTACH
|
||||
invoke MessageBox,NULL,addr ThreadCreated,addr AppName,MB_OK
|
||||
.else ; DLL_THREAD_DETACH
|
||||
invoke MessageBox,NULL,addr ThreadDestroyed,addr AppName,MB_OK
|
||||
.endif
|
||||
mov eax,TRUE
|
||||
DllMain proc hInstDLL:QWORD, reason:QWORD, unused:QWORD
|
||||
sub rsp,28h
|
||||
.if edx==DLL_PROCESS_ATTACH
|
||||
lea rdx,LoadMsg
|
||||
jmp exit
|
||||
.elseif edx==DLL_PROCESS_DETACH
|
||||
lea rdx,UnloadMsg
|
||||
.endif
|
||||
mov r9d,MB_OK
|
||||
jmp exit
|
||||
DllMain Endp
|
||||
TestHello proc
|
||||
sub rsp,28h
|
||||
lea rdx,HelloMsg
|
||||
mov r9d,MB_OK + MB_ICONERROR
|
||||
exit:: lea r8,AppName
|
||||
xor rcx,rcx
|
||||
call MessageBox
|
||||
add rsp,28h
|
||||
mov rax,TRUE
|
||||
ret
|
||||
DllEntry Endp
|
||||
TestHello proc
|
||||
invoke MessageBox,NULL,addr HelloMsg,addr AppName,MB_OK
|
||||
ret
|
||||
TestHello endp
|
||||
End DllEntry
|
||||
Sha256 proc h_line:QWORD, h_size:QWORD
|
||||
sub rsp,28h
|
||||
;Основа
|
||||
lea rdx,SHAMsg
|
||||
mov r9d,MB_OK + MB_ICONERROR
|
||||
lea r8,AppName
|
||||
xor ecx,ecx
|
||||
call MessageBoxW
|
||||
add rsp,28h
|
||||
mov rax,TRUE
|
||||
ret
|
||||
Sha256 Endp
|
||||
end
|
||||
Reference in New Issue
Block a user