Pirate-inc

EXT-SPOOFER [DEV-POINT.COM]

Mar 15th, 2012
948
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 3.43 KB | None | 0 0
  1. #REGION .:: SCRIPT NAME  = SPOOF EXTENSION  V 1.0 ::.
  2. #REGION .:: SCRIPT CODER = PIRATE-INC (C) , RIGHT RESERVED TO : DARKCODER-SC SPOOF EXTENSION ::.
  3.  
  4. #INCLUDE <STRING.AU3>
  5. #INCLUDE "FILECONSTANTS.AU3"
  6. #INCLUDE <FILE.AU3>
  7. #INCLUDE <WINAPI.AU3>
  8.  
  9.  
  10. OPT  ('MUSTDECLAREVARS',1)
  11.  
  12. CALL ("__INIT")
  13.  
  14. FUNC __INIT ()
  15.  
  16. LOCAL $SELECT_PATH
  17. LOCAL $NAME = "Name-here"
  18. LOCAL $EXTENSION = "ext"
  19.  
  20. $SELECT_PATH  = FILEOPENDIALOG ("","", "Files (*.*)", 1)
  21. IF $SELECT_PATH <> "" THEN  CALL ("__SPOFF",$SELECT_PATH,$NAME,$EXTENSION)
  22.  
  23. ENDFUNC
  24.  
  25. FUNC __SPOFF ($F_PATH,$F_NAME,$F_EXTENSION,$BACKUP = TRUE)
  26.  
  27. LOCAL CONST $SPOOF_HEADER = "0XFFFE"
  28. LOCAL CONST $SPOOF_FOOTER = "0X2E20"
  29. LOCAL CONST $MAX_PATH = 0XFF
  30. LOCAL $F_NAME_FINAL,$F_NAME_STRUCT,$F_NAME_POINTRE,$FILE_H,$FILE_D,$NEW_FILE_H,$F_DATA_STRUCT,$F_DATA_POINTRE
  31. LOCAL $F_PATH_SPILTED
  32. LOCAL $SZDRIVE,$SZDIR,$SZFNAME,$SZEXT
  33. LOCAL $IWRITTEN
  34.  
  35.  
  36. $FILE_H = FILEOPEN ($F_PATH,16)
  37. IF  $FILE_H = -1 THEN
  38.     $F_NAME_STRUCT = 0
  39.     RETURN
  40. ENDIF
  41.  
  42. $FILE_D = FILEREAD ($FILE_H)
  43. $F_PATH_SPILTED = _PATHSPLIT ($F_PATH,$SZDRIVE,$SZDIR,$SZFNAME,$SZEXT)
  44. $F_NAME_FINAL = STRINGTOBINARY ($SZDRIVE&$SZDIR,2) & $SPOOF_HEADER & STRINGTOBINARY ($F_NAME,2) & $SPOOF_FOOTER & STRINGTOBINARY ( _STRINGREVERSE ($F_EXTENSION),2) & STRINGTOBINARY ( $SZEXT,2)
  45. $F_NAME_FINAL = "0X" & STRINGREPLACE ($F_NAME_FINAL,"0X","",0)
  46.  
  47. $F_NAME_STRUCT = DLLSTRUCTCREATE ("BYTE SFILENAME["& $MAX_PATH*2 &"]")
  48. DLLSTRUCTSETDATA ($F_NAME_STRUCT,"SFILENAME",BINARY ($F_NAME_FINAL))
  49. $F_NAME_POINTRE = DLLSTRUCTGETPTR ($F_NAME_STRUCT,"SFILENAME")
  50.  
  51. $F_DATA_STRUCT = DLLSTRUCTCREATE ("BYTE SFILEDATA["& BINARYLEN($FILE_D) &"]")
  52. DLLSTRUCTSETDATA ($F_DATA_STRUCT,"SFILEDATA",$FILE_D)
  53. $F_DATA_POINTRE = DLLSTRUCTGETPTR ($F_DATA_STRUCT,"SFILEDATA")
  54.  
  55. IF $BACKUP = TRUE THEN FILECOPY ($F_PATH,$F_PATH&".backup")
  56. $NEW_FILE_H = CALL ("__WINAPI_CREATEFILEEX",$F_NAME_POINTRE,1)
  57. _WINAPI_WRITEFILE ($NEW_FILE_H,$F_DATA_POINTRE,BINARYLEN ($FILE_D),$IWRITTEN)
  58.  
  59. FILECLOSE ($FILE_H)
  60. _WINAPI_CLOSEHANDLE ($NEW_FILE_H)
  61. $F_NAME_STRUCT = 0
  62. $F_DATA_STRUCT = 0
  63. ENDFUNC
  64.  
  65.  
  66.  
  67. FUNC __WINAPI_CREATEFILEEX ($SFILENAME, $ICREATION, $IACCESS = 4, $ISHARE = 0, $IATTRIBUTES = 0, $PSECURITY = 0)
  68.  
  69.  
  70. LOCAL $IDA = 0, $ISM = 0, $ICD = 0, $IFA = 0
  71.  
  72. IF BITAND ($IACCESS, 1) <> 0 THEN $IDA = BITOR ($IDA, $GENERIC_EXECUTE)
  73. IF BITAND ($IACCESS, 2) <> 0 THEN $IDA = BITOR ($IDA, $GENERIC_READ)
  74. IF BITAND ($IACCESS, 4) <> 0 THEN $IDA = BITOR ($IDA, $GENERIC_WRITE)
  75.  
  76. IF BITAND  ($ISHARE, 1)  <> 0 THEN $ISM = BITOR ($ISM, $FILE_SHARE_DELETE)
  77. IF BITAND  ($ISHARE, 2)  <> 0 THEN $ISM = BITOR ($ISM, $FILE_SHARE_READ)
  78. IF BITAND  ($ISHARE, 4)  <> 0 THEN $ISM = BITOR ($ISM, $FILE_SHARE_WRITE)
  79.  
  80. SWITCH $ICREATION
  81.     CASE 0
  82.         $ICD = $CREATE_NEW
  83.     CASE 1
  84.         $ICD = $CREATE_ALWAYS
  85.     CASE 2
  86.         $ICD = $OPEN_EXISTING
  87.     CASE 3
  88.         $ICD = $OPEN_ALWAYS
  89.     CASE 4
  90.         $ICD = $TRUNCATE_EXISTING
  91. ENDSWITCH
  92.  
  93. IF BITAND($IATTRIBUTES, 1) <> 0 THEN $IFA = BITOR($IFA, $FILE_ATTRIBUTE_ARCHIVE)
  94. IF BITAND($IATTRIBUTES, 2) <> 0 THEN $IFA = BITOR($IFA, $FILE_ATTRIBUTE_HIDDEN)
  95. IF BITAND($IATTRIBUTES, 4) <> 0 THEN $IFA = BITOR($IFA, $FILE_ATTRIBUTE_READONLY)
  96. IF BITAND($IATTRIBUTES, 8) <> 0 THEN $IFA = BITOR($IFA, $FILE_ATTRIBUTE_SYSTEM)
  97.  
  98. LOCAL $ARESULT = DLLCALL("KERNEL32.DLL", "HANDLE", "CreateFileW", "PTR", $SFILENAME, "DWORD", $IDA, "DWORD", $ISM, "PTR", $PSECURITY, "DWORD", $ICD, "DWORD", $IFA, "PTR", 0)
  99. IF @ERROR OR $ARESULT[0] = PTR(-1) THEN RETURN SETERROR(@ERROR, @EXTENDED, 0)
  100. RETURN $ARESULT[0]
  101. ENDFUNC
Advertisement
Add Comment
Please, Sign In to add comment