Program v c++ problém – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Program v c++ problém – C / C++ – Fórum – Programujte.comProgram v c++ problém – C / C++ – Fórum – Programujte.com

 

Peterop
~ Anonymní uživatel
6 příspěvků
30. 1. 2012   #1
-
0
-

Ahojte,
potrebujem radu. Mám program spraveny v c++ na manipuláciu kontaktov. no pri spustení v MVS vypíše chybu: Unhandled exception at 0x01245870 in zadanie.exe: 0xC0000005: Access violation writing location 0x00000000.

keď ho spustím ako exe súbor tak zasa windovs vypíše: program prestal pracovať.
problém bude v databazovom súbore data.txt, pretože ak je prazdny tak to funguje. Akonáhle však súbor naplním údajmi, vyhadzuje tieto chyby.

viete v čom môže byť problém?
ďakujem

Nahlásit jako SPAM
IP: 178.41.23.–
KIIV
~ Moderátor
+43
God of flame
30. 1. 2012   #2
-
0
-

smatas kam nemas... bez kodu ti nikdo vic nerekne

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Peterop
~ Anonymní uživatel
6 příspěvků
30. 1. 2012   #3
-
0
-

#2 KIIV
prikladám kód:

#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <conio.h>


typedef struct clovek{  
        char meno[10];
        char priezv[12];
        char narod[15];
        char mesto[15];
        int exist;  //Urcuje ci kontakt je ulozeny.
        }clovek;
       
clovek *p;   // Pointer na zaciatok pola struktur.
FILE *f;     // Pointer na vystupny subor;
FILE *r;     // Pointer na vstupny subor
int poc;     // Urcuje rozsah pola struktur.
int uloz=0;  // Urcujuce kolko kontaktov je ulozenych.
int zac=1;


/******************************************************************************/
/*Zoznam uplnych fukncnych prototypov funkcii:                                */

void menu();                       //Funckia pre vykreslovanie menu                       
void reset();                      //Funkcia pre alokovanie a resetovanie pamate
void pridaj();                     //Pridavanie kontaktov do pamate
void uprav();                      //Upravvanie kontaktov
void pis_obr();                    //Zobrazenie kontaktov na obrazovku
void pis_sub();                    //Vystup do suboru
void najdi();                      //Hladanie kontaktu- menu hladania
void vymaz();                      //Vymazanie kontaktu - podla priezviska     
void utried_m();                   //Utriedi kontakty - podla priezviska
void p_mena();                     //Vyhlada podla krstneho mena
void p_priezv();                   //Vyhlada podla priezviska
void p_narod();                    //Vyhlada podla
void poriadok();                   //Presunutie zaznamov tesne vedla seba,
                                   //aby neboli rozhadzane v poli.
void kontrola();
void vymena(clovek *,clovek *);
void txt_citaj();
void tlac_zdroj();

/******************************************************************************/


using namespace std;


int main(int argc, char *argv[])
{
    reset();  // vytvorime pole struktur (default 100)
    txt_citaj(); // Nacitame kontakty zo suboru.
    menu();
    tlac_zdroj(); //Vytlacime kontakty do suboru z ktoreho budeme neskor citat
    return EXIT_SUCCESS;
}

void reset()
{
    
     system("cls");
     if(zac==0)
     {
               printf("Kolko pamatovach miest chcete vytvorit?: ");
               scanf("%d",&poc);
     }
     else
     {
         poc=100;
         zac=0;
     }
    
     if((p=(clovek*) malloc(sizeof(clovek)*poc))==NULL){
                                                        printf("\nChyba pri vytvarani zoznamu!\n");
                                                        system("pause");
                                                        reset();
                                                        }
     else{
          for(int i=0;i<poc;i++){
                                 p[i].exist=0;
                                 }
          uloz=0;
          printf("\nZoznam bol uspesne vytvoreny\n");
          system("pause");
          return;
          }
}

void menu()
{
     char volba;
     do{
     system("color 2E");
     system("cls");
     printf("\t   *************** Program Zoznam osob *************\n\n\n\n");
     printf("\t1. Pridat kontakt.\n");
     printf("\t2. Upravit kontakt.\n");
     printf("\t3. Zmazat kontakt.\n");
     printf("\t4. Vypisat kontakty na obrazovku.\n");
     printf("\t5. Vypisat kontakty do suboru.\n");
     printf("\t6. Vyhladat kontakt.\n");
     printf("\t7. Nacitat kontakty zo suboru.\n");
     printf("\t8. Resetovat pamat.\n\n");
     printf("\t9. Koniec programu.\n\n\n");
     printf("Ulozenych kontaktov: %d Volna pamat: %d Celkova pamat: %d\n\n\n",uloz,(poc-uloz),poc);
     printf("\t\tVasa volba: ");
     fflush(stdin);
     volba=getch();
    
     //Osetrenie vstupu. Ak volbe nieje ziadna z moznosti menu prirad jej hodnotu 0. To znamena ze sa vypise chybova hlaska.
     if (!(volba=='1' || volba=='2' || volba=='3' || volba=='4' || volba=='5' || volba=='6' || volba=='7'
         || volba=='8' || volba=='9')) volba='0';
    
     switch (volba){
            case '0':
                 system("cls");
                 system("color 04");
                 printf("\nZadali ste chybnu volbu\n\n");
                 system("pause");
                 break;
            case '1':
                 pridaj();
                 break;
            case '2':
                 uprav();
                 break;
            case '3':
                 vymaz();
                 poriadok();
                 break;
            case '4':
                 pis_obr();
                 break;
            case '5':
                 pis_sub();              
                 break;
            case '6':
                 najdi();
                 break;
            case '7':
                 txt_citaj();
                 break;
            case '8':
                 free(p);
                 p=NULL;
                 reset();
                 break;
            case 'k':
                 kontrola();
                 break;
                    }
     if(volba=='1' || volba=='2' || volba=='3' || volba=='7')utried_m();
     }while(volba!='9');
}

void pridaj()
{
     int i=0;
     int hotovo=1;           //Ukazuje ci kontakt uz bol ulozeny alebo nie.    
    
     system("cls");
    
     //Otestovanie volnej pamate, ak je malo miesta navrat do menu.
     if(uloz==poc){
                   fprintf(stdout,"Nie je volna pamat\n");
                   system("pause");
                   return;
                   }
     /*Cyklus precesava pole zaznamov. Ak najde pradzne miesto a zaroven este
     nebol kontakt ulozeny (hotovo=1), takt od uzivately nacita udaje.       */
                
     while(i<=poc){
                  if(p[i].exist==0 && hotovo){
                                              hotovo=0;
                                              uloz++;
                                              p[i].exist=1;
                                              puts("Meno: ");
                                              gets(p[i].meno);
                                              puts("Priezvisko: ");
                                              gets(p[i].priezv);
                                              puts("Datum narodenia: ");
                                              gets(p[i].narod);
                                              puts("Mesto: ");
                                              gets(p[i].mesto);
                                              }
                  i++;
                  }
     printf("\nKontakt bol ulozeny.\n\n");
     system("pause");
     return;
}

void pis_obr()
{
     int i=0;
     int vypis=0;    //Premenna ukazuje kolko kontaktov bolo vypisanych na obrazovku
     int prazdny=1;  //Overenie ci mame ulozene nejake kontakty.
    
     system("cls");
     for(i=0;i<poc;i++){
                        if(p[i].exist==1){                                            //Narazili sme na kontakt.
                                          prazdny=0;                                  //Mame teda nieco ulozene, tak to vypiseme.
                                          printf("Priezvisko: %s\n",p[i].priezv);
                                          printf("Meno: %s\n",p[i].meno);
                                          printf("Datum narodenia: %s\n",p[i].narod);
                                          printf("Mesto: %s\n",p[i].mesto);
                                          printf("\n\n");
                                          vypis++;                                   //Inkrementujeme pocitadlo.
                                          if(vypis==3){                              //Ak pocitadlo je rovne 3.
                                                       vypis=0;                      //Vynulujeme ho.
                                                       system("pause");              //A odpauzujeme.
                                                       system("cls");                //Vycistíme.
                                                       }
                                          }
                        }
     if(prazdny==1){                                                                 //Ak pocas cyklu nenarazime na ziadny kontakt
                    printf("\nZoznam je prazdny!\n");                                 //Prazdny sa teda stale rovna 0
                    }
     system("pause");
     return;
}

void pis_sub()
{
     int prazdny=1;   //Overenie ci mame ulozene nejake kontakty, predpokladame ze ziadne.
    
     if((f=fopen("zoznam.txt","w"))==NULL){                                      //Test otvarania suboru
                                             printf("Chyba pri otvarani suboru, nie je mozne zapisovat na disk!\n");
                                             return;
                                             }
     for(int i=0;i<poc;i++){
                            if(p[i].exist==1){                                      //Rovnaky cyklus ako pri vystupe na obrazovku.
                                              prazdny=0;
                                              fprintf(f,"Priezvisko: %s\n",p[i].priezv);
                                              fprintf(f,"Meno: %s\n",p[i].meno);
                                              fprintf(f,"Datum narodenia: %s\n",p[i].narod);
                                              fprintf(f,"Mesto: %s\n",p[i].mesto);
                                              fprintf(f,"\n\n");
                                              }
                            }
     if(prazdny==1){
                  printf("\nZoznam je prazdny!\n");
                  system("pause");
                  }
     else{
          printf("Zoznam bol uspesne vytlaceny\n\n");
          system("pause");
          }
     fclose(f);
                                                     //Zatvorime subor.
     return;
}                
                                             
    
    
void uprav()
{
     char priezv[10];
     int i=0;
     int j=0;
     int najdeny=0;
     int prazdny=0;
         
     system("cls");
    
     for(i=0;i<poc;i++){
                        if(p[i].exist){
                                       prazdny=1;
                                       }
                        }
     if(prazdny==0){
                    printf("\nZoznam je prazdny!\n");
                    system("pause");
                    return;
                    }

     printf("\nZadajte meno kontaktu, ktory chcete upravit: \nPoz: upravi posledny vyhovujuci kontakt!\n");
     scanf("%s",&priezv);
     for(i=0;i<poc;i++){
                        if(strcmp(p[i].priezv,priezv)==0){
                                                      j=i;
                                                      najdeny=1;
                                                      }
                        }
         
     if(najdeny){
                 prazdny=1;
                 printf("\nKontakt najdeny, mozete zadavat nove udaje:\n ");
                 printf("\nMeno: ");
                 scanf("%s",p[j].meno);
                 printf("\nPriezvisko: ");
                 scanf("%s",p[j].priezv);
                 printf("\nDatum narodenia: ");
                 scanf("%s",p[j].narod);
                 printf("\nMesto: ");
                 scanf("%s",p[j].mesto);
                 system("pause");
                 return;
                 }
          else{
               printf("\nKontakt nebol najdeny\n");
               system("pause");
               return;
               }
}

void najdi()
{
     char vol;
     system("cls");
     int prazdny=0;
    
     if(uloz==0)
     {
                system("cls");
                printf("Zoznam je prazdny\n");
                system("pause");
                return;
     }
                   
     printf("\nPodla akeho kluca chcete vyhladavat?\n");
     printf("1. Podla krstneho mena.\n");
     printf("2. Podla priezviska.\n");
     printf("3. Podla datumu narodenia.\n");
     printf("4. Navrat do menu.\n\n");
     printf("\tVasa volba: ");
     scanf("%d",&vol);
         
     switch (vol){
            case 1:
                 p_mena();
                 break;
            case 2:
                 p_priezv();
                 break;
            case 3:
                 p_narod();
                 break;
            case 4:
                 return;
                 break;
                 }
}


void p_mena()
{
     char meno[10];
     int i;
     int najdeny=0;

     printf("\nZadajte krstne meno kontaktu, ktory chcete najst: ");
     scanf("%s",&meno);
     for(i=0;i<poc;i++){
                        if(strcmp(p[i].meno,meno)==0){
                                                      najdeny=1;
                                                      printf("Meno: %s\n",p[i].meno);
                                                      printf("Priezvisko: %s\n",p[i].priezv);
                                                      printf("Datum narodenia: %s\n",p[i].narod);
                                                      printf("Mesto: %s\n",p[i].mesto);
                                                      printf("\n\n");
                                                      }
                        }

          if(najdeny==0){
                         printf("\nKontakt nebol najdeny\n");
                         system("pause");
                         return;
                         }
          system("pause");
          return;
         
}

void p_priezv()
{
     char priezv[15];
     int i;
     int najdeny=0;

     printf("\nZadajte priezvisko kontaktu, ktory chcete najst: ");
     scanf("%s",&priezv);
     for(i=0;i<poc;i++){
                        if(strcmp(p[i].priezv,priezv)==0){
                                                          najdeny=1;
                                                          printf("Meno: %s\n",p[i].meno);
                                                          printf("Priezvisko: %s\n",p[i].priezv);
                                                          printf("Datum narodenia: %s\n",p[i].narod);
                                                          printf("Mesto: %s\n",p[i].mesto);
                                                          printf("\n\n");
                                                          }
                        }

          if(najdeny==0){
                         printf("\nKontakt nebol najdeny\n");
                         system("pause");
                         return;
                         }
          system("pause");
          return;
         
}

void p_narod()
{
     char narod[15];
     int i;
     int najdeny=0;


     printf("\nZadajte datum narod kontaktu, ktory chcete najst: ");
     scanf("%s",&narod);
     for(i=0;i<poc;i++){
     if(strcmp(p[i].narod,narod)==0){
                                     najdeny=1;
                                     printf("Meno: %s\n",p[i].meno);
                                     printf("Priezvisko: %s\n",p[i].priezv);
                                     printf("Datum narod: %s\n",p[i].narod);
                                     printf("Mesto: %s\n",p[i].mesto);
                                     printf("\n\n");
                                     }
                        }

          if(najdeny==0){
                         printf("\nKontakt nebol najdeny\n");
                         system("pause");
                         return;
                         }
          system("pause");
          return;
         
}

void vymaz()
{
     int i;
     char priezv[12];
     int prazdny=0;
     int najdeny=0;
    
     for(int j=0;j<poc;j++){
                            if(p[j].exist){
                                           prazdny=1;
                                           }
                            }
     if(prazdny==0){
                    printf("\nZoznam je prazdny!\n");
                    system("pause");
                    return;
                    }

     printf("Zadajte priezvisko kontaktu, ktory chcete vymazat: ");
     scanf("%s",priezv);
     for(i=0;i<poc;i++)
     {
             if(strcmp(p[i].priezv,priezv)==0)
             {
                                              najdeny=1;
                                              break;
             }
     }
     if(najdeny)
     {
                p[i].exist=0;
                uloz--;
                printf("Kontakt bol uspene vymazany.\n");
     }
     else printf("Kontakt nebol najdeny\n");
     system("pause");
     return;
}

void vymena(clovek *x, clovek *y)
{
     clovek pom;
     pom=*x;
     *x=*y;
     *y=pom;
     return;
}

void utried_m()
{
     int i=0;
     int j=0;
        
     do{
         j=i;
         if(p[j].exist==1 && p[j+1].exist==1){
                          while(j>=0 && strcmp(p[j].priezv,p[j+1].priezv)==1){
                                                              vymena(&p[j],&p[j+1]);
                                                              j--;
                                                              }
                          if(strcmp(p[j].priezv,p[j+1].priezv)==0 &&
                             strcmp(p[j].meno,p[j+1].meno)==1)
                             {
                                                              vymena(&p[j],&p[j+1]);
                             }
                                                             
                          }
         i++;
         }while(i<=poc);
         return;
}                                         

void poriadok()
{
     int i=0;
     int presun=0;
    
     do{
        if(p[i].exist==0 && p[i+1].exist==1){
                         p[i]=p[i+1];
                         p[i+1].exist=0;
                         presun==1;
                         }
        else presun=0;
        i++;
        }while(i<=poc);
}          
                     
void kontrola()
{
     system("cls");
     printf("Kontrolný vypis\n\n");
     for(int i=0;i<poc;i++)
     {
             printf("%d\n",p[i].exist);
     }
     system("pause");
     return;
}

void tlac_zdroj()
{
     system("cls");
     int prazdny=1;  // predpokladame ze zoznam je prazdny
                                              
     if(uloz==0){system("pause"); return;}

     if((r=fopen("data.txt","w"))==NULL){      //otvorime subor pre pisanie a overime jeho otvorenie
                                               printf("Chyba pri otvarani suboru\n");
                                               system("pause");
                                               return;
                                               }
     else{                                     //Ak bol subor uspesne otvoreny zacneme do neho zapisovat.
          //fprintf(r,"%d\n",uloz);
          for(int i=0;i<poc;i++){             //Prejdeme celym polom a zapiseme existujuce zaznamy.
                  if(p[i].exist==1){
                                    fprintf(r,"%s %s %s %s %s %s\n",p[i].meno,p[i].priezv,p[i].narod,p[i].mesto);
                                   
                                   }
                     

Nahlásit jako SPAM
IP: 178.41.23.–
vitamin+8
Grafoman
31. 1. 2012   #4
-
0
-

Vloz sem len tu cast kodu ktora ti nejde a vloz to ako zdrojovy kod nech sa to lepsie cita.

Nahlásit jako SPAM
IP: 178.143.60.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
liborb
~ Redaktor
+18
Guru
1. 2. 2012   #5
-
0
-

A když tvrdíš, že to padá při načítání ze souboru, tak předpokládám, že je to funkce txt_citaj(), kterou si sem ani nedal.

Nahlásit jako SPAM
IP: 78.80.52.–
Pudni tvor+2
Stálý člen
1. 2. 2012   #6
-
0
-

Pozor, na několika místech překračuješ meze toho pole p které si v reset() vytváříš:

p=(clovek*) malloc(sizeof(clovek)*poc))

- tzn můžeš šahat p[0]p[poc-1]

Ale dál v kódu přistupuješ i do p[poc]a p[poc+1], namátkově :

// ve funkci pridaj() :  

  while(i<=poc){
    if(p[i].exist==0                           

// ve funkci utried_m() :

         do{
         j=i;
         if(p[j].exist==1 && p[j+1].exist==1){
                             ...
                          }
         i++;
         }while(i<=poc);
         return;

// ve funkci poriadok() :

       do{
        if(p[i].exist==0 && p[i+1].exist==1){
                         p[i]=p[i+1];
                         p[i+1].exist=0;
                         presun==1;
                         }
        else presun=0;
        i++;
        }while(i<=poc);
Nahlásit jako SPAM
IP: 90.180.213.–
Peterop
~ Anonymní uživatel
6 příspěvků
1. 2. 2012   #7
-
0
-

#6 Pudni tvor
Dakujem za odpoved no nejako nechápem čo tam mám konkrétne zmeniť aby to nerobilo. Mohol by si mi to prosim ťa napisať ako mam zmeniť tú čast kodu?

Nahlásit jako SPAM
IP: 91.127.25.–
Pudni tvor+2
Stálý člen
1. 2. 2012   #8
-
0
-

#7 Peterop

To bylo upozornění čeho jsem si náhodou všiml. Ne.
 

Nahlásit jako SPAM
IP: 90.180.213.–
Pudni tvor+2
Stálý člen
1. 2. 2012   #9
-
0
-

hoď sem ještě tu funkci txt_citaj() jak psal liborb

Nahlásit jako SPAM
IP: 90.180.213.–
Peterop
~ Anonymní uživatel
6 příspěvků
2. 2. 2012   #10
-
0
-

void txt_citaj()
{
     system("cls");
     int poc0;
     int i=0;
     int znak;
    
     if((r=fopen("data.txt","r"))==NULL){     //Overime otvorenie suboru pre citanie.
                                              printf("Chyba pri otvarani suboru!!\n");
                                              system("pause");
                                              return;
                                              }
                 
     while(!feof(r)){   //Citame zo suboru pokial neprideme na jeho koniec.
                     while(p[i].exist==1){  //Najdeme si najblizsiu volnu poziciu v poli.
                                          i++;
                                          }
                                              //A ulozime do nej kontakt
                     fscanf(r,"%s %s %s %s %s %s\n",p[i].meno,p[i].priezv,p[i].narod,p[i].mesto);
                     p[i].exist=1;
                     uloz++;
                     if(poc==uloz)
                     {
                                  p=(clovek*) realloc(p,100*sizeof(clovek));
                                  poc+=100;
                                  if(p==NULL)
                                  {
                                             reset();
                                             return;
                                  }
                     }
                     i++;
                     }
                    
     fclose(r);
     printf("Zoznam bol uspesne nacitany\n");
     system("pause");
     return;
}

int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}

Nahlásit jako SPAM
IP: 95.103.212.–
Pudni tvor+2
Stálý člen
2. 2. 2012   #11
-
0
-

v fscanf máš 6x %s ale jen 4 ukazatele kam se ty položky mají uložit, zbytek pujde kdovikam a proto to vyhazuje tu chybu:

fscanf(r,"%s %s %s %s %s %s\n",p[i].meno,p[i].priezv,p[i].narod,p[i].mesto);

Nahlásit jako SPAM
IP: 90.180.213.–
KIIV
~ Moderátor
+43
God of flame
2. 2. 2012   #12
-
0
-

taky hledat pokazdy pozici je jedna basen... a co je jeste lepsi, vubec nekontrolujes, jestli mas tolik naalokovano mista

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Pudni tvor+2
Stálý člen
2. 2. 2012   #13
-
0
-

Jo, jak říká KIIV. A tu realokaci máš taky podivnou, vůbec nezvětšuješ to místo, jen ho realokuješ se stejnou velikostí a ještě za tím vtipně poc += 100:

p=(clovek*) realloc(p,100*sizeof(clovek));
                                  poc+=100;

Kód děs běs, budu mít z toho noční můry. :)

Nahlásit jako SPAM
IP: 90.180.213.–
Peterop
~ Anonymní uživatel
6 příspěvků
2. 2. 2012   #14
-
0
-

Super,  už to nevyhadzuje tú chybu. Pritom som si to krokoval viac krát a nevšimol som si to.

som len začiatočník tak sa ospravedlnujem. prosim ťa mohol by si mi napisať čo mam zle v kode? čo by som mal ako opraviť a vyvarovať sa chyb?

dakjuem

Nahlásit jako SPAM
IP: 95.103.212.–
Pudni tvor+2
Stálý člen
2. 2. 2012   #15
-
0
-

To je zase nějaká školní úloha. Nebudem ti tu přece psát kuchařku co máš kde jak udělat.
Tu chybu na kterou si se ptal máš opravenou. Pár rad i mimo původní otázku jsi tu dostal.
Krokuj si to jestli to dělá co má, zkus na to přijít sám. Na co přijdeš sám má pro tebe stokrát vyšší hodnotu a budeš si to pamatovat. Teprve když si nebudeš s nějakou konkrétní věcí či chybou vědět rady se ozvi. Když to jasně specifikuješ, a problémový zdrojový kód do přízpěvku vložíš tlačítkem "vložit zdrojový kód", lidi ti jistě rádi pomůžou. V tomhle dlouhém, nepřehledném kódu má málokdo chuť se hrabat a hledat kde by mohl být problém.

Hodně zdaru.

Nahlásit jako SPAM
IP: 90.180.213.–
Peterop
~ Anonymní uživatel
6 příspěvků
2. 2. 2012   #16
-
0
-

Ok. Tak si to postupne prejdem a hlavne si viac naštudujem c-čko a porobim pár cvičných príkladov aby som to lepšie pochopil.

Ďakujem za rady. Keby niečo, tak sa ozvem.

Nahlásit jako SPAM
IP: 95.103.212.–
Yami0
Duch
14. 3. 2012   #17
-
0
-

ahoj.

Mám problém s programem. Potřebuju udělat program který by našel uložený hesla ve windows 7, problém je že nevím jak ty hesla přes C++ vyvolat.

Předem díky za odpověď

Nahlásit jako SPAM
IP: 90.183.25.–
stif+1
Stálý člen
14. 3. 2012   #18
-
0
-
Nahlásit jako SPAM
IP: 95.102.254.–
Autor programuje v programovacích jazykoch C++ a VB. Je tvorcom e-zinu http://www.programujte.6f.sk/, na ktorom sa nachádzaju info pre začínajúcich prog. a webdesignerov. Stránka zahrňuje aj fórum.
Yami0
Duch
14. 3. 2012   #19
-
0
-

#18 stif
Ovládám. Mě jen zajímá kam windows 7 ukládají hesla, abych si je pak mohl vyvolat. A to kam to win7 ukládají nemůžu nikde najít proto se ptám.

Nahlásit jako SPAM
IP: 90.183.25.–
stif+1
Stálý člen
14. 3. 2012   #20
-
0
-

#19 Yami
uff tak to bude veľmi zložité...malo by existovať určite cookies, ale to sa skartuje...myslím, že vyndows len vyhodnotí heslo schváli, ale pravdepodobne neuloží...ak tak len do toho cookies, ktoré neskôr sám skartuje...

Nahlásit jako SPAM
IP: 95.102.254.–
Autor programuje v programovacích jazykoch C++ a VB. Je tvorcom e-zinu http://www.programujte.6f.sk/, na ktorom sa nachádzaju info pre začínajúcich prog. a webdesignerov. Stránka zahrňuje aj fórum.
yaqwsx+9
Posthunter
14. 3. 2012   #21
-
0
-

Já bych se zeptal jinak: Která hesla? Hesla pro přihlašování k uživatelským účtům?

Ta jsou uložena v souboru c:\windows\system32\configure\sam. Resp. tam nejsou uložena přímo - je zde uložen pouze hash hesla - původní heslo není již možné získat zpět.

Nahlásit jako SPAM
IP: 85.160.39.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
KIIV
~ Moderátor
+43
God of flame
14. 3. 2012   #22
-
0
-

#21 yaqwsx
good joke.. sem testoval nejakej password cracker a behem par minut bylo rozlusteny i pomerne slozity... kratky bylo hned

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
yaqwsx+9
Posthunter
14. 3. 2012   #23
-
0
-

#22 KIIV
Tak to jsem netušil. Myslel jsem, že MS si dal na tomto opravdu záležet. Nemáš nějaké podrobnější informace (např. jaký je použit algoritmus, atd) - ptám se pro zajímavost.

Nahlásit jako SPAM
IP: 85.160.39.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
KIIV
~ Moderátor
+43
God of flame
14. 3. 2012   #24
-
0
-

to byl primo program... mel dve sady slovniku na rozheslovani... ale je to asi 2 nebo 3 roky co sem to testoval

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
KIIV
~ Moderátor
+43
God of flame
14. 3. 2012   #25
-
0
-

tak to vypada na Ophcrack .. ale vypada ze uz si aspon u win 7 udajne dal trosku zalezet a nejsou na to slovniky :)

Edit: a je to evidetne opensource takze se na zpusob klidne muzes podivat :D

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
yaqwsx+9
Posthunter
14. 3. 2012   #26
-
0
-

Zajímavé. Díky za info, jdu to nastudovat :D

Nahlásit jako SPAM
IP: 85.160.39.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 15 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý