Обработал все события DLLmain. Глючить перестало.

This commit is contained in:
Стас Михайлов WindowsDesktop
2021-02-20 21:30:00 +03:00
parent 44809a1f56
commit 830620a570
3 changed files with 25 additions and 9 deletions
+1
View File
@@ -3,3 +3,4 @@ main.obj
main.exe main.exe
sha-256.obj sha-256.obj
.vscode/tasks.json.etalon .vscode/tasks.json.etalon
sha-256.dll
+24 -9
View File
@@ -6,19 +6,32 @@ includelib includes\user32.lib
OPTION PROLOGUE:none OPTION PROLOGUE:none
OPTION EPILOGUE:none OPTION EPILOGUE:none
.data .data
AppName db "DLL Skeleton",0 AppName dw 0044h,004ch,004ch,0020h,0053h,006bh,0065h,006ch,0065h,0074h,006fh,006eh,0000h
HelloMsg db "Hello, you're calling a function in this DLL",0 HelloMsg dw 0412h,044bh,0437h,0432h,0430h,043dh,0430h,0020h,0444h,0443h,043dh,043ah,0446h,0438h,044fh,0020h,0054h,0065h,0073h,0074h,0048h,0065h,006ch,006ch,006fh,0000h
LoadMsg db "The DLL is loaded",0 LoadMsg dw 0044h,004ch,004ch,0020h,0417h,0430h,0433h,0440h,0443h,0436h,0435h,043dh,0430h,0000h
UnloadMsg db "The DLL is unloaded",0 UnloadMsg dw 0044h,004ch,004ch,0020h,0432h,044bh,0433h,0440h,0443h,0436h,0435h,043dh,0430h,0000h
SHAMsg db "SHA256 is started",0 SHAMsg dw 0053h,0048h,0041h,0032h,0035h,0036h,0020h,0417h,0430h,043fh,0443h,0449h,0435h,043dh,0430h,0021h,0000h ;"SHA256 Запущена!"
DllAtata dw 041dh,0435h,043eh,0436h,0438h,0434h,0430h,043dh,043dh,043eh,0020h,043fh,0440h,0438h,043bh,0435h,0442h,0435h,043bh,0020h,0044h,004ch,004ch,005fh,0054h,0048h,0052h,0045h,0041h,0044h,005fh,0041h,0054h,0054h,0041h,0043h,0048h,0000h
DllDetata dw 041dh,0435h,043eh,0436h,0438h,0434h,0430h,043dh,043dh,043eh,0020h,043fh,0440h,0438h,043bh,0435h,0442h,0435h,043bh,0020h,0044h,004ch,004ch,005fh,0050h,0052h,004fh,0043h,0045h,0053h,0053h,005fh,0044h,0045h,0054h,0041h,0043h,0048h,0000h
.code .code
DllMain proc hInstDLL:QWORD, reason:QWORD, unused:QWORD DllMain proc hInstDLL:QWORD, reason:QWORD, unused:QWORD
;push rbp
;mov rbp,rsp
sub rsp,28h sub rsp,28h
.if edx==DLL_PROCESS_ATTACH .if edx==DLL_PROCESS_ATTACH
lea rdx,LoadMsg lea rdx,LoadMsg
jmp exit
.elseif edx==DLL_PROCESS_DETACH .elseif edx==DLL_PROCESS_DETACH
lea rdx,UnloadMsg lea rdx,UnloadMsg
.elseif edx==DLL_THREAD_ATTACH
;lea rdx,DllAtata
add rsp,28h
xor rax,rax
ret
.elseif edx==DLL_THREAD_DETACH
;lea rdx,DllDetata
add rsp,28h
xor rax,rax
ret
.endif .endif
mov r9d,MB_OK mov r9d,MB_OK
jmp exit jmp exit
@@ -29,7 +42,9 @@ TestHello proc
mov r9d,MB_OK + MB_ICONERROR mov r9d,MB_OK + MB_ICONERROR
exit:: lea r8,AppName exit:: lea r8,AppName
xor rcx,rcx xor rcx,rcx
call MessageBox call MessageBoxW
;mov rsp,rbp
;pop rbp
add rsp,28h add rsp,28h
mov rax,TRUE mov rax,TRUE
ret ret
@@ -39,11 +54,11 @@ sub rsp,28h
;Основа ;Основа
lea rdx,SHAMsg lea rdx,SHAMsg
mov r9d,MB_OK + MB_ICONERROR mov r9d,MB_OK + MB_ICONERROR
lea r8,AppName lea r8,SHAMsg
xor ecx,ecx xor ecx,ecx
call MessageBoxW call MessageBoxW
add rsp,28h add rsp,28h
mov rax,TRUE xor rax,rax
ret ret
Sha256 Endp Sha256 Endp
end end
BIN
View File
Binary file not shown.