Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Вниз

Перебор всевозможных сочетаний из символов   Найти похожие ветки 

 
Grol ©   (2005-07-21 01:21) [0]

Уважаемые Мастера, помогите мне пожалуйста с таким вопросом: как мне сделать перебор из символов. Например в edit ввожу какие-нибудь символы, а потом из этих символов будет осуществлятся перебор. Результат выводится в memo. Перебор такой же как например у прог по взлому паролей к архивным файлам или к Word и Excel, или подбор паролей к шарам типа брутфорс. Спасибо заранее за ответ.


 
Piter ©   (2005-07-21 02:51) [1]

в чем проблема?


 
evvcom ©   (2005-07-21 08:18) [2]

А ты посчитал, сколько будет работать твой брутфорсер? Тебе жизни хватит?


 
ANB ©   (2005-07-21 08:23) [3]


> Grol ©   (21.07.05 01:21)
- цикликом. Только кнопочку сделай для выключения, а то задерешься задачу снимать.


 
evvcom ©   (2005-07-21 08:29) [4]


> - цикликом.

+ рекурсией. А еще, чтобы вопросов про жизнь не было, алгоритм шифрования должен быть реализован тоже в твоей программе, быть оптимальным и "умным". :) кул хацкер, блин.


 
Grol ©   (2005-07-21 17:10) [5]

Ребята я конечно все понимаю, что прикалываться все умеют, но я же спрашивал в серьез.


 
evvcom ©   (2005-07-21 17:19) [6]

А что несерьезного в ответе "цикликом + рекурсией"? Ну убери из "цикликом" суффикс, так серьезнее получится?


 
SergP.   (2005-07-21 18:02) [7]


> Grol ©   (21.07.05 01:21)  
> Уважаемые Мастера, помогите мне пожалуйста с таким вопросом:
> как мне сделать перебор из символов. Например в edit ввожу
> какие-нибудь символы, а потом из этих символов будет осуществлятся
> перебор. Результат выводится в memo. Перебор такой же как
> например у прог по взлому паролей к архивным файлам или
> к Word и Excel, или подбор паролей к шарам типа брутфорс.
> Спасибо заранее за ответ.


Тебе брутфорсер использующий заданый набор символов рнужен или просто прогу для генерации перестановки символов?


 
SergP ©   (2005-07-21 20:11) [8]


>  [5] Grol ©   (21.07.05 17:10)
> Ребята я конечно все понимаю, что прикалываться все умеют,
> но я же спрашивал в серьез.


Ну если так все серьезно, то вот специально для тебя написал:
(хотя пойми правильно: народ здесь не очень любит отвечать на вопросы где причиной вопроса является не отсутствии каких-либо "хитрых" знаний у вопрошающего, а его лень самому подумать)


// здесь должна быть процедура проверки конкретного пароля
procedure brutforce(n:string);
begin
 form1.memo1.lines.add(n);   // в данном случае
     // это просто демонстрация с выводом в memo
end;

// Собственно сама процедура перебора, думаю такое ты мог бы и сам написать
procedure perebor(const s,d:string;ks:integer);
var
 i:integer;
begin
for i:=1 to length(s) do
  if length(d)<ks then perebor(s,d+s[i],ks) else brutforce(d+s[i]);
end;

// Пример использования (перебор с количеством символов до 4)
procedure TForm1.Button1Click(Sender: TObject);
var
 i:integer;
const
 max=4;      //максимальное количество символов
 s="abcde";  // Набор символов используемый для перебора
begin
  for i:=0 to max-1 do perebor(s,"",i);
end;


 
Piter ©   (2005-07-21 21:22) [9]

SergP ©   (21.07.05 20:11) [8]

зря


 
ANB ©   (2005-07-21 21:53) [10]


> Тебе брутфорсер использующий заданый набор символов рнужен
> или просто прогу для генерации перестановки символов?
- а алгоритма получения всех возможных перестановок в одномерном массиве случайно не знаешь ? (Вышку я уже подзабыл, а на Кнута так и не разорился).


 
SergP ©   (2005-07-22 07:22) [11]


>  [10] ANB ©   (21.07.05 21:53)
>
> > Тебе брутфорсер использующий заданый набор символов рнужен
>
> > или просто прогу для генерации перестановки символов?
> - а алгоритма получения всех возможных перестановок в одномерном
> массиве случайно не знаешь ? (Вышку я уже подзабыл, а на
> Кнута так и не разорился).


Не знаю. Кнута не читал. У меня его тоже нет. Только в виде pdf (а это не совсем читабельно).
Но в случае с перестановкой символов в строке могу предложить  что-то типа этого. С массивом можно поступить практически так же.


procedure perestanovka(const s:string;d:string);
var
p:string;
i:integer;
begin
 if length(s)=0
   then form1.memo1.lines.add(d)
   else for i:=1 to length(s) do
     begin
     p:=s;
     delete(p,i,1);
     perestanovka(p,d+s[i]);
     end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 perestanovka ("12345","");
end;


 
TUser ©   (2005-07-22 07:30) [12]

Какая рекурсия? Циклы рулят.

function Next (var Text: string): boolean;
var i: integer;
begin
 result:=true; i:=length(Text);
 while result and (i > 0) then
   if Text[i] = FMaxCode then
     dec (i)
     else result:=false;
 result:=not result;
 if result then begin
   Text[i]:=succ(Text[i]);
   for i:=i+1 to length(Text) do
     Text[i]:=chr(FMinCode);
   end;
end;

procedure Enum;
var S: string;
begin
 S:={строка из символов chr(FMinCode)};
 repeat
   // do somth with S
 until not Next;
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.044 c
1-1121442156
Starcom
2005-07-15 19:42
2005.08.07
Счётчик запусков программы!


1-1121667918
rus9
2005-07-18 10:25
2005.08.07
Управление доступом


1-1121810389
Quattro
2005-07-20 01:59
2005.08.07
Будильник


3-1117864446
GekaNaz
2005-06-04 09:54
2005.08.07
dbExpress - попытка коннекта


1-1121531102
Defunct
2005-07-16 20:25
2005.08.07
AV при создании формы-фрейма





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский