Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Dragokas
Эксперт WindowsАвтор FAQ
17069 / 7124 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
1

WiLD: Основной код и вспомогательные утилиты

10.01.2013, 15:41. Просмотров 906. Ответов 9
Метки нет (Все метки)

Составная тема проекта WiLD: Создание комплексной утилиты противодействия вирусам семейства WinLocker (WiLD)

Ниже будут выкладываться коды и полезные утилиты,
которые могут быть использованы в этом проекте.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2013, 15:41
Ответы с готовыми решениями:

Создание комплексной утилиты противодействия вирусам семейства WinLocker (WiLD)
Открытый некоммерческий проект W i L D - WinLock Defender ...

Ключи запуска программ, вспомогательные утилиты (Windows Resource Kit, Support Tools)
1) Вспомогательные консольные утилиты: Windows Resourse Kit + Support Tools тема GNUWin32...

Внутри программы на C# выполнить JS код и передать результаты в основной код C#
Добрый день. Требуется внутри программы на C# выполнить JS код и передать результаты в основной код...

Киньте код какой нибудь простейшей утилиты на С++
Здравствуйте, очень нужна помощь, мне для проведения пары нужна простейшая утилита для Windows...

Где писать основной код в
Дали задание написать код шифрования и дешифрования Виженера, оформить все это в форме. С формами...

9
Kиpилл
Особый статус
Эксперт WindowsВирусоборец
8299 / 1650 / 78
Регистрация: 15.04.2011
Сообщений: 5,399
30.03.2013, 09:41 2
Проверка целостности системных файлов утилитой sfc /scannow с выводом лога и автоопределением месторасположения диска.

Автор: Koza Nozdri
Совместимость: Windows Vista/7/8, XP ,2003,2000.

Для Windows Vista/7/8 bat запускать: правой кнопкой мыши- запустить с правами администратора.
Для Windows XP ,2003,2000 -просто запускаем.

Вложение 250028

Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
@echo off
Chcp 1251 >nul
title  Проверка целостности системных файлов утилитой  sfc/scannow.
 
SET Version=Unknown
 
VER | FINDSTR /IL "5.0" > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 2000"
 
VER | FINDSTR /IL "5.1." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows XP"
 
VER | FINDSTR /IL "5.2." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 2003"
 
VER | FINDSTR /IL "6.0." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows Vista"
 
VER | FINDSTR /IL "6.1." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 7"
 
VER | FINDSTR /IL "6.2." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 8"
 
Chcp 866 >nul
Echo Your operating system %VERSION%
 
ping 127.0.0.1 -n 6 > nul
 
IF %VERSION% == "Windows XP" GOTO XP
IF %VERSION% == "Windows 2000" GOTO XP
IF %VERSION% == "Windows 2003" GOTO XP
IF %VERSION% == "Windows Vista" GOTO WIN7
IF %VERSION% == "Windows 7" GOTO WIN7
IF %VERSION% == "Windows 8" GOTO WIN7
 
GOTO Unknown
 
:WIN7
echo off &Chcp 1251 >nul
echo please wait...
msg * ВНИМАНИЕ!Сейчас будет запущена проверка системных файлов на целостность.Не выключайте компьютер и не закрывайте окно консоли пока не закончится проверка.
ping 127.0.0.1 -n 10 > nul
echo please wait...
msg * Если процесс проверки завис на каком то одном проценте более 15 минут -закройте окно командной строки и сообщите об этом хэлперу.Если у вас есть диск с вашей операционной системой Windows -вставьте его в дисковод,затем нажмите ОК ,потом любую клавишу.
chcp 866 >nul
ping 127.0.0.1 -n 10 > nul
pause
sfc /scannow
 
Chcp 1251 >nul
msg * Проверка завершена,теперь на рабочем столе будет создана папка "SafeZone",в папке лежит файл Sfcdetalis.txt-прикрепите его на форум к вашему сообщению.
chcp 866 >nul
if exist %USERPROFILE%\Desktop\SafeZone. (findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log>%USERPROFILE%\Desktop\SafeZone\sfcdetails.txt) else (MKDIR %USERPROFILE%\Desktop\SafeZone&findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log>%USERPROFILE%\Desktop\SafeZone\sfcdetails.txt)
Chcp 1251 >nul
msg * Бесплатное лечение вирусов и помощь в решении проблем с операционными системами [url]www.SafeZone.cc[/url] 
chcp 866 >nul
 
GOTO FINISH
 
:XP
echo off &Chcp 1251 >nul 
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
if not exist %cdrom%\win51.* (chcp 1251 >nul& msg * Вам необходимо вставить диск с вашей копией Windows XP и запустить файл заново,либо смонтировать образ диска в виртуальный привод!& chcp 866>nul&exit) else goto koz
 
:koz
 
 
chcp 1251 >nul
echo Сохраняю резервную копию реестра...
reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" %systemdrive%\install.reg
echo Проверяю путь к диску...
echo Устанавливаю значения реестра...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v ServicePackSourcePath /t reg_sz /d %cdrom%\ /f
echo Устанавливаю значения реестра...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "Installation Sources" /t reg_sz /d %cdrom%\ /f
echo Устанавливаю значения реестра...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v SourcePath /t reg_sz /d %cdrom%\ /f
 
 
msg * Дождитесь окончания проверки,потом нажмите любую клавишу(кликнув мышью по окну консоли сделайте его активным).Если проверка остановилась на одном месте более 15 минут -сообщите хэлперу.
chcp 866 >nul
ping 127.0.0.1 -n 3 >nul
sfc /scannow
pause
 
reg import %systemdrive%\install.reg 
del /q %systemdrive%\install.reg 
 
 
GOTO FINISH
 
:FINISH
 
echo "Koza Nozdri & SafeZone.cc"
ping 127.0.0.1 -n 10 > nul
GOTO END
 
:UNKNOWN
chcp 1251>nul
echo Не удалось определить операционную систему.
chcp 866>nul
pause
goto END
 
:END
exit
2
Вложения
Тип файла: rar Выполнить проверку sfc_scannow.rar (1.6 Кб, 28 просмотров)
Eva Rosalene
Ladybug
4057 / 1595 / 304
Регистрация: 06.01.2013
Сообщений: 4,190
Завершенные тесты: 2
13.05.2013, 13:14 3
Цитата Сообщение от Dragokas Посмотреть сообщение
Ну можно еще последовательным перебором всех символов, но это медленно:
Вроде можно так, это быстрее для больших строк
Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
setlocal enabledelayedexpansion
set before=one~word
call :deletes "%before%" "~" "after"
echo.%after%
pause>nul
exit /b
 
:deletes
setlocal
set tmp=%~1
set str=
:deletes_
for /f "usebackq tokens=1* delims=%~2" %%A IN ('!tmp!') DO (
 set str=!str!%%A
 set tmp=%%B
)
if not "%tmp%"=="" (goto :deletes_)
endlocal&set %~3=%str%
exit /b


На основе этого можно сделать replace
Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
setlocal enabledelayedexpansion
set before=one~word
call :deletes "%before%" "~" "$" "after"
echo.%after%
pause>nul
exit /b
 
:deletes
setlocal
set tmp=%~1
set str=
:deletes_
for /f "usebackq tokens=1* delims=%~2" %%A IN ('!tmp!') DO (
 if "!str!"=="" (set str=!str!%%A) else (set str=!str!%~3%%A)
 set tmp=%%B
)
if not "%tmp%"=="" (goto :deletes_)
endlocal&set %~4=%str%
exit /b


Но в этом случае строка идущих подряд символов распознается как один символ, и ~~~~ превратится в $
0
Kиpилл
Особый статус
Эксперт WindowsВирусоборец
8299 / 1650 / 78
Регистрация: 15.04.2011
Сообщений: 5,399
14.05.2013, 17:29 4
Eugene1992, давайте так.


1)Сначала нужно определить какая версия ОС установлена,для этого воспользуемся скриптом такого плана:
Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@echo off
Chcp 1251 >nul
title Проверка на наличие winlock.
 
SET Version=Unknown
 
VER | FINDSTR /IL "5.0" > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 2000"
 
VER | FINDSTR /IL "5.1." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows XP"
 
VER | FINDSTR /IL "5.2." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 2003"
 
VER | FINDSTR /IL "6.0." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows Vista"
 
VER | FINDSTR /IL "6.1." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 7"
 
VER | FINDSTR /IL "6.2." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 8"
 
Chcp 866 >nul
Echo Your operating system %VERSION%
 
ping 127.0.0.1 -n 6 > nul
 
IF %VERSION% == "Windows XP" GOTO XP
IF %VERSION% == "Windows 2000" GOTO XP
IF %VERSION% == "Windows 2003" GOTO XP
IF %VERSION% == "Windows Vista" GOTO WIN7
IF %VERSION% == "Windows 7" GOTO WIN7
IF %VERSION% == "Windows 8" GOTO WIN7
 
GOTO Unknown
 
GOTO XP
 
GOTO WIN7

Далее нам необходимо проверить злачные места,которые любят винлокеры:

Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
set shell=Explorer.exe
set userinit=C:\WINDOWS\system32\userinit.exe
set UIHost=logonui.exe 
 
echo| reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v shell
echo| reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit
echo| reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v UIHost
 
::дальше не буду эксперементировать прошу помочь Draкogas
::если значения не равны заданным переменным,то задаем эти значения.
::так же осуществляем поиск фейков в 
"HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v shell
"HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit
"HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v UIHost
 
И удаляем их нафиг,все с занесением в протокол.
Прежние значения так же задаем в виде переменной для рекурсивного поиска в разделах
HKU
HKCU
HKLM
HKCR

Это четверть бат файла,для продолжения давайте правильно составим эту часть.
0
14.05.2013, 17:29
sov44
1761 / 745 / 128
Регистрация: 09.04.2011
Сообщений: 1,318
14.05.2013, 21:29 5
Не правильным путём идёте товарищи
Не нужно проверять записи в реестре, достаточно их просто переписать и проверить контрольные суммы исполнительных файлов (подмена ведь не тоже возможна)
Выдернул из старых сборок AntiSMS файлы, которые проверял Simplix
0
Вложения
Тип файла: 7z FILES.7Z (3.13 Мб, 13 просмотров)
sov44
1761 / 745 / 128
Регистрация: 09.04.2011
Сообщений: 1,318
14.05.2013, 21:38 6
Подборка системных файлов из текущей версии -
2
Вложения
Тип файла: 7z SYSFILES.7z (5.68 Мб, 15 просмотров)
Kиpилл
Особый статус
Эксперт WindowsВирусоборец
8299 / 1650 / 78
Регистрация: 15.04.2011
Сообщений: 5,399
15.05.2013, 04:46 7
Цитата Сообщение от Dragokas Посмотреть сообщение
чему = %windir% при запуске батника в среде LiveCD ?
x:\windows

Запускать батник будем из под системы,это будет происходить каждый раз при выключении компа.
Тут нужно думаю вшить в бат типа такого (else найдены признаки заражения)
Bash
1
2
3
echo msgbox Внимание!!!Были обнаружены изменения системных файлов,возможно Ваш компьютер заражен,сейчас будет выполнена диагностика,отчет смторите в логе там то там то >%systemdrive%\logwinlock.vbs
start %systemdrive%\logwinlock.vbs
del /q %systemdrive%\logwinlock.vbs
Цитата Сообщение от Dragokas Посмотреть сообщение
if defined Task_XP sfc /Scanfile="%windir%\system32\logonui.exe"
Так не пойдет,тут нужно вот так:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
:XP
echo off &Chcp 1251 >nul 
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
if not exist %cdrom%\win51.* (chcp 1251 >nul& msg * Вам необходимо вставить диск с вашей копией Windows XP и запустить файл заново,либо смонтировать образ диска в виртуальный привод!& chcp 866>nul&exit) else goto koz
 
:koz
 
 
chcp 1251 >nul
echo Сохраняю резервную копию реестра...
reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" %systemdrive%\install.reg
echo Проверяю путь к диску...
echo Устанавливаю значения реестра...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v ServicePackSourcePath /t reg_sz /d %cdrom%\ /f
echo Устанавливаю значения реестра...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v "Installation Sources" /t reg_sz /d %cdrom%\ /f
echo Устанавливаю значения реестра...
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" /v SourcePath /t reg_sz /d %cdrom%\ /f
 
 
msg * Дождитесь окончания проверки,потом нажмите любую клавишу(кликнув мышью по окну консоли сделайте его активным).Если проверка остановилась на одном месте более 15 минут -сообщите хэлперу.
chcp 866 >nul
ping 127.0.0.1 -n 3 >nul
sfc /scannow
pause
 
reg import %systemdrive%\install.reg 
del /q %systemdrive%\install.reg
на хр без диска не запустится сфц.

соответственно тут необходимо сверка по базе хеш как говорил товарищ и предлагал ранее я ,но тут есть загвоздка:
база хэш для вин хр должна быть абсолютно точной.

+
1)не увидел записи в лог
2)не увидел поиска фейков в HKCU
3)запятая\слэш будут игнорироваться?

Добавлено через 1 минуту
Есть еще недоработки,мне на работу надо,там гляну.
1
Dragokas
Эксперт WindowsАвтор FAQ
17069 / 7124 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
16.05.2013, 02:55  [ТС] 8
Лучший ответ Сообщение было отмечено как решение

Решение

Генеральный чистильщик от sov44

Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
@Echo Off
 
:: Максимальное значение обрабатываемого числа для арифметики в CMD = 2^30 - 1 (2147483647 = 2048 Mb. )
 
:: В версии 3:
:: добавлена возможность считать файлы более 2 Гб.
:: выполняется проверка на отсев дисков не имеющих ФС (не ругается на вставленные флешки)
 
:: в версии 4:
:: добавлена функция очистки DNS (исключает проблемы с сетевым подключением)
:: добавлена функция очистки не запускаемых приложений в окне msconfig с огранчением по дате - до 10 дней включительно.
:: исправлена ошибка удаления временных файлов Opera "%DirProg%" на "!DirProg!"
:: Добавлен браузер Google Chrome
:: Добавлено удаление остатков браузеров,ранее установленных и в дальнейшем удалённых из системы - RD /S/Q
:: Проверка наличия браузеров сделана по исполняемому файлу *.exe
:: Добавлена возможность исключить из расчёта размера директории Temp некоторые файлы и папку.
:: Добавлено удаление и расчет размера истории открытых файлов.
:: Добавлено вывод сообщения в случае запуска скрипта при открытии Word.
:: Для УО добавлена очистка рабочего стола от временных файлов Консультанта ПЛЮС.(без расчёта размера)
 
:: в версии 5:
:: Добавлен расчёт и удаление файлов истории, имеющх в начале имени спецсимвол "!"
:: Исключено из расчёта размера директории временных файлов Internet Explorer файла index.dat. 
:: Добавлен расчёт и очистка истории Java, Flash Player
:: Добавлена строчка "Очистка истории открываемых файлов"
 
:: в версии 6:
:: добавлена поддержка очистки корзин в Windows 7
 
:: в версии 7:
:: добавлена очистка файлов *.log, *.old, *.bak, *.temp, *.tmp, *.---, *._mp, *.syd
:: добавлена очистка скаченных файлов из "%windir%\SoftwareDistribution\Download\*"
:: Добавлена очистка истории в Google :Visited Links,Archived History
:: Изменен подсчёт корзин. Теперь считает и из-под пользователя.
:: поддержка Windows XP Home
:: поддержка антивирусной программы ESET Smart Security
:: Мелкие исправления
 
  SetLocal enabledelayedexpansion
color 1a
title sov44
mode con: cols=58 lines=22
  echo.
  echo   -----------------------------------------------------
  echo               УДАЛЕНИЕ ВРЕМЕННЫХ ФАЙЛОВ        
  echo   -----------------------------------------------------
  echo.
  echo.
Set Cnt=0
 
rem 1. Удаление временных файлов Windows
 
:: поиск и удаление временных файлов по расширению на диске С
set iSumL=0
::set Rash=*.log;*.old;*.bak;*.temp;*.tmp;*.---;*._mp;*.syd;
set Rash=*.log;*.temp;*.tmp;
 
  For /F "Delims=" %%I In ('Dir c:\%Rash% /B/S/A:-D-H 2^>nul') Do (
      2>&1 del /q "%%I" | 1>nul findstr "."
      if errorlevel 1 (set /a iSumL +=%%~zI)
)
Set /A Cnt +=!iSumL!
 
:: очистка директории Temp
Set DirProg=%WinDir%\TEMP
 
:: Исключаем из расчёта временные папки и файлы, которые создают работающие приложения
 
:: Для проверки установленной витруальной машины VM Ware
if exist "%WinDir%\TEMP\Perflib_Perfdata_*.dat" set "File1=Perflib_Perfdata_78c.dat"
if exist "%WinDir%\TEMP\vmware-SYSTEM" set "Dir1=vmware-SYSTEM"
 
:: Для KAV 2011
if exist "%ProgramFiles%\Kaspersky Lab" (set "File1=kls????.tmp"& set "File2=Perflib_Perfdata_???.dat")
 
:: для NOD 5 Smart Security
if exist "%ProgramFiles%\ESET\ESET Smart Security\egui.exe" (set "File1=fb_????.evn"& set "File2=Perflib_Perfdata_??*.dat"& set "File3=fb_????.lck")
 
Call :_DirSize "%DirProg%"
Set /A AllSize +=dirsize
Call :_DirSize "%DirProg%\%Dir1%"
Set /A AllSize -=dirsize
For %%i In ("%DirProg%\%File1%" "%DirProg%\%File2%" "%DirProg%\%File3%") Do If Exist %%i Set /A AllSize -= %%~zi
if "%AllSize:~0,1%"=="-" set AllSize=0
 
Set /A Cnt +=%AllSize%
 
  PUSHD "%DirProg%"
  2>Nul RD /S/Q "%DirProg%"
  POPD
echo    Очистка временных файлов Windows              - OK
goto :cl_2
 
:_DirSize
Set dirsize=0
For /F "skip=4 tokens=1-3" %%a IN ('Dir "%~1" /-C /S /A:-D /A:-H  2^>nul') Do (
    If !flag!==1 Set dirsize=%%c
    If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
)
GoTo :EOF
rem ------------------------------------------------------------------------
 
:cl_2
rem 2. Очистка истории Windows
 
::Очистка истории реестра  **НЕ ПРОВЕРЕНА БЕЗОПАСНОСТЬ!!!**
:: меню "ПУСК
::Reg Delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" /f 1>Nul 2>&1
::Reg Delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU" /f 1>Nul 2>&1
::Reg Delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs" /f 1>Nul 2>&1
::кэш уведомлений панели задач
::Reg Delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotifi" /f 1>Nul 2>&1
 
 
:: Пути и расширения удаляемых файлов
if exist "%WinDir%\system32\systeminfo.exe" (
  >"%temp%\MsgBox.vbs" echo WScript.Quit^(MsgBox^(WScript.Arguments^(1^) ^& vbCrLf ^& WScript.Arguments^(2^) ^& vbCrLf ^& vbCrLf ^& WScript.Arguments^(3^), vbYesNo+vbDefaultButton1,WScript.Arguments^(0^)^)^)
    tasklist 2>nul|find /i "winword.exe" 1>nul && (WScript "%temp%\MsgBox.vbs" "Внимание^!" " Для успешной работы скрипта закройте открытые документы Word" "     После нажатия на кнопку они будут закрыты принудительно" "                                             Продолжить?"^
    & taskkill /F /IM winword.exe 1>nul 2>nul &>nul ping 127.0.0.1 -n 1 &goto :cl_2)
    del /q "%temp%\MsgBox.vbs" 2>nul
)
set iSumT=0
set "dr=%USERPROFILE%\Recent"& call :Calc "%dr%" *.lnk
set "dr=%USERPROFILE%\Application Data\Microsoft\Office\Последние файлы"& call :Calc "%dr%" *.lnk
set "dr=%USERPROFILE%\Local Settings\Temporary Internet Files\Content.MSO"& call :Calc "%dr%" *.*
set "dr=%USERPROFILE%\Local Settings\Temporary Internet Files\Content.Word"& call :Calc "%dr%" *.*
 
Set /A Cnt +=%iSumT%
 
del /q "%USERPROFILE%\Рабочий стол\CONS_LOG.TXT" 1>Nul 2>&1
RD /S/Q "%USERPROFILE%\Рабочий стол\CONS.CFG" 1>Nul 2>&1
 
Set "DirProgJ=%USERPROFILE%\Application Data\Sun\Java\Deployment\cache\6.0"& call :Calc1 "%DirProgJ%"
Set "DirProgJ=%USERPROFILE%\Application Data\Macromedia\Flash Player"& call :Calc1 "%DirProgJ%"
set "DirProgJ=%windir%\SoftwareDistribution\Download"& call :Calc1 "%DirProgJ%"
 
echo    Очистка истории открываемых файлов            - OK
goto :cl_3
 
:Calc
for /f "delims=" %%i in ('dir /b/a-d "%dr%\%2" 2^>nul') do (
         set /a iSumT +=%%~zi 1>Nul 2>&1
setlocal disabledelayedexpansion
         del /f/q "%dr%\%%i" 1>Nul 2>&1
endlocal
)
GoTo :EOF
 
:Calc1
For /F "skip=4 tokens=1-3" %%a IN ('Dir "%DirProgJ%" /-C /S 2^>nul') Do (
    If !flag!==1 Set dirsizeJ=%%c
    If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
      )
Set /A Cnt +=dirsizeJ
PUSHD "%DirProgJ%" 2>nul
2>Nul RD /S/Q "%DirProgJ%"
POPD
GoTo :EOF
 
rem -------------------------------------------------------------------------
pause
:cl_3
rem 3. Очистка временных файлов Opera
 
if exist "%programfiles%\Opera\opera.exe" (
Set DirProg=%USERPROFILE%\Local Settings\Application Data\Opera\opera\cache
 
For /F "skip=4 tokens=1-3" %%a IN ("'Dir "!DirProg!" /-C /S ' 2^>nul") Do (
    If !flag!==1 Set dirsize1=%%c
    If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
      )
Set /A Cnt +=dirsize1
PUSHD "!DirProg!" 2>nul
2>Nul RD /S/Q "!DirProg!"
POPD
echo    Очистка временных файлов Opera                - OK
 ) Else ( 
RD /S/Q "%USERPROFILE%\Local Settings\Application Data\Opera" 1>Nul 2>&1
RD /S/Q "%USERPROFILE%\Application Data\Opera" 1>Nul 2>&1
RD /S/Q "%ProgramFiles%\Opera" 1>Nul 2>&1
echo    Очистка временных файлов Opera                - --  )
 
rem ------------------------------------------------------------------------
 
::cl_4
rem 4. Очистка истории в Опере
 
if not exist "%programfiles%\Opera\opera.exe" echo    Очистка истории в Opera                       - -- ^ & goto :cl_5
 set /a iSumO =0
call :CalcAndDel "%AppData%\Opera\Opera\typed_history.xml"
call :CalcAndDel "%AppData%\Opera\Opera\global_history.dat"
call :CalcAndDel "%AppData%\Opera\Opera\search_field_history.dat"
call :CalcAndDel "%AppData%\Opera\Opera\download.dat"
Set /A Cnt +=%iSumO%
echo    Очистка истории в Opera                       - OK
goto :cl_5
 
:CalcAndDel
    set sFile=%~1
        if defined sFile (
        if exist "%sFile%" (
            set /a iSumO += %~z1
            del /f /q "%sFile%"
        )
    )   
GoTo :EOF
 
rem ------------------------------------------------------------------------
 
:cl_5
:::: rem 5. Очистка временных файлов Internet Explorer
:::: rem Исключаем из расчёта файл index.dat
:: 
::set "File1=index.dat"
::Set DirProg=%USERPROFILE%\Local Settings\Temporary Internet Files\Content.IE5
::
::Call :_DirSizeE "%DirProg%"
::Set /A AllSize +=dirsize2
::For %%i In ("%DirProg%\%File1%" ) Do If Exist %%i Set /A AllSize -= %%~zi
::Set /A Cnt +=%AllSize%
::
::PUSHD "%DirProg%"
::2>Nul RD /S/Q "%DirProg%"
::POPD
::echo    Очистка временных файлов Internet Explorer    - OK
::
::rem ------------------------------------------------------------------------
::
::rem 5. Очистка истории в Internet Explorer
::RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1  :: Очистить Журнал 
::RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2  :: Очистить файлы "cookie" 
::RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16 :: Очистить данные веб-форм 
:::: RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32  :: Очистить пароли
::
::echo    очистка истории в Internet Explorer           - OK
::
::goto :cl_6
::
:::_DirSizeE
::Set dirsize2=0
::For /F "skip=4 tokens=1-3" %%a IN ('Dir "%~1" /-C /S /A:-D 2^>nul') Do (
::  If !flag!==1 Set dirsize2=%%c
::  If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
::)
::exit /b
 
rem ------------------------------------------------------------------------
 
:cl_6
rem 6. Очистка временных файлов Mozilla Firefox
 
if exist "%programfiles%\Mozilla Firefox\firefox.exe" (
 
for /f "usebackq tokens=2 delims==" %%i in (`type "%APPDATA%\Mozilla\Firefox\profiles.ini"^|find.exe "Path="`) do ^
set MF_temp=%USERPROFILE%\Local Settings\Application Data\Mozilla\Firefox\%%i\Cache
 
For /F "skip=4 tokens=1-3" %%a IN ('Dir "!MF_temp!" /-C /S ') Do (
    If !flag!==1 Set dirsize3=%%c
    If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
    )
Set /A Cnt +=dirsize3
PUSHD "!MF_temp!"
2>Nul RD /S/Q "!MF_temp!"
POPD
echo    Очистка временных файлов Mozilla Firefox      - OK
       ) Else (
RD /S/Q "%USERPROFILE%\Local Settings\Application Data\Mozilla" 1>Nul 2>&1
RD /S/Q "%USERPROFILE%\Application Data\Mozilla" 1>Nul 2>&1
RD /S/Q "%ProgramFiles%\Mozilla Firefox" 1>Nul 2>&1
 
echo    Очистка временных файлов Mozilla Firefox      - --  )
 
rem ------------------------------------------------------------------------
 
:cl_7
rem 7. Очистка истории в Mazilla Firefox
 
if not exist "%programfiles%\Mozilla Firefox\firefox.exe" echo    Очистка истории в Mazilla Firefox             - -- ^ & goto cl_8 
 
for /f "usebackq tokens=2 delims==" %%i in (`type "%APPDATA%\Mozilla\Firefox\profiles.ini"^|find.exe "Path="`) do ^
set MF_his=%AppData%\Mozilla\Firefox\%%i
set /a iSum = 0
::call :CalcAndDel "%MF_his%\places.sqlite"
call :CalcAndDel "%MF_his%\webappsstore.sqlite"
call :CalcAndDel "%MF_his%\formhistory.sqlite"
 
Set /A Cnt +=%iSumM%
echo    Очистка истории в Mazilla Firefox             - OK
goto :cl_8
 
:CalcAndDel
    set sFile=%~1
    
    if defined sFile (
        if exist "%sFile%" (
            set /a iSumM += %~z1
            del /f /q "%sFile%"
        )
    )   
GoTo :EOF
 
rem ------------------------------------------------------------------------
 
:cl_8
rem 8. Очистка временных файлов Google Chrome
 
if exist "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" (
Set DirProgCr1=%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\Cache
 
For /F "skip=4 tokens=1-3" %%a IN ('Dir "!DirProgCr1!" /-C /S ') Do (
    If !flag!==1 Set dirsize4=%%c
    If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
      )
Set /A Cnt +=dirsize4
PUSHD "!DirProgCr1!"
2>Nul RD /S/Q "!DirProgCr1!"
POPD
echo    Очистка временных файлов Google Chrome        - OK
 ) Else (
 RD /S/Q "%USERPROFILE%\Local Settings\Application Data\Google" 1>Nul 2>&1
 RD /S/Q "%USERPROFILE%\Мои документы\Downloads" 1>Nul 2>&1
 echo    Очистка временных файлов Google Chrome        - --  )
 
rem ------------------------------------------------------------------------
 
:cl_9
rem 9. Очистка истории в Google Chrome
if not exist "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" echo    Очистка истории в Google Chrome               - -- ^ & goto :cl_10
 set /a iSumG =0
call :CalcAndDel_2 "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\Current Session"
call :CalcAndDel_2 "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\History"
call :CalcAndDel_2 "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\History Index *-*"
call :CalcAndDel_2 "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\Last Session"
call :CalcAndDel_2 "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\Visited Links"
call :CalcAndDel_2 "%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\Archived History"
 
Set /A Cnt +=%iSumG%
echo    Очистка истории в Google Chrome               - OK
goto :cl_10
 
:CalcAndDel_2
    set sFile=%~1
    
    if defined sFile (
        if exist "%sFile%" (
            set /a iSumG += %~z1
            del /f /q "%sFile%"
        )
    )   
    GoTo :EOF
 
rem ------------------------------------------------------------------------
 
:cl_10
rem 10. Очистка кэш распознавателя DNS (исключает проблемы с сетевым подключением)
rem Удаление не запускаемых приложений в окне msconfig с проверкой их наличия
rem блок скрипта настроен на работу до 10 числа каждого месяца
 
ipconfig /flushdns 1>Nul 2>&1
 
set "tmr=%date:~0,2%"
If %tmr% LEQ 10 (
call :fn1 "HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg"
call :fn1 "HKLM\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupfolder" 
goto :cl_11
 
:fn1
for /f "skip=4 delims=" %%a in ('reg query %1 2^>nul' ) do reg delete "%%a" /f 1>Nul 2>&1
GoTo :EOF
)
rem -------------------------------------------------------------------------------
 
:cl_11
rem 11. Очистка корзины на всех дисках,подсчёт размера удаляемых файлов.
set dirsize5 =0
if exist "C:\RECYCLER" (Set "DirProg=RECYCLER") else (Set "DirProg=^$Recycle.Bin")
 
FOR %%f IN (Z Y X W U V T S R Q P O N M L K J I H G F E D C) DO (
Set "flag=0"
For /F "Skip=4 Tokens=1-3" %%a In ('DIR/-C/S/A:-D "%%f:\%DirProg%" 2^>Nul') Do (
      If !flag!==1 Set /a dirsize5 +=%%c
      If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
))
Call:SUM !Cnt! !dirsize5! Cnt
 
Set rst=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches
REG Add "%rst%\Recycle Bin" /v StateFlags0001 /t REG_DWORD /d 2 /f 1>nul 2>nul
REG Delete "%rst%\Compress old files" /f 2>nul
Cleanmgr /sagerun:1
echo    Очистка корзины на всех дисках                - OK
rem ------------------------------------------------------------------------
 
Call:UDIV2 %Cnt% dirsizeMB  20
Call:UMUL2 %dirsizeMB% CntT 20
Call:SUM %Cnt% -%CntT% ost
 
Set/a $.mb=(%ost%*100)/(1024*1024)
Set "$.mb=0%$.mb%"& Set "$.mb=!$.mb:~-2!"
 
echo/
echo/
echo        Очистка выполнена, всего удалено %dirsizeMB%,%$.mb% Мб
 
ping 127.0.0.1 -n 8 >nul
 
exit
 
:SUM  %uint%  %uint%  %VarRes%
::----------------------------
SETLOCAL EnableDelayedExpansion
(set "$a=%~1"& set "$b=%~2"
 if "!$a:~,1!"=="-" (set "$az=-"&set "$a=!$a:-=!") else set "$az="
 if "!$b:~,1!"=="-" (set "$bz=-"&set "$b=!$b:-=!") else set "$bz="
 for /f "tokens=* delims=0" %%i in ("!$a:~-9!") do set/a "$al=%%i+0"&set/a "$ah=!$a:~,-9!+0"
 for /f "tokens=* delims=0" %%i in ("!$b:~-9!") do set/a "$bl=%%i+0"&set/a "$bh=!$b:~,-9!+0"
 
 set/a "$sl=(!$az!!$al!)+(!$bz!!$bl!)"&set/a $p=!$sl:~,-9!+0&set/a "$sl=!$sl!-(!$p!000000000)"
 set/a "$sh=(!$az!!$ah!)+(!$bz!!$bh!)+(!$p!+0)"
 if !$sh! gtr 0 if !$sl! lss 0 set/a $sh-=1& set/a "$sl=(1000000000+!$sl!)"
 if !$sh! lss 0 if !$sl! gtr 0 set/a $sh+=1& set/a "$sl=(!$sl!-1000000000)"
 for /f "delims=0123456789" %%i in ("!$sh!!$sl!") do set "$z=%%i"
 if !$sh! equ 0 if !$sl! equ 0 set "$z=0"
 set "$sl=00000000!$sl:-=!"
)
 for /f "tokens=* delims=0" %%i in ("!$sh:-=!!$sl:~-9!") do ENDLOCAL& set "%~3=%$z%%%i"
GoTo:EOF
 
:UDIV2  %uint% %VarRes% %uint%
::----------------------------
 SETLOCAL EnableDelayedExpansion
(set "$a=%~1"& set/a "$c=%~3+0"& if !$c! equ 0 set "$c=1"
 for /f "tokens=* delims=0" %%i in ("!$a:~-9!") do set/a "$al=%%i+0,$ah=!$a:~,-9!+0"
 for /l %%i in (1,1,!$c!) do (
   set/a "$p=$ah&1,$ah>>=1,$al>>=1"
   if !$p!==1 set/a $al=$al+500000000)
 set "$z="& if !$ah! equ 0 if !$al! equ 0 set "$z=0"
)
 for /f "tokens=* delims=0" %%i in ("!$ah!!$al!") do ENDLOCAL& set "%~2=%$z%%%i"
GoTo:EOF
 
:UMUL2  %uint% %VarRes% %uint%
::----------------------------
(SETLOCAL EnableDelayedExpansion
 set %~2=%~1& set/a "$c=%~3+0"& if !$c! equ 0 set "$c=1"
 for /l %%i in (1,1,!$c!) do Call:SUM !%~2! !%~2! %~2
 for /f %%i in ("!%~2!") do ENDLOCAL& set "%~2=%%i"
)
GoTo:EOF
 
rem Скрипт создан благодаря помощи Iska, gora, amel27  _http://forum.oszone.net/forum-102.html
3
Вложения
Тип файла: rar all_del_new7-1.rar (5.1 Кб, 29 просмотров)
Kиpилл
Особый статус
Эксперт WindowsВирусоборец
8299 / 1650 / 78
Регистрация: 15.04.2011
Сообщений: 5,399
23.05.2013, 20:15 9
ой че то затянули-времени ноль.
блок командной строки:
Bash
1
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableCMD /f
и
Bash
1
2
3
4
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableCMD /f*
REG DELETE HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableCMD /f*
REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableCMD /t REG_DWORD /d 0 /f*
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableCMD /t REG_DWORD /d 0 /f
редактор реестра:
Bash
1
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /f
и
PureBasic
1
2
3
4
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /f 
REG DELETE HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /f 
REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableRegedit /t REG_DWORD /d 0 /f 
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableRegedit /t REG_DWORD /d 0 /f
вот как то так.

пробуем следующие части.

Добавлено через 7 минут
Проверка не заблокирован ли реестр, диспетчер и консоль. (Консоль? - это как?) (0%)
.....
0
Dragokas
Эксперт WindowsАвтор FAQ
17069 / 7124 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
03.06.2013, 15:57  [ТС] 10
1) Код упаковщика - Cabinet-архив (VBScript), не требующего сторонних компонентов:

Формирование списка файлов с последующей упаковкой в архив

Команда makecab, сжать файлы по маске

2) Меню на FASM-е: Вывод имён файлов каталога в виде списка, способ представления которого определяется выбором пользователя
0
03.06.2013, 15:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2013, 15:57

Разобрать логику. Основной код уже есть
<script> $(".line").hide(); $('.flat').hide(); $('.block').change(function(){...

Как получить Html код формы отображаемой над основной страницей
Всем доброго дня! Может быть кто подскажет как получить Html код формы отображаемой над основной...

как метод называется, где основной код идет? типа main
т.е. есть код формы, как обозвать основной метод, типа main, чтобы основная программа выполнялась в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru