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

19.07.2009, 10:45
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Код:
unsigned char x ;
unsigned char start_char = 'A';
unsigned char stop_char = 'Z';
// A-z
// ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
// 0-z
// 0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
// ' ' - 'z'
// !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
// Как что просто указал начало и конец и у тебя есть нужный диапазон
for (x = start_char; x <= stop_char; x++)
{
printf("%c", x);
}
Последний раз редактировалось slesh; 19.07.2009 в 10:49..
|
|
|

19.07.2009, 16:19
|
|
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
Провел на форуме: 1059196
Репутация:
39
|
|
Я написал вот такой индусский код
PHP код:
char dic [] =
{
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h',
'j',
'k',
'l',
'm',
'n',
'o',
'p',
'r',
'q',
'u',
's',
't',
'v',
'w',
'x',
'y',
'z'
};
int numberchar = 5;
char pchar[2] = "";
char vchar[2] = "";
char tchar[2] = "";
char chchar[2] = "";
char pychar[2] = "";
char shestchar[2] = "";
char final[8] = "";
for( int a = 0; a < 26; a++ )
{
sprintf(pchar, "%c", dic[a] );
if( numberchar == 1 )
{
sprintf( final, "%s", pchar );
chekdomain( final );
continue;
}
for( int b = 0; b < 26; b++ )
{
sprintf(vchar, "%c", dic[b] );
if( numberchar == 2 )
{
sprintf( final, "%s%s", pchar, vchar );
chekdomain( final );
continue;
}
for( int c = 0; c < 26; c++ )
{
sprintf(tchar, "%c", dic[c] );
if( numberchar == 3 )
{
sprintf( final, "%s%s%s", pchar, vchar, tchar );
chekdomain( final );
continue;
}
for( int d = 0; d < 26; d++ )
{
sprintf(chchar, "%c", dic[d] );
if( numberchar == 4 )
{
sprintf( final, "%s%s%s%s", pchar, vchar, tchar, chchar );
chekdomain( final );
continue;
}
for( int e = 0; e < 26; e++ )
{
sprintf(pychar, "%c", dic[e] );
if( numberchar == 5 )
{
sprintf( final, "%s%s%s%s%s", pchar, vchar, tchar, chchar, pychar );
chekdomain( final );
continue;
}
for( int f = 0; f < 25; f++ )
{
sprintf(shestchar, "%c", dic[e] );
if( numberchar == 6 )
{
sprintf( final, "%s%s%s%s%s%s", pchar, vchar, tchar, chchar, pychar, shestchar );
chekdomain( final );
continue;
}
}
}
}
}
}
}
|
|
|

19.07.2009, 20:05
|
|
Познающий
Регистрация: 26.02.2009
Сообщений: 65
Провел на форуме: 583734
Репутация:
34
|
|
Какие у вас у всех(почти у всех) трудные методы.
вот мое:
Код:
int i=65,n=90;
while(i!=n)
{
std::cout<<char(i)<<std::endl;
i++;
}
Полный перебор со спец. символами:
Код:
for(int i=32,n=126;i!=n;i++)
{
std::cout<<char(i)<<std::endl;
i++;
}
Последний раз редактировалось \\ChaOs//; 19.07.2009 в 20:23..
|
|
|

19.07.2009, 20:54
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
fire64
ппц =)
\\ChaOs//
это вывод одного символа. теперь скомпонуй код, который будет выдавать все варианты паролей длиной 6 символов. тока не как у fire64 чтоб код получился =))
|
|
|

19.07.2009, 21:16
|
|
Участник форума
Регистрация: 01.04.2008
Сообщений: 200
Провел на форуме: 1059196
Репутация:
39
|
|
Ra$cal, согласен код кошмарный
но он работает, а это главное 
|
|
|

19.07.2009, 21:44
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме: 1777055
Репутация:
347
|
|
на С. Проверки неправильно переданных параметров в функции нет, конечно следовало бы понаставить assert'ов но мне влом.
Код:
#include <stdio.h>
#include <string.h>
const unsigned char n_begin = 'a';
const unsigned char n_end = 'z';
const size_t str_len = 3;
int next_element(unsigned char *str, size_t strlen) {
size_t index = strlen - 1;
int cond = 0;
while(!cond) {
cond = 1;
if(++str[index] > n_end) {
if (index == 0) {
return 0;
}
str[index--] = n_begin;
cond = 0;
}
}
return 1;
}
int main(int argc, char** argv) {
unsigned char str[str_len + 1];
memset(str, n_begin, str_len);
str[str_len] = 0;
do {
printf("%s\n", str);
} while(next_element(str, str_len));
return 0;
}
Последний раз редактировалось bons; 19.07.2009 в 22:02..
|
|
|

20.07.2009, 15:57
|
|
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
Провел на форуме: 2816163
Репутация:
158
|
|
мой вариантик, медленно правдо генерерует слова(например 10и символьные), но работает и можно подставлять любые символы.
Код:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int M,N;
void main(){
clrscr();
int next(int *);
char abc[]={'a','b','c','d','e','#',')','_','@'};
//char abc[]={'a','b','c'};
int i;
int *arr;
M=sizeof(abc);
printf("DJIuHHa CJIoBa -> ");
scanf("%d", &N);
arr=(int *) calloc(N, sizeof(int));
for(i=1; i<=N; i++)
arr[i]=1;
do{
for(i=1; i<=N; i++)
printf("%c", abc[arr[i]-1]);
printf("\n");
}
while(next(arr)!=0);
getch();
}
int next(int arr[])
{
int j=N;
while(j>0 && arr[j]==M)
arr[j--]=1;
if(j>0){
arr[j]++;
return 1;
}
else return 0;
}
Последний раз редактировалось fker; 20.07.2009 в 20:06..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|