| Посл.ответ |
Сообщение |
Ранг: 0.0 (гость) Активность: 0.04↘0 Статус: Участник
|
Создано: 28 октября 2004 17:10 · Личное сообщение · #1
Народ, хелп  Поделитесь плиз ссылочкой на исходник брутфорса на Сях ;) Нужен простейший брутфорс, который просто перебирает все значения, никуда их не подставляя ;)
| Сообщение посчитали полезным: |
|
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 28 октября 2004 22:14 · Личное сообщение · #2
а чего брутфорсим то? ;) И например какой диапазон значений?
в общем случае брутфорс на сях пишется так.
x = вход;
y = выход;
for (i=0;i<дохера;i++) {
z = function (i,x);
if (y=z) {
fprintf (con,"Фсие гатофа! %d", i);
break;
}
}
| Сообщение посчитали полезным: |
Ранг: 352.4 (мудрец), 4thx Активность: 0.15↘0 Статус: Участник retired
|
Создано: 29 октября 2004 01:49 · Личное сообщение · #3
а function == MD5() ?
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0.04↘0 Статус: Участник
|
Создано: 29 октября 2004 10:23 · Личное сообщение · #4
Да перебираем значения, которые указали в алфавите...
#define key_len 4
#define alph_len 26
Скажем есть у нас:
char alph[]="abcdefghijklmnopqrstuvwxzy" //алфавит
char base[key_len]; //начальное состояние брутфорса
for(int i=0; i<key_len; i++) base[i]=alph[0]; //заполняем начальное состояние брутфорса первой буквой алфавита...
// base[key_len]="aaaa";
Ну а вот как дальше перебрать все alph_len^key_len ?
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 29 октября 2004 11:03 · Личное сообщение · #5
Определяешь переменную от 0 до 26^4
Дальше банально цикл 4 раза в цикле ты эту переменную делишь на 26 получившийся остаток от деления
умножаешь на 26 и используешь как позицию для выбора знака, потом результат снова дешишь на 26.....
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0.04↘0 Статус: Участник
|
Создано: 29 октября 2004 18:32 · Личное сообщение · #6
emmibox
А можно хотя бы псевдокод? ;)
| Сообщение посчитали полезным: |
Ранг: 1.0 (гость) Активность: 0.01↘0 Статус: Участник
|
Создано: 29 октября 2004 19:31 · Поправил: emmibox · Личное сообщение · #7
Вот ты спросил, я в с разбираюсь как свинья в апельсинах.
#define numberofiteration = ... //(как там степень то в с..... короче ясно)
longint x,z,y;
for (x=0;x<numberofiteration;x++)
{
z=x;
for (i=0;i<key_len;i++) {
z=z/alph_len;
y=z;
// (сдесь должна стоять математическая функция которая отбросит целое от y и - я не знаю как она пишется в с)
y=y*alph_len
base[i]=alph[y]
}
// а тут код брута
}
Вот как-то так.
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0.04↘0 Статус: Участник
|
Создано: 30 октября 2004 06:50 · Поправил: Man1ac · Личное сообщение · #8
emmibox
Спасибки!! =)
| Сообщение посчитали полезным: |
Ранг: 145.8 (ветеран) Активность: 0.07↘0 Статус: Участник www.int3.net
|
Создано: 30 октября 2004 06:54 · Личное сообщение · #9
emmibox пишет:
// (сдесь должна стоять математическая функция которая отбросит целое от y и - я не знаю как она пишется в с)
[code]y=y-int(y)[/code]
?
| Сообщение посчитали полезным: |
 Ранг: 303.7 (мудрец), 4thx Активность: 0.19↘0 Статус: Участник tPORt Manager
|
Создано: 30 октября 2004 07:40 · Личное сообщение · #10
На wasm.ru в статье циклический инкримент пароля есть сырец очень быстрого брутфорсера.
| Сообщение посчитали полезным: |
Ранг: 0.0 (гость) Активность: 0.04↘0 Статус: Участник
|
Создано: 30 октября 2004 08:45 · Личное сообщение · #11
Bit-hack
Супер! Спасибо!! =)
| Сообщение посчитали полезным: |