#Include #include #include $GUI = GUICreate("File Hidder", 400, 560) ;$hide = GUICtrlCreateButton("Hide File",60,10,80) ;$extract = GUICtrlCreateButton("Extract File",60,60,80) GUISetState(@SW_SHOW) $input1 = GUICtrlCreateInput ("", 100, 5 ,200) $input2 = GUICtrlCreateInput ("", 100, 30 ,200) $input3 = GUICtrlCreateInput ("", 100, 200 ,200) GUICtrlCreateLabel("Visable File:",10,7) GUICtrlCreateLabel("File to Hide:",10,32) GUICtrlCreateLabel("VisableFile:",10,202) $browse1 = GUICtrlCreateButton("Browse",320,5,70) $browse2 = GUICtrlCreateButton("Browse",320,30,70) $browse3 = GUICtrlCreateButton("Browse",320,198,70) $hide = GUICtrlCreateButton("Hide",150,55,100) $extract = GUICtrlCreateButton("Extract",150,530,100) Global $files = GUICtrlCreateListView("", 5, 225, 390, 300) _GUICtrlListView_InsertColumn($files, 0, "Files", 386) Opt("GuiOnEventMode", 1) GUISetOnEvent($GUI_EVENT_CLOSE, "_Quit") GUICtrlSetOnEvent($hide,"_Hide") GUICtrlSetOnEvent($extract,"_Extract") GUICtrlSetOnEvent($browse1,"_Browse") GUICtrlSetOnEvent($browse2,"_Browse") GUICtrlSetOnEvent($browse3,"_Browse") While 1 Sleep(50) WEnd Func _Hide() $visableFile = GUICtrlRead($input1) $hiddenFile = GUICtrlRead($input2) If FileExists($visableFile) and FileExists($hiddenFile) Then _SaveHiddenFile($visableFile,$hiddenFile) Else Msgbox(-1,"Error","File Does Not Exist!") EndIf EndFunc Func _Extract() $visableFile = GUICtrlRead($input3) $mark = _GUICtrlListView_GetSelectionMark(GUICtrlGetHandle($files)) $fileName = _GUICtrlListView_GetItemText(GUICtrlGetHandle($files), $mark) msgbox(-1,"fileName",$fileName) If FileExists($visableFile) Then _ExtractHiddenFile($visableFile,$fileName) Else Msgbox(-1,"Error","File Does Not Exist!") EndIf EndFunc Func _Browse() $file = FileOpenDialog ( "Browse...", @ScriptDir, "All (*.*)" , 1 , "" ,$GUI) Switch @GUI_CtrlId Case $browse1 GUICtrlSetData($input1,$file) Case $browse2 GUICtrlSetData($input2,$file) Case $browse3 GUICtrlSetData($input3,$file) $read = FileRead($file & ":hiddenFiles") $buf = StringSplit($read,"\") _GUICtrlListView_BeginUpdate($files) _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($files)) For $n = 2 to $buf[0] If $buf[$n] <> "" Then _GUICtrlListView_AddItem($files, $buf[$n],0) EndIf Next _GUICtrlListView_EndUpdate($files) EndSwitch EndFunc Func _SaveHiddenFile($visableFile,$hiddenFile) $buf = StringSplit($hiddenFile,"\") $fileName = $buf[$buf[0]] $buf = StringSplit($filename,".") $streamName = $buf[1] $read = FileRead($visableFile & ":hiddenFiles") $buf = StringSplit($read,"\") $nameExists = False For $n = 2 to $buf[0] If $buf[$n] = $fileName Then $nameExists = True ExitLoop EndIf Next If $nameExists = False Then FileWrite($visableFile & ":hiddenFiles", "\" & $fileName) ;Write File Name To File List EndIf $injectFile = FileOpen($hiddenFile,16) $inject = FileRead($injectFile) FileClose(FileOpen($visableFile & ":" & $streamName, 2)) ;Clear Stream If File Already Stored There FileWrite($visableFile & ":" & $streamName, $inject) FileClose($injectFile) Msgbox(-1,"Success","File Hidden Successfully") EndFunc Func _ExtractHiddenFile($visableFile,$fileName) $buf = StringSplit($fileName,".") $streamName = $buf[1] $extensionName = $buf[2] $injectReadFile = FileOpen($visableFile & ":" & $streamName,16) $injectRead = FileRead($injectReadFile) FileClose($injectReadFile) $n = 1 While FileExists(@ScriptDir & "\" & $fileName) $fileName = $streamName & $n & "." & $extensionName $n +=1 WEnd $extractedFile = FileOpen(@ScriptDir & "\" & $fileName,18) FileWrite($extractedFile,$injectRead) FileClose($extractedFile) Msgbox(-1,"Success","File Extracted Successfully: " & $fileName) EndFunc Func _Quit() Exit EndFunc