HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Циклический инкремент паролей
  #1  
Старый 19.05.2010, 18:19
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 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

но там пример на С++, внимание вопрос:

как внедрить данную идею - "Циклический инкремент паролей" - в код выше. Просто раньше с ассемблерными вставками и вообще программированием на С под никсами не сталкивался. В идеале готовый пример. Спасибо.
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анализ паролей пользователей Windows Live Hotmail cupper Мировые новости. Обсуждения. 5 06.10.2009 23:52
Менеджер паролей RoboForm добрался до браузера Chrome jerrri Мировые новости. Обсуждения. 0 28.09.2009 17:49



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.