ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Циклический инкремент паролей |

19.05.2010, 18:19
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Циклический инкремент паролей
Только начал изучать С под Linux, просьба отнестись с пониманием)
Вот у меня такой код, для брута паролей по набору символов:
Код:
#include <stdio.h>
// Сам брут
int go(int ii,char *def_pass,int def_len,char *nabor,int len,char *current){
unsigned int i=0;
while (i < len) {
current[ii-1] = nabor[i]; // добавляем новый символ
printf("%s\r",current);// Выводим текущую комбинацию
if (ii >1 ){
go(ii-1,def_pass,def_len,nabor,len,current);// Рекурсивно вызываем сами себя для заполнения всех позиций
}else{
char *check=current; // Проверяем текущую комбинацию
if (strncmp(check,def_pass,def_len) == 0){ // Если совпало
printf("[+]Password found! => %s\n",check);
exit(1);
}
check="";// Очищаем переменную с текущим паролем
}
i++;
}
}
int main (int argc, char *argv[])
{
char *def_pass="013283";// Пароль, который надо найти
unsigned int def_len = strlen(def_pass);// Длина пароля
char *nabor="0123456789";// Набор символов, из которых будем генерить пароль
unsigned int len = strlen(nabor); // Длина набора
unsigned int i=1;// Минимальная длина пароля
char *buf;
while(i <= len){
printf("[-]Pass length:%d\n",i);
buf=calloc(sizeof(char),i+1); // Заполняем нулями по длине текущего пароля
go(i,def_pass,def_len,nabor,len,buf); // Отправляем на брут
i++;
}
}
Все работает, но очень медленно. Натолкнулся на такую статью:
http://www.xakep.ru/post/22587/default.asp
но там пример на С++, внимание вопрос:
как внедрить данную идею - "Циклический инкремент паролей" - в код выше. Просто раньше с ассемблерными вставками и вообще программированием на С под никсами не сталкивался. В идеале готовый пример. Спасибо.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|