Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Generator by AlexTheC0d3r (https://forum.antichat.xyz/showthread.php?t=191766)

AlexTheC0d3r 30.03.2010 15:31

Generator by AlexTheC0d3r
 
Увидел объявление о том что человек ищет некий генератор по символам...
Написал...

будь то генератор списка паролей для брута или чего другого, он умеет:

* сохранять каждые 1к паролей в файл generated.txt

* генерация убрана в поток

* геренирует все сочетания из указанной вами строки

скриншот:

http://img717.imageshack.us/img717/4...pboard01ly.jpg

ехе = http://www.sendspace.com/file/uy362a
сорс = http://www.sendspace.com/file/w7fyb6

Gar|k 30.03.2010 17:17

как бэ мега генератор от гуру оптимизации

Berman 30.03.2010 18:43

отлично, спсибо за исходник

imreadyourmind 01.04.2010 04:14

Прикольная штука))мне как раз треба)

AlexTheC0d3r 01.04.2010 10:20

а главное сразу учит работе с потоками, синхронизации и рекурсии

Jingo Bo 03.04.2010 01:39

Цитата:

а главное сразу учит работе с потоками, синхронизации и рекурсии
Не понимаю людей которые в инете про это почитать не могут.

По сабжу, я бы добавил выбор множеств символов для генирации, допустим [a...z], [0...9] и т.д.
:)

Gar|k 03.04.2010 14:29

Немного модифицировал код
 
http://www.insidepro.com/doc/003r.shtml - уже давал ссылку

Код:

#pragma comment(linker, "/MERGE:.data=.text")
#pragma comment(linker, "/MERGE:.rdata=.text")
#pragma comment(linker, "/SECTION:.text,EWR")
#pragma comment(linker,"/ENTRY:New_Main")
#pragma comment(linker, "/INCREMENTAL:NO" )
#pragma comment(linker, "/NODEFAULTLIB")
#pragma optimize( "gsy", on )

#include <windows.h>
#undef RtlZeroMemory
void (__stdcall *RtlZeroMemory)(void *dst, int count);

void New_Main()
{
        LPWSTR *argv;
        HANDLE hFile;
        static char szAlphabet[256],bAlphabet[256],szPassword[256],buf[512];
        int i = 0, k = 0;
        OVERLAPPED over;

        argv=CommandLineToArgvW(GetCommandLineW(),&i);
        if(i==3) {
                hFile=CreateFileW(argv[2],
                  GENERIC_WRITE,       
                  0,                   
                  NULL,                 
                  OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,  NULL);
                RtlZeroMemory = (void (__stdcall *)(void *dst, int count))GetProcAddress(GetModuleHandle("KERNEL32.DLL"), "RtlZeroMemory");

                RtlZeroMemory(bAlphabet,sizeof(bAlphabet));
                RtlZeroMemory(szPassword,sizeof(szPassword));
                RtlZeroMemory(&over,sizeof(OVERLAPPED));
                over.hEvent=NULL;

                CharToOemW(argv[1],szAlphabet);

                i=0;
                while (TRUE)
                {
                        bAlphabet[k] = (unsigned char)szAlphabet[i];
                        if (!szAlphabet[i])
                                break;
                        k = (unsigned char)szAlphabet[i];
                        i++;
                }

                while (TRUE)
                {
                        __asm
                        {
                                pushad
                                        mov edi,offset szPassword
                                        mov ebx,offset bAlphabet
                                L1: movzx eax,byte ptr [edi]
                                        xlat
                                        cmp al,0
                                        je L3
                                        mov [edi],al
                                        jmp L5

                                L3: xlat
                                        stosb
                                        jmp L1

                                L5: popad
                        }
                        i=wsprintfA(buf,"%s\n", szPassword);
                        WriteFile(hFile,buf,i,(LPDWORD)&k,&over);
                        over.Offset+=i;
                }
                CloseHandle(hFile);
        }

        ExitProcess(0);
}

вот скомпилированный исходник в VS 2010 beta 2 (3 584 байта весит).
Параметры запуска: pass_gen 0123456789 file_out.txt
0123456789 - это алфавит для генерации пароля.
как надоест нажмите Ctrl+C

AlexTheC0d3r 03.04.2010 14:54

Цитата:

Сообщение от Gar|k
вот скомпилированный исходник в VS 2010 beta 2 (3 584 байта весит).
Параметры запуска: pass_gen 0123456789
0123456789 - это алфавит для генерации пароля.

Ну ты как всегда :)

Цитата:

По сабжу, я бы добавил выбор множеств символов для генирации, допустим [a...z], [0...9] и т.д.
это там и есть... вводишь алфавит для генерации, и генерирует все что можно из него скомбинировать

оlbaneс 03.04.2010 16:45

все кто выкладывают исходники без комментов будут гореть в аду.

Berman 03.04.2010 16:48

Цитата:

Сообщение от оlbaneс
все кто выкладывают исходники без комментов будут гореть в аду.

:D
+1


Время: 16:20