- Сообщения
- 95
- Репутация
- -1
Доброе время суток. Нашел один проектик
Дело в том, что я добавил функцию для скачивания Dr.Web CureIt по прямой ссылке. И для запуска проги на зараженной машине нужно генерировать имя. И хотелось бы узнать как запустить скаченную прогу с сгенерированным именем?
Afonichev сказал(а):Прилетело в голову написать функцию для генерации случайного имени или ключа, не знаю почему, но я её написал, понимаю что на форуме полно примеров всяких генераций, но всё равно пишу... думаю может кому пригодится.
В функции имеется возможность выбора, какие данные должны вернутся из функции:
1. Только заглавные буквы.
2. Только строчные буквы.
3. Только цифры.
4. Только заглавные буквы и цифры.
5. Только строчные буквы и цифры.
6. Только заглавные и строчные буквы.
7. Всё вместе (Default).
Код:MsgBox(0, '', Generate(256)) ;~ Заглавные + строчные + цифры (Default) MsgBox(0, '', Generate(256, 'Upper;Lower')) ;~ Заглавные + строчные MsgBox(0, '', Generate(256, 'Upper;Digit')) ;~ Заглавные + цифры MsgBox(0, '', Generate(256, 'Lower;Digit')) ;~ Строчные + цифры MsgBox(0, '', Generate(256, 'Upper')) ;~ Заглавные MsgBox(0, '', Generate(256, 'Lower')) ;~ Строчные MsgBox(0, '', Generate(256, 'Digit')) ;~ Цифры ; #Функция# =========================================================================================== ; Имя ...........: Generate ; Описание ......: Генерация случайных символов. ; Синтаксис .....: Generate($iLenght, $sParam) ; Параметры .....: $iLenght - Определяет колличество возвращаемых данных. ; $sParam - Определяет какие символы должны входить в возвращаемые данные. ; |Upper - Заглавние буквы. ; |Lower - Строчные буквы. ; |Digit - Цифры. ;====================================================================================================== Func Generate($iLenght, $sParam = 'Upper;Lower;Digit') Local $aRet, $aBase, $aInit, $sUpper, $sLower, $sDigit, $sBase $Upper = 'A;B;C;D;E;F;G;H;I;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;' $Lower = 'a;b;c;d;e;f;g;h;i;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;' $Digit = '1;2;3;4;5;6;7;8;9;0;' $aInit = StringSplit($sParam, ';') For $i = 1 To $aInit[0] $aBase &= Eval($aInit[$i]) Next $sBase = StringSplit($aBase, ';') For $i = 1 To $iLenght $aRet &= $sBase[Random(1, $sBase[0], 1)] Next Return $aRet EndFunc