Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #REGION .:: SCRIPT NAME = SPOOF EXTENSION V 1.0 ::.
- #REGION .:: SCRIPT CODER = PIRATE-INC (C) , RIGHT RESERVED TO : DARKCODER-SC SPOOF EXTENSION ::.
- #INCLUDE <STRING.AU3>
- #INCLUDE "FILECONSTANTS.AU3"
- #INCLUDE <FILE.AU3>
- #INCLUDE <WINAPI.AU3>
- OPT ('MUSTDECLAREVARS',1)
- CALL ("__INIT")
- FUNC __INIT ()
- LOCAL $SELECT_PATH
- LOCAL $NAME = "Name-here"
- LOCAL $EXTENSION = "ext"
- $SELECT_PATH = FILEOPENDIALOG ("","", "Files (*.*)", 1)
- IF $SELECT_PATH <> "" THEN CALL ("__SPOFF",$SELECT_PATH,$NAME,$EXTENSION)
- ENDFUNC
- FUNC __SPOFF ($F_PATH,$F_NAME,$F_EXTENSION,$BACKUP = TRUE)
- LOCAL CONST $SPOOF_HEADER = "0XFFFE"
- LOCAL CONST $SPOOF_FOOTER = "0X2E20"
- LOCAL CONST $MAX_PATH = 0XFF
- LOCAL $F_NAME_FINAL,$F_NAME_STRUCT,$F_NAME_POINTRE,$FILE_H,$FILE_D,$NEW_FILE_H,$F_DATA_STRUCT,$F_DATA_POINTRE
- LOCAL $F_PATH_SPILTED
- LOCAL $SZDRIVE,$SZDIR,$SZFNAME,$SZEXT
- LOCAL $IWRITTEN
- $FILE_H = FILEOPEN ($F_PATH,16)
- IF $FILE_H = -1 THEN
- $F_NAME_STRUCT = 0
- RETURN
- ENDIF
- $FILE_D = FILEREAD ($FILE_H)
- $F_PATH_SPILTED = _PATHSPLIT ($F_PATH,$SZDRIVE,$SZDIR,$SZFNAME,$SZEXT)
- $F_NAME_FINAL = STRINGTOBINARY ($SZDRIVE&$SZDIR,2) & $SPOOF_HEADER & STRINGTOBINARY ($F_NAME,2) & $SPOOF_FOOTER & STRINGTOBINARY ( _STRINGREVERSE ($F_EXTENSION),2) & STRINGTOBINARY ( $SZEXT,2)
- $F_NAME_FINAL = "0X" & STRINGREPLACE ($F_NAME_FINAL,"0X","",0)
- $F_NAME_STRUCT = DLLSTRUCTCREATE ("BYTE SFILENAME["& $MAX_PATH*2 &"]")
- DLLSTRUCTSETDATA ($F_NAME_STRUCT,"SFILENAME",BINARY ($F_NAME_FINAL))
- $F_NAME_POINTRE = DLLSTRUCTGETPTR ($F_NAME_STRUCT,"SFILENAME")
- $F_DATA_STRUCT = DLLSTRUCTCREATE ("BYTE SFILEDATA["& BINARYLEN($FILE_D) &"]")
- DLLSTRUCTSETDATA ($F_DATA_STRUCT,"SFILEDATA",$FILE_D)
- $F_DATA_POINTRE = DLLSTRUCTGETPTR ($F_DATA_STRUCT,"SFILEDATA")
- IF $BACKUP = TRUE THEN FILECOPY ($F_PATH,$F_PATH&".backup")
- $NEW_FILE_H = CALL ("__WINAPI_CREATEFILEEX",$F_NAME_POINTRE,1)
- _WINAPI_WRITEFILE ($NEW_FILE_H,$F_DATA_POINTRE,BINARYLEN ($FILE_D),$IWRITTEN)
- FILECLOSE ($FILE_H)
- _WINAPI_CLOSEHANDLE ($NEW_FILE_H)
- $F_NAME_STRUCT = 0
- $F_DATA_STRUCT = 0
- ENDFUNC
- FUNC __WINAPI_CREATEFILEEX ($SFILENAME, $ICREATION, $IACCESS = 4, $ISHARE = 0, $IATTRIBUTES = 0, $PSECURITY = 0)
- LOCAL $IDA = 0, $ISM = 0, $ICD = 0, $IFA = 0
- IF BITAND ($IACCESS, 1) <> 0 THEN $IDA = BITOR ($IDA, $GENERIC_EXECUTE)
- IF BITAND ($IACCESS, 2) <> 0 THEN $IDA = BITOR ($IDA, $GENERIC_READ)
- IF BITAND ($IACCESS, 4) <> 0 THEN $IDA = BITOR ($IDA, $GENERIC_WRITE)
- IF BITAND ($ISHARE, 1) <> 0 THEN $ISM = BITOR ($ISM, $FILE_SHARE_DELETE)
- IF BITAND ($ISHARE, 2) <> 0 THEN $ISM = BITOR ($ISM, $FILE_SHARE_READ)
- IF BITAND ($ISHARE, 4) <> 0 THEN $ISM = BITOR ($ISM, $FILE_SHARE_WRITE)
- SWITCH $ICREATION
- CASE 0
- $ICD = $CREATE_NEW
- CASE 1
- $ICD = $CREATE_ALWAYS
- CASE 2
- $ICD = $OPEN_EXISTING
- CASE 3
- $ICD = $OPEN_ALWAYS
- CASE 4
- $ICD = $TRUNCATE_EXISTING
- ENDSWITCH
- IF BITAND($IATTRIBUTES, 1) <> 0 THEN $IFA = BITOR($IFA, $FILE_ATTRIBUTE_ARCHIVE)
- IF BITAND($IATTRIBUTES, 2) <> 0 THEN $IFA = BITOR($IFA, $FILE_ATTRIBUTE_HIDDEN)
- IF BITAND($IATTRIBUTES, 4) <> 0 THEN $IFA = BITOR($IFA, $FILE_ATTRIBUTE_READONLY)
- IF BITAND($IATTRIBUTES, 8) <> 0 THEN $IFA = BITOR($IFA, $FILE_ATTRIBUTE_SYSTEM)
- LOCAL $ARESULT = DLLCALL("KERNEL32.DLL", "HANDLE", "CreateFileW", "PTR", $SFILENAME, "DWORD", $IDA, "DWORD", $ISM, "PTR", $PSECURITY, "DWORD", $ICD, "DWORD", $IFA, "PTR", 0)
- IF @ERROR OR $ARESULT[0] = PTR(-1) THEN RETURN SETERROR(@ERROR, @EXTENDED, 0)
- RETURN $ARESULT[0]
- ENDFUNC
Advertisement
Add Comment
Please, Sign In to add comment