-
Pontszám
20 -
Csatlakozott
-
Utoljára itt járt
Tartalom típusa
Profiles
Fórumok
Articles
Posts posted by ohgr
-
-
windows update ???
-
Szerintem a problémát a meghívott HTML-ben lévő hivatkozások ' <a target="_parent"... ' tagje okozza.
<li><a target="_parent" href="mullpolya.html"><img src="./images/kotszer/kotszer/420485-002.jpg" alt="" width="145" height="100" /></a><br>mull pólya 37.- Ft</li>
-
-
Köszönöm a segítséget.
Akkor Rainbow tábla lesz....
-
Nem egy jelszógenerátort próbáltam, s ez a leggyorsabb
Próbáld ki pl. 6 karakterrel (16.62 GByte) ezt, és egy másikat....
-
Sajnos nem tudom értelmezni a forráskódot, de mit csinál ez a cucc, ha a probléma még mindig fent áll? Tehát mi nem jó ebben a progiban.
Egyébként megírtam a programot sorba menve is, de még a felénél sem jár és a txt már 1 gigás, nem tudom mi a fenéhez kellhet neked cirka 1,2 billió darab 8 karakteres jelszó, elárulhatnád
A probléma: egy jelszón belül egy karakter csak egyszer szerepeljen.
A fenti program minden lehetséges variációt elkészít,hihetetlen gyorsan...
...csak éppen a végeredmény több, mint 26TByte (az 1,2 billió darab jelszóval számolva)
De ha minden egyes jelszóban csak egyszer szerepel minden egyes karakter,
az eredmény jóval kisebb és kezelhetőbb lesz. (feltételezéseim szerint)
Lefordított forrás mellékelve.pwlistgen.zip
-
Nos... van egy ilyen kódom C-ben:
#include <string.h> #include <windows.h> #include <stdio.h> #include <math.h> typedef unsigned long long int64; // config char configfile[] = "settings.ini"; char outputfile[ 1<<7 ]; char charset[ 1 << 9 ]; int maxPWLength = 5; // local vars int cursorPosition = 0; int offsetCursor = 0; int currentLength = 1; char currentPassword[ 1<<7 ]; int64 estfilesize = 0; int64 charswritten = 0; int lastpercentage = 0; FILE *fp; int64 pow64(unsigned int base, unsigned int exp) { int64 result = 1; for (unsigned int v=0; v < exp; v++) result *= base; return result; } void Processbar() { int percentage = (charswritten * 100) / estfilesize; if (percentage > 100) percentage = 100; char bar[51] = ""; ZeroMemory(bar, sizeof(bar)); if (percentage > lastpercentage) { lastpercentage = percentage; int bars = percentage / 2; for (int z=0; z <= bars; z++) bar[z] = '|'; printf("\r [ %-50.50s ] [ %d%% ]", bar, percentage); } } void WritePassword(char* password) { fprintf(fp, "%s\n", currentPassword); charswritten += strlen(password) + 2; Processbar(); } BOOL GeneratePosition(int position) { for (unsigned int x=0; x < strlen(charset); x++) { currentPassword[position] = charset[x]; if (position > 0) GeneratePosition(position-1); if (((position > 0) && (currentPassword[position] != charset[0])) || (position == 0)) WritePassword(currentPassword); } if (cursorPosition == maxPWLength-1) return FALSE; return TRUE; } int main(int argc, char* argv[]) { // -> main routine // parse configuration file char path[ 1<<9 ]; GetCurrentDirectory( sizeof(path)-1, path); char absconfigfile[ 1<<10 ]; sprintf(absconfigfile, "%s\\%s", path, configfile); GetPrivateProfileString("PWListGen", "outputfile", "passwords.txt", outputfile, sizeof(outputfile)-1, absconfigfile); GetPrivateProfileString("PWListGen", "charset", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", charset, sizeof(charset)-1, absconfigfile); maxPWLength = GetPrivateProfileInt("PWListGen", "maxPWLength", 4, absconfigfile); cursorPosition = GetPrivateProfileInt("PWListGen", "minPWLength", 1, absconfigfile)-1; if (maxPWLength < cursorPosition+1) maxPWLength = cursorPosition+1; for (int x=0; x<=cursorPosition; x++) currentPassword[x] = charset[0]; // set startpassword // calculate estimated filesize /*double estfilesize = 0; for (int x=1; x <= maxPWLength; x++) estfilesize += (pow( strlen(charset), x) * (x+2));*/ // inaccurate for (int x=1; x <= maxPWLength; x++) estfilesize += pow64(strlen(charset), x) * (x+2); // combinations * length of combination and \r\n char estfilesizestr[ 1<<7 ] = ""; if (estfilesize < 1024LL) sprintf(estfilesizestr, "%.2f Bytes", (double)estfilesize); else if (estfilesize < pow64(1024,2)) { sprintf(estfilesizestr, "%.2f kBytes", (double)estfilesize / 1024LL); } else if (estfilesize < pow64(1024,3)) sprintf(estfilesizestr, "%.2f MBytes", (double)estfilesize / pow64(1024,2)); else if (estfilesize < pow64(1024,4)) sprintf(estfilesizestr, "%.2f GBytes", (double)estfilesize / pow64(1024,3)); else if (estfilesize < pow64(1024,5)) sprintf(estfilesizestr, "%.2f TBytes", (double)estfilesize / pow64(1024,4)); else sprintf(estfilesizestr, "too big"); // open filehandle if (fp = fopen(outputfile, "w")) { printf(" + Config:\n\n"); printf(" - output file = %.48s\n", outputfile); printf(" - charset = [%.256s]\n", charset); printf(" - min. password length = %d\n", cursorPosition+1); printf(" - max. password length = %d\n", maxPWLength); printf(" \n"); printf(" + Estimated file size: %.48s\n\n", estfilesizestr); printf(" + Opened %.48s successfully... Attempting to write now...\n\n", outputfile); // doing that generating process while (GeneratePosition(cursorPosition)) cursorPosition++; // close filehandle fclose(fp); printf("\n\n + Done. \n\n"); getchar(); } return 0; }
Van processbar, előre kiszámolja a 'passwords.txt' állomány várható méretét.
A program a futás során egy külső 'settings.ini' állományból tölti be a szükséges configot.
Példa a 'settings.ini'-re:
[PWListGen] outputfile=passwords.txt charset=abcdefghijklmnopqrstuvwxyz0123456789 maxPWLength=8 minPWLength=8
A problémámról meg már bőven írtam...
-
Köszönöm.
Jó az elképzelés, de...sajnos nagyon lassú...
... közel tíz perc alatt csupán 246.500 jelszó készült el...
Így azt mondom: a random megoldás nem jó, sorba kell haladni...
-
Köszönöm.
Én egyébként úgy csinálnám, hogy egy tömbben eltárolnám a karakterláncot (a-z; 0-9),
majd innen karakterenként kiolvasva kerünének egymás után a már 8 karakteres
'jelszavak' a txt állományba. Így minden variáció létrejönne.
A kérdés az, hogy lehet megoldani azt, hogy adott hosszúságú karakterláncon belül
minden karakter csak egyszer szerepeljen, ugyanakkor az összes variáció meglegyen.
-
Üdv Mindenkinek!
A következő problémára kellene megoldás, ill. segítség:
Olyan jelszó lista generátor-t szeretnék létrehozni, ami
adott hosszúságú karakterláncot hoz létre, úgy, hogy
minden karaktert csak egyszer használ fel egy karakterláncon belül
miközben az összes létező variációt létrehozza, a kimenete
pedig egy .txt kiterjesztésű fájl lenne.
(Tehát, pl. 8 karakter hosszúságú karakterláncban a-z
és 0-9 karakterek felhasználásával pl. ilyen 'jelszavakat'
írna a kimenetbe: a1c9efgh, bcds4a8z ... , vagyis
egy karakter sem ismétlődik a karakterláncon belül)
-
kb. 300-400 wattal túlméretezed, de nem baj...lehet majd bővíteni
PSU Wattage Calculator
http://www.thermaltake.outervision.com/
-
...vagy BIOS-ban átállítod a merevlemez kezelését IDE módra
...vagy integrálsz a telepítőbe SATA drivereket (driverpacks.net)
-
jó lenne tudni mit tartalmaz az sql fájl...kapcsolódáshoz pedig be kell állítani a connection.php vagy vmi hasonlóban a paramétereidet
-
...hogy, ki milyen szagú azt igazából a nyári hőségben érzékelhetjük...
-
mi van ?
ki látta 11 milliárd fényév távolságból a vizet ?
-
minden ami az időutazásról szól jelenleg egy rakás teória...akárcsak az evolúció
teóriák, melyeket igyekszünk alátámasztani vagy épp ellenkezőleg, megcáfolni...
...kellenének a jövő heti nyertes lottószámok, sürgősen!
köszönöm.
Telepítsünk Hydrát Windowsra.
in Csevegés
Posted