NO

Author Topic: A Secure delete file function  (Read 354 times)

Offline HellOfMice

  • Member
  • *
  • Posts: 245
  • Never be pleased, always improve
A Secure delete file function
« on: December 18, 2024, 08:10:49 PM »
Code: [Select]
;   **********************************************************************************
;   ***************************** FileSecureDelete ***********************************
;   **********************************************************************************
               ALIGN   16

FileSecureDelete         PROC   USES RDI __lpszFileName:LPSTR PARMAREA = 4 * QWORD
               LOCAL   _szTmp[MAX_PATH + 4]:BYTE
               LOCAL   _Sh:SHFILEOPSTRUCT

               jrcxz   @Error

               mov   rdi,rcx
               call   PathFileExistsA

               test   eax,eax
               jz   @EndOfFunction

               lea   rcx,_Sh
               mov   edx,SIZEOF SHFILEOPSTRUCT
               call   MemSetTo0

               lea   rcx,_szTmp         ; Doit etre terminee par un double '\0'
               mov   edx,SIZEOF _szTmp
               call   MemSetTo0

               mov   rcx,rax
               mov   rdx,rdi
               call   lstrcpyA

               mov   _Sh.wFunc,FO_DELETE ;
               mov   _Sh.pFrom,rax
               mov   _Sh.fFlags,FOF_ALLOWUNDO or FOF_FILESONLY or FOF_NOCONFIRMATION or FOF_NOERRORUI or FOF_SILENT or FOF_NORECURSION ;

               lea   rcx,_Sh
               call   SHFileOperationA

               and   eax,00000000ffffffffh
               jnz   @Error

               inc   eax
               Ret
;   ===========================================================================================
;   ===========================================================================================
               ALIGN   16
@Error :
               xor   eax,eax
               ret

;   ===========================================================================================
;   ===========================================================================================

               ALIGN   16
@EndOfFunction :
               ret
FileSecureDelete         ENDP
« Last Edit: December 18, 2024, 08:12:49 PM by HellOfMice »
--------------------------------
Kenavo

Offline Vortex

  • Member
  • *
  • Posts: 916
    • http://www.vortex.masmcode.com
Re: A Secure delete file function
« Reply #1 on: December 18, 2024, 08:19:49 PM »
Hi Philippe,

There are two references to the MemSetTo0 function.
Code it... That's all...

Offline HellOfMice

  • Member
  • *
  • Posts: 245
  • Never be pleased, always improve
Re: A Secure delete file function
« Reply #2 on: December 18, 2024, 08:27:32 PM »
MemSet0 is a function written by AMD
I join it

--------------------------------
Kenavo