Показать полную графическую версию : Перебор букв кириллицы с помощью cmd
женя_арм
10-05-2020, 15:34
Доброго времени суток! Недавно начала разбираться в батниках и столкнулась с проблемой во время перебора русских букв.
То есть программа начинается с буквы а
ааааа
ааааб
аааав
...
баааа
баааб
...
яяяяя
и заканчивается я.
В интернете да и сама додумалась только до числовых циклов, а с буквами как-то не пошло.
Буду рада вашей помощи :)
brute force generate free apps ?
megaloman
10-05-2020, 18:33
женя_арм, Зачем?@Echo Off
cls
Set "Simb=а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я"
For %%i In (%Simb%) Do For %%j In (%Simb%) Do For %%k In (%Simb%) Do For %%l In (%Simb%) Do For %%m In (%Simb%) Do Echo %%i%%j%%k%%l%%m
pause
Exit /B
женя_арм
10-05-2020, 18:56
Да, так сказать, некое задание)
Спасибо большое
megaloman,
хоть это и смешно (брутфорс на cmd :) ), но насколько это соответствует правилам форума? Прямого запрета, вроде бы, нет, но косвенный присутствует...
megaloman
10-05-2020, 21:40
YuS_2, но косвенный присутствует... »хотелось бы на него взглянуть. Не очень понимаю, о чам речь. Взлом, что-ли? Это верх примитива, имхо :)
Взлом, что-ли? Это верх примитива »
Да, о том и речь... смешно, конечно, но для чего ещё может потребоваться перебор символов? :)
Ну, а если для красоты, то:
powershell:
$arr="Привет мир!"
$num = 32..126+1040..1103
write-host " " -non
for($i=0;$i -lt $arr.length;$i++){
do {
$m = [char]($num|get-random)
write-host "`b$m" -non
sleep -m 10
} while($arr[$i] -cne $m)
write-host $(if($i -eq ($arr.length-1)){"`b$m"}else{$m}) -nonew
}
:)
megaloman
11-05-2020, 16:13
Ну, а если для красоты, то: »Задача, как она поставлена, достаточно проста. Мне захотелось развлечься :) :
а что, если перебирать не пятисимвольную строку, а строку произвольной длины?
Вот код, длина строки 1<=M<=26 (по числу символов англ алфавита),
@Echo Off
cls
Set "S=а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я"
Set /A M=5
Set /A N=10
For %%@ In (a b 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 Set /A N+=1 &Call Set "@V%%N%%=%%%%%%%%@"
Set /A MM=%M%+10
Set "Com="
Set "Rez=Echo "
FOR /L %%$ IN (11,1,%MM%) DO Call Set "Com=%%Com%%For %%@V%%$%% In (%S%) Do " &Call Set "Rez=%%Rez%%%%@V%%$%%"
%Com%%Rez%
pause
Exit /B
Не подвергайте меня остракизму и другим нехорошим словам :)
Не подвергайте меня остракизму и другим нехорошим словам »
и в мыслях даже не было. :drug:
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.